|
Blender V5.0
|
#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 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 476 of file BKE_geometry_set.hh.
| blender::bke::MeshComponent::MeshComponent | ( | ) |
Definition at line 20 of file geometry_component_mesh.cc.
References blender::bke::GeometryComponent::GeometryComponent().
Referenced by copy().
| blender::bke::MeshComponent::MeshComponent | ( | Mesh * | mesh, |
| GeometryOwnershipType | ownership = GeometryOwnershipType::Owned ) |
Definition at line 22 of file geometry_component_mesh.cc.
References blender::bke::GeometryComponent::GeometryComponent().
|
override |
Definition at line 27 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 179 of file geometry_component_mesh.cc.
References attributes(), and blender::bke::mesh_attribute_accessor_functions().
Referenced by attributes().
|
finalvirtual |
Reimplemented from blender::bke::GeometryComponent.
Definition at line 184 of file geometry_component_mesh.cc.
References attributes_for_write(), get_for_write(), and blender::bke::mesh_attribute_accessor_functions().
Referenced by attributes_for_write().
|
overridevirtual |
Remove referenced data from the geometry component.
Implements blender::bke::GeometryComponent.
Definition at line 42 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 32 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 110 of file geometry_component_mesh.cc.
|
overridevirtual |
Implements blender::bke::GeometryComponent.
Definition at line 99 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(), and blender::modify_mesh().
| 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 74 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::GeometrySet::get_mesh(), blender::bke::modifier_modify_mesh_and_geometry_set(), blender::modify_mesh(), 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 79 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 attributes_for_write(), and blender::bke::GeometrySet::get_mesh_for_write().
| bool blender::bke::MeshComponent::has_mesh | ( | ) | const |
Definition at line 53 of file geometry_component_mesh.cc.
Referenced by blender::bke::GeometrySet::has_mesh().
|
finalvirtual |
Reimplemented from blender::bke::GeometryComponent.
Definition at line 89 of file geometry_component_mesh.cc.
|
overridevirtual |
Implements blender::bke::GeometryComponent.
Definition at line 94 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 66 of file geometry_component_mesh.cc.
References BLI_assert, and blender::ImplicitSharingInfo::is_mutable().
Referenced by blender::bke::modifier_modify_mesh_and_geometry_set(), and blender::modify_mesh().
| void blender::bke::MeshComponent::replace | ( | Mesh * | mesh, |
| GeometryOwnershipType | ownership = GeometryOwnershipType::Owned ) |
Clear the component and replace it with the new mesh.
Definition at line 58 of file geometry_component_mesh.cc.
References BLI_assert, clear(), and blender::ImplicitSharingInfo::is_mutable().
Referenced by blender::bke::editbmesh_build_data(), blender::bke::mesh_build_data(), and blender::bke::GeometrySet::replace_mesh().
|
staticconstexpr |
Definition at line 517 of file BKE_geometry_set.hh.