Blender V4.3
blender::bke::GeometrySet Struct Reference

#include <BKE_geometry_set.hh>

Public Types

using AttributeForeachCallback
 
using ForeachSubGeometryCallback = FunctionRef<void(GeometrySet &geometry_set)>
 

Public Member Functions

template<typename Component >
Component & get_component_for_write ()
 
template<typename Component >
const Component * get_component () const
 
template<typename Component >
bool has () const
 
template<typename Component >
bool has_component () const
 
template<typename Component >
void remove ()
 
uint64_t hash () const
 

Public Attributes

std::string name
 

Friends

std::ostream & operator<< (std::ostream &stream, const GeometrySet &geometry_set)
 
bool operator== (const GeometrySet &a, const GeometrySet &b)
 

Geometry Set

 GeometrySet ()
 
 GeometrySet (const GeometrySet &other)
 
 GeometrySet (GeometrySet &&other)
 
 ~GeometrySet ()
 
GeometrySetoperator= (const GeometrySet &other)
 
GeometrySetoperator= (GeometrySet &&other)
 
GeometryComponentget_component_for_write (GeometryComponent::Type component_type)
 
const GeometryComponentget_component (GeometryComponent::Type component_type) const
 
bool has (const GeometryComponent::Type component_type) const
 
void remove (const GeometryComponent::Type component_type)
 
void keep_only (Span< GeometryComponent::Type > component_types)
 
void keep_only_during_modify (Span< GeometryComponent::Type > component_types)
 
void remove_geometry_during_modify ()
 
void add (const GeometryComponent &component)
 
Vector< const GeometryComponent * > get_components () const
 
std::optional< Bounds< float3 > > compute_boundbox_without_instances () const
 
void clear ()
 
bool owns_direct_data () const
 
void ensure_owns_direct_data ()
 
void ensure_owns_all_data ()
 
void attribute_foreach (Span< GeometryComponent::Type > component_types, bool include_instances, AttributeForeachCallback callback) const
 
void gather_attributes_for_propagation (Span< GeometryComponent::Type > component_types, GeometryComponent::Type dst_component_type, bool include_instances, const AttributeFilter &attribute_filter, Map< StringRef, AttributeKind > &r_attributes) const
 
Vector< GeometryComponent::Typegather_component_types (bool include_instances, bool ignore_empty) const
 
void modify_geometry_sets (ForeachSubGeometryCallback callback)
 
bool has_mesh () const
 
bool has_pointcloud () const
 
bool has_instances () const
 
bool has_volume () const
 
bool has_curves () const
 
bool has_realized_data () const
 
bool has_grease_pencil () const
 
bool is_empty () const
 
const Meshget_mesh () const
 
const PointCloudget_pointcloud () const
 
const Volumeget_volume () const
 
const Curvesget_curves () const
 
const Instancesget_instances () const
 
const CurvesEditHintsget_curve_edit_hints () const
 
const GizmoEditHintsget_gizmo_edit_hints () const
 
const GreasePencilget_grease_pencil () const
 
Meshget_mesh_for_write ()
 
PointCloudget_pointcloud_for_write ()
 
Volumeget_volume_for_write ()
 
Curvesget_curves_for_write ()
 
Instancesget_instances_for_write ()
 
CurvesEditHintsget_curve_edit_hints_for_write ()
 
GizmoEditHintsget_gizmo_edit_hints_for_write ()
 
GreasePencilget_grease_pencil_for_write ()
 
void replace_mesh (Mesh *mesh, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
 
void replace_pointcloud (PointCloud *pointcloud, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
 
void replace_volume (Volume *volume, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
 
void replace_curves (Curves *curves, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
 
void replace_instances (Instances *instances, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
 
void replace_grease_pencil (GreasePencil *grease_pencil, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
 
void count_memory (MemoryCounter &memory) const
 
static void propagate_attributes_from_layer_to_instances (const AttributeAccessor src_attributes, MutableAttributeAccessor dst_attributes, const AttributeFilter &attribute_filter)
 
static GeometrySet from_mesh (Mesh *mesh, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
 
static GeometrySet from_volume (Volume *volume, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
 
static GeometrySet from_pointcloud (PointCloud *pointcloud, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
 
static GeometrySet from_curves (Curves *curves, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
 
static GeometrySet from_instances (Instances *instances, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
 
static GeometrySet from_grease_pencil (GreasePencil *grease_pencil, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
 

Detailed Description

A geometry set is a container for multiple kinds of geometry. It does not own geometry directly itself, instead geometry is owned by multiple #GeometryComponents, and the geometry set increases the user count of each component, so they avoid losing the data. This means individual components might be shared between multiple geometries and other code. Shared components are copied automatically when write access is requested.

The components usually do not store data directly, but keep a reference to a data structure defined elsewhere. There is at most one component of each type:

  • #MeshComponent
  • #CurveComponent
  • #PointCloudComponent
  • #InstancesComponent
  • #VolumeComponent
  • #GreasePencilComponent

Copying a geometry set is a relatively cheap operation, because it does not copy the referenced geometry components, so GeometrySet can often be passed or moved by value.

Definition at line 146 of file BKE_geometry_set.hh.

Member Typedef Documentation

◆ AttributeForeachCallback

Initial value:
FunctionRef<void(StringRef attribute_id,
const AttributeMetaData &meta_data,
const GeometryComponent &component)>

Definition at line 250 of file BKE_geometry_set.hh.

◆ ForeachSubGeometryCallback

Constructor & Destructor Documentation

◆ GeometrySet() [1/3]

blender::bke::GeometrySet::GeometrySet ( )
default

The methods are defaulted here so that they are not instantiated in every translation unit.

◆ GeometrySet() [2/3]

blender::bke::GeometrySet::GeometrySet ( const GeometrySet & other)
default

◆ GeometrySet() [3/3]

blender::bke::GeometrySet::GeometrySet ( GeometrySet && other)
default

◆ ~GeometrySet()

blender::bke::GeometrySet::~GeometrySet ( )
default

Member Function Documentation

◆ add()

◆ attribute_foreach()

◆ clear()

◆ compute_boundbox_without_instances()

std::optional< Bounds< float3 > > blender::bke::GeometrySet::compute_boundbox_without_instances ( ) const

◆ count_memory()

void blender::bke::GeometrySet::count_memory ( MemoryCounter & memory) const

◆ ensure_owns_all_data()

void blender::bke::GeometrySet::ensure_owns_all_data ( )

Same as ensure_owns_direct_data but also turns object/collection instances into geometry instances so that they can be owned.

Definition at line 288 of file geometry_set.cc.

References ensure_owns_direct_data(), and get_instances_for_write().

Referenced by blender::bke::bake::GeometryBakeItem::prepare_geometry_for_bake().

◆ ensure_owns_direct_data()

◆ from_curves()

◆ from_grease_pencil()

GeometrySet blender::bke::GeometrySet::from_grease_pencil ( GreasePencil * grease_pencil,
GeometryOwnershipType ownership = GeometryOwnershipType::Owned )
static

Create a new geometry set that only contains the given Grease Pencil data.

Definition at line 446 of file geometry_set.cc.

References replace_grease_pencil().

Referenced by blender::nodes::node_geo_curves_to_grease_pencil_cc::node_geo_exec().

◆ from_instances()

◆ from_mesh()

◆ from_pointcloud()

◆ from_volume()

GeometrySet blender::bke::GeometrySet::from_volume ( Volume * volume,
GeometryOwnershipType ownership = GeometryOwnershipType::Owned )
static

Create a new geometry set that only contains the given volume.

Definition at line 418 of file geometry_set.cc.

References replace_volume().

◆ gather_attributes_for_propagation()

◆ gather_component_types()

Vector< GeometryComponent::Type > blender::bke::GeometrySet::gather_component_types ( bool include_instances,
bool ignore_empty ) const

◆ get_component() [1/2]

◆ get_component() [2/2]

◆ get_component_for_write() [1/2]

◆ get_component_for_write() [2/2]

GeometryComponent & blender::bke::GeometrySet::get_component_for_write ( GeometryComponent::Type component_type)

This method can only be used when the geometry set is mutable. It returns a mutable geometry component of the given type.

Definition at line 120 of file geometry_set.cc.

References blender::bke::GeometryComponent::create().

Referenced by BKE_curves_data_update(), BKE_grease_pencil_data_update(), blender::ed::object::create_applied_mesh_for_modifier(), blender::nodes::node_geo_curve_fill_cc::curve_fill_calculate(), blender::geometry::execute_instances_tasks(), blender::geometry::execute_realize_edit_data_tasks(), blender::nodes::node_geo_curve_to_mesh_cc::grease_pencil_to_mesh(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group(), blender::geometry::join_component_type(), blender::bke::mesh_build_data(), blender::ed::object::modifier_apply_obdata(), blender::bke::modifier_modify_mesh_and_geometry_set(), blender::modify_mesh(), modify_mesh(), blender::nodes::node_geo_attribute_capture_cc::node_geo_exec(), blender::nodes::node_geo_instance_on_points_cc::node_geo_exec(), blender::nodes::node_geo_remove_attribute_cc::node_geo_exec(), blender::nodes::node_geo_set_id_cc::node_geo_exec(), blender::nodes::node_geo_set_instance_transform_cc::node_geo_exec(), blender::nodes::node_geo_store_named_attribute_cc::node_geo_exec(), blender::geometry::propagate_instances_to_keep(), blender::io::usd::USDPointsReader::read_object_data(), blender::io::alembic::AbcPointsReader::readObjectData(), blender::geometry::realize_instances(), take_pointcloud_ownership_from_geometry_set(), and take_volume_ownership_from_geometry_set().

◆ get_components()

◆ get_curve_edit_hints()

const CurvesEditHints * blender::bke::GeometrySet::get_curve_edit_hints ( ) const

Returns read-only curve edit hints or null.

Definition at line 344 of file geometry_set.cc.

References blender::bke::GeometryComponentEditData::curves_edit_hints_, and get_component().

Referenced by blender::nodes::GeoNodeExecParams::check_output_geometry_set().

◆ get_curve_edit_hints_for_write()

CurvesEditHints * blender::bke::GeometrySet::get_curve_edit_hints_for_write ( )

◆ get_curves()

const Curves * blender::bke::GeometrySet::get_curves ( ) const

Returns a read-only curves data-block or null.

Definition at line 332 of file geometry_set.cc.

References blender::bke::CurveComponent::get(), and get_component().

Referenced by BKE_curves_data_update(), blender::nodes::node_geo_curve_sample_cc::SampleCurveFunction::call(), blender::nodes::GeoNodeExecParams::check_input_geometry_set(), compute_boundbox_without_instances(), blender::nodes::node_geo_curve_fill_cc::curve_fill_calculate(), blender::nodes::node_geo_curves_to_grease_pencil_cc::curve_instances_to_grease_pencil_layers(), blender::nodes::node_geo_curve_to_mesh_cc::curve_to_mesh(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_curves(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_curve(), blender::geometry::gather_curves_to_realize(), blender::nodes::node_geo_curve_trim_cc::geometry_set_curve_trim(), blender::ed::greasepencil::join_curves(), blender::geometry::join_curves(), blender::nodes::node_geo_curve_fillet_cc::node_geo_exec(), blender::nodes::node_geo_curve_length_cc::node_geo_exec(), blender::nodes::node_geo_curve_sample_cc::node_geo_exec(), blender::nodes::node_geo_curve_spline_type_cc::node_geo_exec(), blender::nodes::node_geo_curves_to_grease_pencil_cc::node_geo_exec(), blender::nodes::node_geo_interpolate_curves_cc::node_geo_exec(), blender::ed::object::object_convert_exec(), replace_curves(), blender::geometry::separate_geometry(), and blender::nodes::LazyFunctionForForeachGeometryElementZone::try_extract_element_geometries().

◆ get_curves_for_write()

◆ get_gizmo_edit_hints()

const GizmoEditHints * blender::bke::GeometrySet::get_gizmo_edit_hints ( ) const

Returns read-only gizmo edit hints or null.

Definition at line 350 of file geometry_set.cc.

References get_component(), and blender::bke::GeometryComponentEditData::gizmo_edit_hints_.

◆ get_gizmo_edit_hints_for_write()

GizmoEditHints * blender::bke::GeometrySet::get_gizmo_edit_hints_for_write ( )

Returns mutable gizmo edit hints or null.

Definition at line 579 of file geometry_set.cc.

References get_component_for_write(), blender::bke::GeometryComponentEditData::gizmo_edit_hints_, and has().

◆ get_grease_pencil()

◆ get_grease_pencil_for_write()

◆ get_instances()

◆ get_instances_for_write()

◆ get_mesh()

const Mesh * blender::bke::GeometrySet::get_mesh ( ) const

Returns a read-only mesh or null.

Definition at line 308 of file geometry_set.cc.

References blender::bke::MeshComponent::get(), and get_component().

Referenced by blender::bke::mesh_surface_sample::BaryWeightFromPositionFn::BaryWeightFromPositionFn(), BKE_object_get_evaluated_mesh_no_subsurf_unchecked(), blender::nodes::node_geo_raycast_cc::RaycastFunction::call(), blender::nodes::GeoNodeExecParams::check_input_geometry_set(), compute_boundbox_without_instances(), blender::bke::mesh_surface_sample::CornerBaryWeightFromPositionFn::CornerBaryWeightFromPositionFn(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_edges(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_faces(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_mesh(), blender::geometry::gather_meshes_to_realize(), blender::nodes::node_geo_mesh_to_points_cc::geometry_set_mesh_to_points(), make_duplis_geometry_set_impl(), modify_geometry_set(), blender::modifyGeometry(), blender::nodes::node_geo_boolean_cc::node_geo_exec(), blender::nodes::node_geo_dual_mesh_cc::node_geo_exec(), blender::nodes::node_geo_edge_paths_to_curves_cc::node_geo_exec(), blender::nodes::node_geo_edge_split_cc::node_geo_exec(), blender::nodes::node_geo_merge_by_distance_cc::node_geo_exec(), blender::nodes::node_geo_mesh_subdivide_cc::node_geo_exec(), blender::nodes::node_geo_mesh_to_curve_cc::node_geo_exec(), blender::nodes::node_geo_mesh_to_density_grid_cc::node_geo_exec(), blender::nodes::node_geo_mesh_to_sdf_grid_cc::node_geo_exec(), blender::nodes::node_geo_subdivision_surface_cc::node_geo_exec(), blender::nodes::node_geo_triangulate_cc::node_geo_exec(), blender::nodes::node_geo_distribute_points_on_faces_cc::point_distribution_calculate(), blender::nodes::node_geo_proximity_cc::ProximityFunction::ProximityFunction(), replace_mesh(), blender::nodes::node_geo_sample_nearest_surface_cc::SampleNearestSurfaceFunction::SampleNearestSurfaceFunction(), blender::geometry::separate_geometry(), and blender::nodes::LazyFunctionForForeachGeometryElementZone::try_extract_element_geometries().

◆ get_mesh_for_write()

◆ get_pointcloud()

◆ get_pointcloud_for_write()

PointCloud * blender::bke::GeometrySet::get_pointcloud_for_write ( )

◆ get_volume()

const Volume * blender::bke::GeometrySet::get_volume ( ) const

Returns a read-only volume or null.

Definition at line 326 of file geometry_set.cc.

References blender::bke::VolumeComponent::get(), and get_component().

Referenced by compute_boundbox_without_instances(), make_duplis_geometry_set_impl(), and replace_volume().

◆ get_volume_for_write()

Volume * blender::bke::GeometrySet::get_volume_for_write ( )

Returns a mutable volume or null. No ownership is transferred.

Definition at line 551 of file geometry_set.cc.

References blender::bke::VolumeComponent::get_for_write().

Referenced by modify_geometry_set(), modify_geometry_set(), and blender::nodes::node_geo_get_named_grid_cc::node_geo_exec().

◆ has() [1/2]

template<typename Component >
bool blender::bke::GeometrySet::has ( ) const
inline

◆ has() [2/2]

◆ has_component()

template<typename Component >
bool blender::bke::GeometrySet::has_component ( ) const
inline

◆ has_curves()

bool blender::bke::GeometrySet::has_curves ( ) const

◆ has_grease_pencil()

◆ has_instances()

◆ has_mesh()

◆ has_pointcloud()

◆ has_realized_data()

bool blender::bke::GeometrySet::has_realized_data ( ) const

Returns true when the geometry set has any data that is not an instance.

Definition at line 387 of file geometry_set.cc.

References blender::bke::GeometryComponent::Instance.

Referenced by blender::nodes::GeoNodeExecParams::check_input_geometry_set(), and blender::geometry::separate_geometry().

◆ has_volume()

bool blender::bke::GeometrySet::has_volume ( ) const

Returns true when the geometry set has a volume component that has a volume.

Definition at line 375 of file geometry_set.cc.

References get_component(), and blender::bke::VolumeComponent::has_volume().

Referenced by is_empty(), and blender::nodes::node_geo_distribute_points_in_volume_cc::node_geo_exec().

◆ hash()

uint64_t blender::bke::GeometrySet::hash ( ) const
inline

Definition at line 449 of file BKE_geometry_set.hh.

References blender::get_default_hash().

◆ is_empty()

bool blender::bke::GeometrySet::is_empty ( ) const

Return true if the geometry set has any component that isn't empty.

Definition at line 405 of file geometry_set.cc.

References has_curves(), has_grease_pencil(), has_instances(), has_mesh(), has_pointcloud(), and has_volume().

Referenced by blender::nodes::node_geo_duplicate_elements_cc::node_geo_exec().

◆ keep_only()

◆ keep_only_during_modify()

◆ modify_geometry_sets()

void blender::bke::GeometrySet::modify_geometry_sets ( ForeachSubGeometryCallback callback)

Modify every (recursive) instance separately. This is often more efficient than realizing all instances just to change the same thing on all of them.

Definition at line 793 of file geometry_set.cc.

References callback, blender::Vector< T, InlineBufferCapacity, Allocator >::first(), blender::bke::gather_mutable_geometry_sets(), blender::threading::parallel_for_each(), and blender::Vector< T, InlineBufferCapacity, Allocator >::size().

Referenced by blender::nodes::node_geo_curve_to_points_cc::curve_to_points(), blender::nodes::node_geo_curve_to_points_cc::grease_pencil_to_points(), blender::nodes::node_geo_attribute_capture_cc::node_geo_exec(), blender::nodes::node_geo_bounding_box_cc::node_geo_exec(), blender::nodes::node_geo_convex_hull_cc::node_geo_exec(), blender::nodes::node_geo_curve_fill_cc::node_geo_exec(), blender::nodes::node_geo_curve_fillet_cc::node_geo_exec(), blender::nodes::node_geo_curve_resample_cc::node_geo_exec(), blender::nodes::node_geo_curve_reverse_cc::node_geo_exec(), blender::nodes::node_geo_curve_set_handle_type_cc::node_geo_exec(), blender::nodes::node_geo_curve_spline_type_cc::node_geo_exec(), blender::nodes::node_geo_curve_subdivide_cc::node_geo_exec(), blender::nodes::node_geo_curve_to_mesh_cc::node_geo_exec(), blender::nodes::node_geo_curve_trim_cc::node_geo_exec(), blender::nodes::node_geo_delete_geometry_cc::node_geo_exec(), blender::nodes::node_geo_distribute_points_in_volume_cc::node_geo_exec(), blender::nodes::node_geo_distribute_points_on_faces_cc::node_geo_exec(), blender::nodes::node_geo_dual_mesh_cc::node_geo_exec(), blender::nodes::node_geo_duplicate_elements_cc::node_geo_exec(), blender::nodes::node_geo_edge_paths_to_curves_cc::node_geo_exec(), blender::nodes::node_geo_edge_split_cc::node_geo_exec(), blender::nodes::node_geo_extrude_mesh_cc::node_geo_exec(), blender::nodes::node_geo_flip_faces_cc::node_geo_exec(), blender::nodes::node_geo_instance_on_points_cc::node_geo_exec(), blender::nodes::node_geo_material_replace_cc::node_geo_exec(), blender::nodes::node_geo_merge_by_distance_cc::node_geo_exec(), blender::nodes::node_geo_merge_layers_cc::node_geo_exec(), blender::nodes::node_geo_mesh_subdivide_cc::node_geo_exec(), blender::nodes::node_geo_mesh_to_curve_cc::node_geo_exec(), blender::nodes::node_geo_mesh_to_points_cc::node_geo_exec(), blender::nodes::node_geo_mesh_to_volume_cc::node_geo_exec(), blender::nodes::node_geo_points_to_curves_cc::node_geo_exec(), blender::nodes::node_geo_points_to_vertices_cc::node_geo_exec(), blender::nodes::node_geo_points_to_volume_cc::node_geo_exec(), blender::nodes::node_geo_remove_attribute_cc::node_geo_exec(), blender::nodes::node_geo_separate_geometry_cc::node_geo_exec(), blender::nodes::node_geo_set_curve_handles_cc::node_geo_exec(), blender::nodes::node_geo_set_curve_normal_cc::node_geo_exec(), blender::nodes::node_geo_set_curve_radius_cc::node_geo_exec(), blender::nodes::node_geo_set_curve_tilt_cc::node_geo_exec(), blender::nodes::node_geo_set_material_index_cc::node_geo_exec(), blender::nodes::node_geo_set_point_radius_cc::node_geo_exec(), blender::nodes::node_geo_set_shade_smooth_cc::node_geo_exec(), blender::nodes::node_geo_set_spline_cyclic_cc::node_geo_exec(), blender::nodes::node_geo_set_spline_resolution_cc::node_geo_exec(), blender::nodes::node_geo_sort_elements_cc::node_geo_exec(), blender::nodes::node_geo_store_named_attribute_cc::node_geo_exec(), blender::nodes::node_geo_subdivision_surface_cc::node_geo_exec(), blender::nodes::node_geo_tool_set_face_set_cc::node_geo_exec(), blender::nodes::node_geo_triangulate_cc::node_geo_exec(), blender::nodes::node_geo_volume_to_mesh_cc::node_geo_exec(), blender::bke::bake::GeometryBakeItem::prepare_geometry_for_bake(), blender::geometry::remove_id_attribute_from_instances(), and blender::bke::bake::GeometryBakeItem::try_restore_data_blocks().

◆ operator=() [1/2]

GeometrySet & blender::bke::GeometrySet::operator= ( const GeometrySet & other)
default

◆ operator=() [2/2]

GeometrySet & blender::bke::GeometrySet::operator= ( GeometrySet && other)
default

◆ owns_direct_data()

bool blender::bke::GeometrySet::owns_direct_data ( ) const

Definition at line 296 of file geometry_set.cc.

◆ propagate_attributes_from_layer_to_instances()

◆ remove() [1/2]

template<typename Component >
void blender::bke::GeometrySet::remove ( )
inline

◆ remove() [2/2]

◆ remove_geometry_during_modify()

◆ replace_curves()

◆ replace_grease_pencil()

◆ replace_instances()

void blender::bke::GeometrySet::replace_instances ( Instances * instances,
GeometryOwnershipType ownership = GeometryOwnershipType::Owned )

◆ replace_mesh()

void blender::bke::GeometrySet::replace_mesh ( Mesh * mesh,
GeometryOwnershipType ownership = GeometryOwnershipType::Owned )

Clear the existing mesh and replace it with the given one.

Definition at line 454 of file geometry_set.cc.

References get_component_for_write(), get_mesh(), remove(), and blender::bke::MeshComponent::replace().

Referenced by blender::bke::add_final_mesh_as_geometry_component(), curve_calc_modifiers_post(), blender::nodes::node_geo_curve_fill_cc::curve_fill_calculate(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_faces(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_mesh(), evaluate_surface_object(), blender::geometry::execute_realize_mesh_tasks(), from_mesh(), blender::nodes::node_geo_points_to_vertices_cc::geometry_set_points_to_vertices(), blender::bke::bake::load_geometry(), blender::bke::modifier_modify_mesh_and_geometry_set(), blender::nodes::node_geo_boolean_cc::node_geo_exec(), blender::nodes::node_geo_bounding_box_cc::node_geo_exec(), blender::nodes::node_geo_convex_hull_cc::node_geo_exec(), blender::nodes::node_geo_dual_mesh_cc::node_geo_exec(), blender::nodes::node_geo_merge_by_distance_cc::node_geo_exec(), blender::nodes::node_geo_triangulate_cc::node_geo_exec(), blender::nodes::node_geo_volume_to_mesh_cc::node_geo_exec(), blender::io::alembic::AbcMeshReader::read_geometry(), blender::io::alembic::AbcSubDReader::read_geometry(), blender::io::usd::USDMeshReader::read_geometry(), blender::io::usd::USDNurbsReader::read_geometry(), blender::io::usd::USDShapeReader::read_geometry(), blender::geometry::separate_geometry(), and blender::ed::spreadsheet::spreadsheet_get_display_geometry_set().

◆ replace_pointcloud()

◆ replace_volume()

void blender::bke::GeometrySet::replace_volume ( Volume * volume,
GeometryOwnershipType ownership = GeometryOwnershipType::Owned )

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream & stream,
const GeometrySet & geometry_set )
friend

Definition at line 227 of file geometry_set.cc.

◆ operator==

bool operator== ( const GeometrySet & a,
const GeometrySet & b )
friend

Definition at line 443 of file BKE_geometry_set.hh.

Member Data Documentation

◆ name


The documentation for this struct was generated from the following files: