|
Blender V5.0
|
#include <BKE_instances.hh>
Public Types | |
| enum class | Type { None , Object , Collection , GeometrySet } |
Public Member Functions | |
| InstanceReference ()=default | |
| InstanceReference (GeometrySet geometry_set) | |
| InstanceReference (const InstanceReference &other) | |
| void | to_geometry_set (GeometrySet &r_geometry_set) const |
| StringRefNull | name () const |
| bool | owns_direct_data () const |
| void | ensure_owns_direct_data () |
| void | count_memory (MemoryCounter &memory) const |
| uint64_t | hash () const |
#InstanceReference Inline Methods | |
| InstanceReference (Object &object) | |
| InstanceReference (Collection &collection) | |
| InstanceReference (std::unique_ptr< GeometrySet > geometry_set) | |
| InstanceReference (InstanceReference &&other) | |
| InstanceReference & | operator= (const InstanceReference &other) |
| InstanceReference & | operator= (InstanceReference &&other) |
| Type | type () const |
| Object & | object () const |
| Collection & | collection () const |
| GeometrySet & | geometry_set () |
| const GeometrySet & | geometry_set () const |
Friends | |
| bool | operator== (const InstanceReference &a, const InstanceReference &b) |
Holds a reference to conceptually unique geometry or a pointer to object/collection data that is instanced with a transform in Instances.
Definition at line 53 of file BKE_instances.hh.
|
strong |
| Enumerator | |
|---|---|
| None | An empty instance. This allows an InstanceReference to be default constructed without being in an invalid state. There might also be other use cases that we haven't explored much yet (such as changing the instance later on, and "disabling" some instances). |
| Object | |
| Collection | |
| GeometrySet | |
Definition at line 55 of file BKE_instances.hh.
|
default |
References b, collection(), geometry_set(), and InstanceReference().
Referenced by InstanceReference(), InstanceReference(), InstanceReference(), operator=(), operator=(), and operator==.
|
inline |
Definition at line 244 of file BKE_instances.hh.
References object().
|
inline |
Definition at line 248 of file BKE_instances.hh.
References collection().
| blender::bke::InstanceReference::InstanceReference | ( | GeometrySet | geometry_set | ) |
Definition at line 21 of file instances.cc.
References geometry_set().
|
inline |
Definition at line 239 of file BKE_instances.hh.
References geometry_set().
| blender::bke::InstanceReference::InstanceReference | ( | const InstanceReference & | other | ) |
Definition at line 27 of file instances.cc.
References InstanceReference().
|
inline |
Definition at line 253 of file BKE_instances.hh.
References InstanceReference(), and None.
|
inline |
Definition at line 291 of file BKE_instances.hh.
References BLI_assert, and Collection.
Referenced by BPy_GeometrySet_get_instance_references(), InstanceReference(), InstanceReference(), make_duplis_geometry_set_impl(), name(), and to_geometry_set().
| void blender::bke::InstanceReference::count_memory | ( | MemoryCounter & | memory | ) | const |
Definition at line 52 of file instances.cc.
References GeometrySet.
| void blender::bke::InstanceReference::ensure_owns_direct_data | ( | ) |
Definition at line 35 of file instances.cc.
References GeometrySet.
Referenced by blender::bke::Instances::ensure_owns_direct_data().
|
inline |
Definition at line 297 of file BKE_instances.hh.
References BLI_assert, and GeometrySet.
Referenced by BPy_GeometrySet_get_instance_references(), blender::geometry::extract_real_geometries_recursive(), blender::ed::view3d::geometry_nodes_gizmos::find_gizmo_geometry_transform_recursive(), blender::nodes::node_geo_input_instance_bounds_cc::InstanceBoundsField::get_varray_for_context(), InstanceReference(), InstanceReference(), InstanceReference(), make_duplis_geometry_set_impl(), name(), blender::nodes::node_geo_boolean_cc::node_geo_exec(), blender::geometry::reinsert_modified_geometry_recursive(), blender::geometry::remove_id_attribute_from_instances(), and to_geometry_set().
|
inline |
Definition at line 303 of file BKE_instances.hh.
References BLI_assert, and GeometrySet.
| uint64_t blender::bke::InstanceReference::hash | ( | ) | const |
Definition at line 143 of file instances.cc.
References blender::get_default_hash().
| StringRefNull blender::bke::InstanceReference::name | ( | ) | const |
Definition at line 120 of file instances.cc.
References Collection, collection(), geometry_set(), GeometrySet, Collection::id, Object::id, blender::bke::GeometrySet::name, ID::name, None, Object, and object().
Referenced by blender::nodes::node_geo_curves_to_grease_pencil_cc::curve_instances_to_grease_pencil_layers(), and blender::ed::spreadsheet::SpreadsheetLayoutDrawer::draw_content_cell_value().
|
inline |
Definition at line 285 of file BKE_instances.hh.
References BLI_assert, and Object.
Referenced by BPy_GeometrySet_get_instance_references(), blender::ed::spreadsheet::get_instance_reference_icon(), blender::nodes::node_geo_input_instance_bounds_cc::InstanceBoundsField::get_varray_for_context(), InstanceReference(), make_duplis_geometry_set_impl(), name(), blender::nodes::node_geo_boolean_cc::node_geo_exec(), and to_geometry_set().
|
inline |
Definition at line 260 of file BKE_instances.hh.
References InstanceReference().
|
inline |
Definition at line 270 of file BKE_instances.hh.
References InstanceReference().
| bool blender::bke::InstanceReference::owns_direct_data | ( | ) | const |
Definition at line 43 of file instances.cc.
References GeometrySet.
| void blender::bke::InstanceReference::to_geometry_set | ( | GeometrySet & | r_geometry_set | ) | const |
Converts the instance reference to a geometry set, even if it was an object or collection before.
Definition at line 94 of file instances.cc.
References blender::bke::GeometrySet::clear(), Collection, collection(), blender::bke::convert_collection_to_instances(), geometry_set(), GeometrySet, None, Object, object(), blender::bke::object_get_evaluated_geometry_set(), and blender::bke::GeometrySet::replace_instances().
Referenced by blender::nodes::node_geo_curves_to_grease_pencil_cc::curve_instances_to_grease_pencil_layers(), blender::geometry::foreach_geometry_in_reference(), blender::geometry::gather_attribute_propagation_components(), blender::geometry::gather_attribute_propagation_components_with_custom_depths(), and blender::ed::spreadsheet::get_geometry_set_for_instance_ids().
|
inline |
Definition at line 280 of file BKE_instances.hh.
Referenced by BPy_GeometrySet_get_instance_references(), blender::geometry::extract_real_geometries_recursive(), blender::ed::view3d::geometry_nodes_gizmos::find_gizmo_geometry_transform_recursive(), blender::ed::spreadsheet::get_instance_reference_icon(), blender::nodes::node_geo_input_instance_bounds_cc::InstanceBoundsField::get_varray_for_context(), make_duplis_geometry_set_impl(), blender::nodes::node_geo_boolean_cc::node_geo_exec(), blender::geometry::reinsert_modified_geometry_recursive(), and blender::geometry::remove_id_attribute_from_instances().
|
friend |
Definition at line 135 of file instances.cc.
References b, and InstanceReference().