|
Blender V4.3
|
#include <BKE_geometry_set.hh>
Inherits blender::bke::GeometryComponent.
Static Public Attributes | |
| static constexpr GeometryComponent::Type | static_type = Type::Volume |
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 volume grids, corresponding to the Volume data structure. This component does not implement an attribute API, partly because storage of sparse volume information in grids is much more complicated than it is for other types
Definition at line 679 of file BKE_geometry_set.hh.
| blender::bke::VolumeComponent::VolumeComponent | ( | ) |
Definition at line 15 of file geometry_component_volume.cc.
Referenced by copy().
| blender::bke::VolumeComponent::~VolumeComponent | ( | ) |
Definition at line 17 of file geometry_component_volume.cc.
References clear().
|
overridevirtual |
Remove referenced data from the geometry component.
Implements blender::bke::GeometryComponent.
Definition at line 32 of file geometry_component_volume.cc.
References BKE_id_free(), BLI_assert, blender::ImplicitSharingInfo::is_expired(), blender::ImplicitSharingInfo::is_mutable(), and blender::bke::Owned.
Referenced by replace(), and ~VolumeComponent().
|
overridevirtual |
Copies the component. The returned component only has a single user and is therefor mutable.
Implements blender::bke::GeometryComponent.
Definition at line 22 of file geometry_component_volume.cc.
References BKE_volume_copy_for_eval(), blender::bke::Owned, and VolumeComponent().
|
overridevirtual |
Reimplemented from blender::bke::GeometryComponent.
Definition at line 95 of file geometry_component_volume.cc.
References BKE_volume_count_memory().
|
overridevirtual |
Implements blender::bke::GeometryComponent.
Definition at line 84 of file geometry_component_volume.cc.
References BKE_volume_copy_for_eval(), BLI_assert, blender::ImplicitSharingInfo::is_mutable(), and blender::bke::Owned.
| const Volume * blender::bke::VolumeComponent::get | ( | ) | const |
Get the volume from this component. This method can be used by multiple threads at the same time. Therefore, the returned volume should not be modified. No ownership is transferred.
Definition at line 64 of file geometry_component_volume.cc.
Referenced by blender::bke::GeometrySet::get_volume(), and blender::nodes::node_geo_distribute_points_in_volume_cc::node_geo_exec().
| Volume * blender::bke::VolumeComponent::get_for_write | ( | ) |
Get the volume from this component. This method can only be used when the component is mutable, i.e. it is not shared. The returned volume can be modified. No ownership is transferred.
Definition at line 69 of file geometry_component_volume.cc.
References BKE_volume_copy_for_eval(), BLI_assert, blender::ImplicitSharingInfo::is_mutable(), blender::bke::Owned, and blender::bke::ReadOnly.
Referenced by blender::bke::GeometrySet::get_volume_for_write().
| bool blender::bke::VolumeComponent::has_volume | ( | ) | const |
Definition at line 43 of file geometry_component_volume.cc.
Referenced by blender::bke::GeometrySet::has_volume().
|
overridevirtual |
Implements blender::bke::GeometryComponent.
Definition at line 79 of file geometry_component_volume.cc.
References blender::bke::Owned.
| Volume * blender::bke::VolumeComponent::release | ( | ) |
Return the volume and clear the component. The caller takes over responsibility for freeing the volume (if the component was responsible before).
Definition at line 56 of file geometry_component_volume.cc.
References BLI_assert, and blender::ImplicitSharingInfo::is_mutable().
| void blender::bke::VolumeComponent::replace | ( | Volume * | volume, |
| GeometryOwnershipType | ownership = GeometryOwnershipType::Owned ) |
Clear the component and replace it with the new volume.
Definition at line 48 of file geometry_component_volume.cc.
References BLI_assert, clear(), and blender::ImplicitSharingInfo::is_mutable().
Referenced by blender::bke::GeometrySet::replace_volume().
|
inlinestaticconstexpr |
Definition at line 718 of file BKE_geometry_set.hh.