21 name_{ std::move(
name ) }
25 data_ = objMesh_->data();
26 if ( cloneMesh && data_.
mesh )
27 data_.
mesh = std::make_shared<Mesh>( *data_.
mesh );
34 name_{ std::move(
name ) }
38 data_ = std::move( newData );
39 objMesh_->updateData( data_ );
43 virtual std::string
name()
const override
53 objMesh_->updateData( data_ );
62 [[nodiscard]]
virtual size_t heapBytes()
const override
64 return name_.capacity() + data_.
heapBytes();
67 const std::shared_ptr<ObjectMesh>&
obj()
const {
return objMesh_; }
72 std::shared_ptr<ObjectMesh> objMesh_;
Undo action for ObjectMeshData change.
Definition MRChangeMeshDataAction.h:14
virtual void action(HistoryAction::Type) override
This function is called on history action (undo, redo, etc.)
Definition MRChangeMeshDataAction.h:48
virtual std::string name() const override
Definition MRChangeMeshDataAction.h:43
const std::shared_ptr< ObjectMesh > & obj() const
Definition MRChangeMeshDataAction.h:67
virtual size_t heapBytes() const override
returns the amount of memory this object occupies on heap
Definition MRChangeMeshDataAction.h:62
ChangeMeshDataAction(std::string name, const std::shared_ptr< ObjectMesh > &obj, bool cloneMesh)
use this constructor to remember object's data before making any changes in it
Definition MRChangeMeshDataAction.h:19
const ObjectMeshData & data() const
Definition MRChangeMeshDataAction.h:69
static void setObjectDirty(const std::shared_ptr< ObjectMesh > &obj)
Definition MRChangeMeshDataAction.h:56
ChangeMeshDataAction(std::string name, const std::shared_ptr< ObjectMesh > &obj, ObjectMeshData &&newData)
use this constructor to remember object's data and immediately set new data
Definition MRChangeMeshDataAction.h:32
Definition MRHistoryAction.h:12
Type
Definition MRHistoryAction.h:19
Definition MRObjectMesh.h:11
@ DIRTY_ALL
Definition MRVisualObject.h:97
Definition MRCameraOrientationPlugin.h:8
mesh and its per-element attributes for ObjectMeshHolder
Definition MRObjectMeshData.h:14
MRMESH_API size_t heapBytes() const
returns the amount of memory this object occupies on heap
std::shared_ptr< Mesh > mesh
Definition MRObjectMeshData.h:15