31 if (instances_ !=
nullptr) {
32 new_component->instances_ =
new Instances(*instances_);
49 if (instances_ !=
nullptr) {
50 if (instances_->instances_num() > 0) {
59 if (instances_ !=
nullptr) {
60 return instances_->owns_direct_data();
67 if (instances_ !=
nullptr) {
68 instances_->ensure_owns_direct_data();
91 instances_ = instances;
92 ownership_ = ownership;
106 instances_->count_memory(memory);
GeometryComponent(Type type)
std::optional< MutableAttributeAccessor > attributes_for_write() final
void ensure_owns_direct_data() override
void count_memory(MemoryCounter &memory) const override
Instances * get_for_write()
const Instances * get() const
~InstancesComponent() override
bool is_empty() const final
GeometryComponentPtr copy() const override
bool owns_direct_data() const override
std::optional< AttributeAccessor > attributes() const final
void replace(Instances *instances, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
ImplicitSharingPtr< GeometryComponent > GeometryComponentPtr
const AttributeAccessorFunctions & instance_attribute_accessor_functions()