32 lines
661 B
C++
32 lines
661 B
C++
/* SPDX-FileCopyrightText: 2024 Blender Authors
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
/** \file
|
|
* \ingroup bke
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <memory>
|
|
#include <string>
|
|
|
|
#include "BLI_set.hh"
|
|
|
|
namespace blender::bke {
|
|
|
|
/**
|
|
* A set of anonymous attribute names that is passed around in geometry nodes.
|
|
*/
|
|
class GeometryNodesReferenceSet {
|
|
public:
|
|
/**
|
|
* This uses `std::shared_ptr` because attributes sets are passed around by value during geometry
|
|
* nodes evaluation, and this makes it very small if there is no name. Also it makes copying very
|
|
* cheap.
|
|
*/
|
|
std::shared_ptr<Set<std::string>> names;
|
|
};
|
|
|
|
} // namespace blender::bke
|