diff options
Diffstat (limited to 'source/blender/blenkernel/BKE_geometry_set_instances.hh')
-rw-r--r-- | source/blender/blenkernel/BKE_geometry_set_instances.hh | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/source/blender/blenkernel/BKE_geometry_set_instances.hh b/source/blender/blenkernel/BKE_geometry_set_instances.hh index 653450c7d8e..98120b07f2d 100644 --- a/source/blender/blenkernel/BKE_geometry_set_instances.hh +++ b/source/blender/blenkernel/BKE_geometry_set_instances.hh @@ -21,6 +21,11 @@ namespace blender::bke { /** + * \note This doesn't extract instances from the "dupli" system for non-geometry-nodes instances. + */ +GeometrySet object_get_evaluated_geometry_set(const Object &object); + +/** * Used to keep track of a group of instances using the same geometry data. */ struct GeometryInstanceGroup { @@ -39,12 +44,19 @@ struct GeometryInstanceGroup { Vector<float4x4> transforms; }; +/** + * Return flattened vector of the geometry component's recursive instances. I.e. all collection + * instances and object instances will be expanded into the instances of their geometry components. + * Even the instances in those geometry components' will be included. + * + * \note For convenience (to avoid duplication in the caller), the returned vector also contains + * the argument geometry set. + * + * \note This doesn't extract instances from the "dupli" system for non-geometry-nodes instances. + */ void geometry_set_gather_instances(const GeometrySet &geometry_set, Vector<GeometryInstanceGroup> &r_instance_groups); -GeometrySet geometry_set_realize_mesh_for_modifier(const GeometrySet &geometry_set); -GeometrySet geometry_set_realize_instances(const GeometrySet &geometry_set); - /** * Add information about all the attributes on every component of the type. The resulting info * will contain the highest complexity data type and the highest priority domain among every |