|
Blender V4.3
|
#include <BKE_geometry_set.hh>
Inherits blender::bke::GeometryComponent.
Static Public Attributes | |
| static constexpr GeometryComponent::Type | static_type = Type::Mesh |
Additional Inherited Members | |
Public Types inherited from blender::bke::GeometryComponent | |
| enum class | Type { Mesh = 0 , PointCloud = 1 , Instance = 2 , Volume = 3 , Curve = 4 , Edit = 5 , GreasePencil = 6 } |
Static Public Member Functions inherited from blender::bke::GeometryComponent | |
| static GeometryComponentPtr | create (Type component_type) |
A geometry component that can store a mesh, using the Mesh data-block. Attributes are stored on any of the four attribute domains.
Definition at line 474 of file BKE_geometry_set.hh.
| blender::bke::MeshComponent::MeshComponent | ( | ) |
Definition at line 29 of file geometry_component_mesh.cc.
Referenced by copy().
| blender::bke::MeshComponent::MeshComponent | ( | Mesh * | mesh, |
| GeometryOwnershipType | ownership = GeometryOwnershipType::Owned ) |
Definition at line 31 of file geometry_component_mesh.cc.
| blender::bke::MeshComponent::~MeshComponent | ( | ) |
Definition at line 36 of file geometry_component_mesh.cc.
References clear().
|
finalvirtual |
Get access to the attributes in this geometry component. May return none if the geometry does not support the attribute system.
Reimplemented from blender::bke::GeometryComponent.
Definition at line 1188 of file geometry_component_mesh.cc.
References blender::bke::get_mesh_accessor_functions_ref().
|
finalvirtual |
Reimplemented from blender::bke::GeometryComponent.
Definition at line 1193 of file geometry_component_mesh.cc.
References blender::bke::get_mesh_accessor_functions_ref().
|
overridevirtual |
Remove referenced data from the geometry component.
Implements blender::bke::GeometryComponent.
Definition at line 51 of file geometry_component_mesh.cc.
References BKE_id_free(), BLI_assert, blender::ImplicitSharingInfo::is_expired(), blender::ImplicitSharingInfo::is_mutable(), and blender::bke::Owned.
Referenced by replace(), and ~MeshComponent().
|
overridevirtual |
Copies the component. The returned component only has a single user and is therefor mutable.
Implements blender::bke::GeometryComponent.
Definition at line 41 of file geometry_component_mesh.cc.
References BKE_mesh_copy_for_eval(), MeshComponent(), and blender::bke::Owned.
|
overridevirtual |
Reimplemented from blender::bke::GeometryComponent.
Definition at line 119 of file geometry_component_mesh.cc.
|
overridevirtual |
Implements blender::bke::GeometryComponent.
Definition at line 108 of file geometry_component_mesh.cc.
References BKE_mesh_copy_for_eval(), BLI_assert, blender::ImplicitSharingInfo::is_mutable(), and blender::bke::Owned.
Referenced by blender::bke::modifier_modify_mesh_and_geometry_set().
| const Mesh * blender::bke::MeshComponent::get | ( | ) | const |
Get the mesh from this component. This method can be used by multiple threads at the same time. Therefore, the returned mesh should not be modified. No ownership is transferred.
Definition at line 83 of file geometry_component_mesh.cc.
Referenced by blender::nodes::node_geo_sample_nearest_cc::SampleNearestFunction::call(), blender::ed::spreadsheet::GeometryDataSource::foreach_default_column_ids(), blender::bke::GeometryFieldContext::GeometryFieldContext(), blender::bke::GeometrySet::get_mesh(), blender::bke::modifier_modify_mesh_and_geometry_set(), blender::nodes::node_geo_split_to_instances_cc::split_mesh_groups(), and blender::bke::try_detect_field_domain().
| Mesh * blender::bke::MeshComponent::get_for_write | ( | ) |
Get the mesh from this component. This method can only be used when the component is mutable, i.e. it is not shared. The returned mesh can be modified. No ownership is transferred.
Definition at line 88 of file geometry_component_mesh.cc.
References BKE_mesh_copy_for_eval(), BLI_assert, blender::ImplicitSharingInfo::is_mutable(), blender::bke::Owned, and blender::bke::ReadOnly.
Referenced by blender::bke::GeometrySet::get_mesh_for_write().
| bool blender::bke::MeshComponent::has_mesh | ( | ) | const |
Definition at line 62 of file geometry_component_mesh.cc.
Referenced by blender::bke::GeometrySet::has_mesh().
|
finalvirtual |
Reimplemented from blender::bke::GeometryComponent.
Definition at line 98 of file geometry_component_mesh.cc.
|
overridevirtual |
Implements blender::bke::GeometryComponent.
Definition at line 103 of file geometry_component_mesh.cc.
References blender::bke::Owned.
| Mesh * blender::bke::MeshComponent::release | ( | ) |
Return the mesh and clear the component. The caller takes over responsibility for freeing the mesh (if the component was responsible before).
Definition at line 75 of file geometry_component_mesh.cc.
References BLI_assert, and blender::ImplicitSharingInfo::is_mutable().
Referenced by blender::bke::modifier_modify_mesh_and_geometry_set().
| void blender::bke::MeshComponent::replace | ( | Mesh * | mesh, |
| GeometryOwnershipType | ownership = GeometryOwnershipType::Owned ) |
Clear the component and replace it with the new mesh.
Definition at line 67 of file geometry_component_mesh.cc.
References BLI_assert, clear(), and blender::ImplicitSharingInfo::is_mutable().
Referenced by blender::bke::mesh_build_data(), and blender::bke::GeometrySet::replace_mesh().
|
inlinestaticconstexpr |
Definition at line 515 of file BKE_geometry_set.hh.