diff options
Diffstat (limited to 'source/blender/blenkernel/intern/geometry_component_volume.cc')
-rw-r--r-- | source/blender/blenkernel/intern/geometry_component_volume.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/geometry_component_volume.cc b/source/blender/blenkernel/intern/geometry_component_volume.cc index fd2327e0bf5..94ed07a63de 100644 --- a/source/blender/blenkernel/intern/geometry_component_volume.cc +++ b/source/blender/blenkernel/intern/geometry_component_volume.cc @@ -97,4 +97,18 @@ Volume *VolumeComponent::get_for_write() return volume_; } +bool VolumeComponent::owns_direct_data() const +{ + return ownership_ == GeometryOwnershipType::Owned; +} + +void VolumeComponent::ensure_owns_direct_data() +{ + BLI_assert(this->is_mutable()); + if (ownership_ != GeometryOwnershipType::Owned) { + volume_ = BKE_volume_copy_for_eval(volume_, false); + ownership_ = GeometryOwnershipType::Owned; + } +} + /** \} */ |