MeshLib C++ Docs
Loading...
Searching...
No Matches
MRVersatileChangeMeshAction.h
Go to the documentation of this file.
1#pragma once
2#include "MRHistoryAction.h"
3
4namespace MR
5{
8
9
14{
15public:
16 using Obj = ObjectMesh;
17
19 MRMESH_API VersatileChangeMeshPointsAction( std::string name, const std::shared_ptr<ObjectMesh>& obj );
20
22
23 [[nodiscard]] MRMESH_API virtual std::string name() const override;
24
25 MRMESH_API virtual void action( HistoryAction::Type t ) override;
26
27 MRMESH_API static void setObjectDirty( const std::shared_ptr<ObjectMesh>& obj );
28
29 [[nodiscard]] MRMESH_API virtual size_t heapBytes() const override;
30
33
34private:
35 std::unique_ptr<ChangeMeshPointsAction> stdAction_;
36 std::unique_ptr<PartialChangeMeshPointsAction> diffAction_;
37};
38
39}
#define MRMESH_API
Definition MRMeshFwd.h:80
#define MRMESH_CLASS
Definition MRMeshFwd.h:87
Definition MRHistoryAction.h:15
Definition MRObjectMesh.h:14
ObjectMesh Obj
Definition MRVersatileChangeMeshAction.h:16
virtual size_t heapBytes() const override
returns the amount of memory this object occupies on heap
virtual void action(HistoryAction::Type t) override
This function is called on history action (undo, redo, etc.)
Type
Definition MRHistoryAction.h:22
void compress()
switch from uncompressed to compressed format to occupy less amount of memory
static void setObjectDirty(const std::shared_ptr< ObjectMesh > &obj)
VersatileChangeMeshPointsAction(std::string name, const std::shared_ptr< ObjectMesh > &obj)
use this constructor to remember object's mesh points in uncompressed format before making any change...
virtual std::string name() const override
only for bindings generation
Definition MRCameraOrientationPlugin.h:8