|
Blender V4.3
|
#include <BKE_geometry_set.hh>
Inherits blender::bke::GeometryComponent.
Static Public Attributes | |
| static constexpr GeometryComponent::Type | static_type = Type::PointCloud |
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 stores a point cloud, corresponding to the PointCloud data structure. While a point cloud is technically a subset of a mesh in some respects, it is useful because of its simplicity, partly on a conceptual level for the user, but also in the code, though partly for historical reasons. Point clouds can also be rendered in special ways, based on the built-in radius attribute.
Attributes on point clouds are all stored in contiguous arrays in its CustomData, which makes them efficient to process, relative to some legacy built-in mesh attributes.
Definition at line 531 of file BKE_geometry_set.hh.
| blender::bke::PointCloudComponent::PointCloudComponent | ( | ) |
Definition at line 19 of file geometry_component_pointcloud.cc.
Referenced by copy().
| blender::bke::PointCloudComponent::PointCloudComponent | ( | PointCloud * | pointcloud, |
| GeometryOwnershipType | ownership = GeometryOwnershipType::Owned ) |
Definition at line 21 of file geometry_component_pointcloud.cc.
| blender::bke::PointCloudComponent::~PointCloudComponent | ( | ) |
Definition at line 26 of file geometry_component_pointcloud.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 231 of file geometry_component_pointcloud.cc.
References blender::bke::get_pointcloud_accessor_functions_ref().
|
finalvirtual |
Reimplemented from blender::bke::GeometryComponent.
Definition at line 236 of file geometry_component_pointcloud.cc.
References blender::bke::get_pointcloud_accessor_functions_ref().
|
overridevirtual |
Remove referenced data from the geometry component.
Implements blender::bke::GeometryComponent.
Definition at line 41 of file geometry_component_pointcloud.cc.
References BKE_id_free(), BLI_assert, blender::ImplicitSharingInfo::is_expired(), blender::ImplicitSharingInfo::is_mutable(), and blender::bke::Owned.
Referenced by replace(), and ~PointCloudComponent().
|
overridevirtual |
Copies the component. The returned component only has a single user and is therefor mutable.
Implements blender::bke::GeometryComponent.
Definition at line 31 of file geometry_component_pointcloud.cc.
References BKE_pointcloud_copy_for_eval(), blender::bke::Owned, and PointCloudComponent().
|
overridevirtual |
Reimplemented from blender::bke::GeometryComponent.
Definition at line 109 of file geometry_component_pointcloud.cc.
|
overridevirtual |
Implements blender::bke::GeometryComponent.
Definition at line 98 of file geometry_component_pointcloud.cc.
References BKE_pointcloud_copy_for_eval(), BLI_assert, blender::ImplicitSharingInfo::is_mutable(), and blender::bke::Owned.
| const PointCloud * blender::bke::PointCloudComponent::get | ( | ) | const |
Get the point cloud from this component. This method can be used by multiple threads at the same time. Therefore, the returned point cloud should not be modified. No ownership is transferred.
Definition at line 73 of file geometry_component_pointcloud.cc.
Referenced by blender::nodes::node_geo_sample_nearest_cc::SampleNearestFunction::call(), blender::bke::GeometryFieldContext::GeometryFieldContext(), blender::bke::GeometrySet::get_pointcloud(), and blender::nodes::node_geo_split_to_instances_cc::split_pointcloud_groups().
| PointCloud * blender::bke::PointCloudComponent::get_for_write | ( | ) |
Get the point cloud from this component. This method can only be used when the component is mutable, i.e. it is not shared. The returned point cloud can be modified. No ownership is transferred.
Definition at line 78 of file geometry_component_pointcloud.cc.
References BKE_pointcloud_copy_for_eval(), BLI_assert, blender::ImplicitSharingInfo::is_mutable(), blender::bke::Owned, and blender::bke::ReadOnly.
Referenced by blender::bke::GeometrySet::get_pointcloud_for_write().
| bool blender::bke::PointCloudComponent::has_pointcloud | ( | ) | const |
Definition at line 52 of file geometry_component_pointcloud.cc.
Referenced by blender::bke::GeometrySet::has_pointcloud().
|
finalvirtual |
Reimplemented from blender::bke::GeometryComponent.
Definition at line 88 of file geometry_component_pointcloud.cc.
|
overridevirtual |
Implements blender::bke::GeometryComponent.
Definition at line 93 of file geometry_component_pointcloud.cc.
References blender::bke::Owned.
| PointCloud * blender::bke::PointCloudComponent::release | ( | ) |
Return the point cloud and clear the component. The caller takes over responsibility for freeing the point cloud (if the component was responsible before).
Definition at line 65 of file geometry_component_pointcloud.cc.
References BLI_assert, and blender::ImplicitSharingInfo::is_mutable().
Referenced by take_pointcloud_ownership_from_geometry_set().
| void blender::bke::PointCloudComponent::replace | ( | PointCloud * | pointcloud, |
| GeometryOwnershipType | ownership = GeometryOwnershipType::Owned ) |
Clear the component and replace it with the new point cloud.
Definition at line 57 of file geometry_component_pointcloud.cc.
References BLI_assert, clear(), and blender::ImplicitSharingInfo::is_mutable().
Referenced by blender::bke::GeometrySet::replace_pointcloud(), and take_pointcloud_ownership_from_geometry_set().
|
inlinestaticconstexpr |
Definition at line 579 of file BKE_geometry_set.hh.