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_;
85 virtual std::string
name()
const override
87 if ( combinedAction_ )
88 return combinedAction_->name();
90 return "##empty_PartialChangeMeshDataAction";
95 if ( combinedAction_ )
96 combinedAction_->action( type );
99 [[nodiscard]]
virtual size_t heapBytes()
const override
101 if ( combinedAction_ )
108 std::unique_ptr<CombinedHistoryAction> combinedAction_;
#define MRMESH_API
Definition MRMeshFwd.h:80
#define MRMESH_CLASS
Definition MRMeshFwd.h:87
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
ObjectMesh Obj
Definition MRChangeMeshDataAction.h:16
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 MRCombinedHistoryAction.h:15
Definition MRHistoryAction.h:15
Definition MRObjectMesh.h:14
virtual size_t heapBytes() const override
returns the amount of memory this object occupies on heap
Definition MRChangeMeshDataAction.h:99
PartialChangeMeshDataAction(std::string name, const std::shared_ptr< ObjectMesh > &obj, ObjectMeshData &&newData)
use this constructor to remember object's data and immediately set new data
virtual void action(HistoryAction::Type type) override
This function is called on history action (undo, redo, etc.)
Definition MRChangeMeshDataAction.h:93
virtual std::string name() const override
Definition MRChangeMeshDataAction.h:85
Type
Definition MRHistoryAction.h:22
@ DIRTY_ALL
Definition MRVisualObject.h:93
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
mesh and its per-element attributes for ObjectMeshHolder
Definition MRObjectMeshData.h:17