25 selection_ = objMesh_->getSelectedFaces();
35 selection_ = objMesh_->getSelectedFaces();
36 objMesh_->selectFaces( std::move( newSelection ) );
39 virtual std::string
name()
const override {
return name_; }
45 auto tmp = objMesh_->getSelectedFaces();
46 objMesh_->selectFaces( selection_ );
47 selection_ = std::move( tmp );
55 [[nodiscard]]
virtual size_t heapBytes()
const override
57 return name_.capacity() + selection_.heapBytes();
62 std::shared_ptr<ObjectMesh> objMesh_;
79 selection_ = objMesh_->getSelectedEdges();
82 virtual std::string
name()
const override {
return name_; }
88 auto tmp = objMesh_->getSelectedEdges();
89 objMesh_->selectEdges( std::move( selection_ ) );
90 selection_ = std::move( tmp );
93 const UndirectedEdgeBitSet &
selection()
const {
return selection_; }
98 [[nodiscard]]
virtual size_t heapBytes()
const override
100 return name_.capacity() + selection_.heapBytes();
105 std::shared_ptr<ObjectMesh> objMesh_;
106 UndirectedEdgeBitSet selection_;
122 creases_ = objMesh_->creases();
125 virtual std::string
name()
const override {
return name_; }
131 auto tmp = objMesh_->creases();
132 objMesh_->setCreases( std::move( creases_ ) );
133 creases_ = std::move( tmp );
136 const UndirectedEdgeBitSet &
creases()
const {
return creases_; }
143 return name_.capacity() + creases_.heapBytes();
148 std::shared_ptr<ObjectMesh> objMesh_;
149 UndirectedEdgeBitSet creases_;
161 objPoints_{ objPoints }
165 selection_ = objPoints_->getSelectedPoints();
168 virtual std::string
name()
const override {
return name_; }
174 auto tmp = objPoints_->getSelectedPoints();
175 objPoints_->selectPoints( selection_ );
176 selection_ = std::move( tmp );
187 return name_.capacity() + selection_.heapBytes();
192 std::shared_ptr<ObjectPoints> objPoints_;
Definition MRDotNet/MRBitSet.h:39
Undo action for ObjectMesh creases.
Definition MRChangeSelectionAction.h:111
virtual void action(Type) override
This function is called on history action (undo, redo, etc.)
Definition MRChangeSelectionAction.h:127
ChangeMeshCreasesAction(const std::string &name, const std::shared_ptr< ObjectMesh > &objMesh)
use this constructor to remember object's creases before making any changes in it
Definition MRChangeSelectionAction.h:116
static void setObjectDirty(const std::shared_ptr< ObjectMesh > &)
empty because set dirty is inside setCreases
Definition MRChangeSelectionAction.h:139
virtual size_t heapBytes() const override
returns the amount of memory this object occupies on heap
Definition MRChangeSelectionAction.h:141
const UndirectedEdgeBitSet & creases() const
Definition MRChangeSelectionAction.h:136
virtual std::string name() const override
Definition MRChangeSelectionAction.h:125
Undo action for ObjectMesh edge selection.
Definition MRChangeSelectionAction.h:68
virtual size_t heapBytes() const override
returns the amount of memory this object occupies on heap
Definition MRChangeSelectionAction.h:98
static void setObjectDirty(const std::shared_ptr< ObjectMesh > &)
empty because set dirty is inside selectEdges
Definition MRChangeSelectionAction.h:96
ChangeMeshEdgeSelectionAction(const std::string &name, const std::shared_ptr< ObjectMesh > &objMesh)
use this constructor to remember object's edge selection before making any changes in it
Definition MRChangeSelectionAction.h:73
virtual std::string name() const override
Definition MRChangeSelectionAction.h:82
const UndirectedEdgeBitSet & selection() const
Definition MRChangeSelectionAction.h:93
virtual void action(Type) override
This function is called on history action (undo, redo, etc.)
Definition MRChangeSelectionAction.h:84
Undo action for ObjectMesh face selection.
Definition MRChangeSelectionAction.h:14
virtual size_t heapBytes() const override
returns the amount of memory this object occupies on heap
Definition MRChangeSelectionAction.h:55
const FaceBitSet & selection() const
Definition MRChangeSelectionAction.h:50
virtual void action(Type) override
This function is called on history action (undo, redo, etc.)
Definition MRChangeSelectionAction.h:41
virtual std::string name() const override
Definition MRChangeSelectionAction.h:39
ChangeMeshFaceSelectionAction(const std::string &name, const std::shared_ptr< ObjectMesh > &objMesh)
use this constructor to remember object's face selection before making any changes in it
Definition MRChangeSelectionAction.h:19
ChangeMeshFaceSelectionAction(const std::string &name, const std::shared_ptr< ObjectMesh > &objMesh, FaceBitSet &&newSelection)
use this constructor to remember object's face selection and immediate set new value
Definition MRChangeSelectionAction.h:29
static void setObjectDirty(const std::shared_ptr< ObjectMesh > &)
empty because set dirty is inside selectFaces
Definition MRChangeSelectionAction.h:53
Undo action for ObjectPoints point selection.
Definition MRChangeSelectionAction.h:154
const VertBitSet & selection() const
Definition MRChangeSelectionAction.h:179
ChangePointPointSelectionAction(const std::string &name, const std::shared_ptr< ObjectPoints > &objPoints)
use this constructor to remember object's vertex selection before making any changes in it
Definition MRChangeSelectionAction.h:159
static void setObjectDirty(const std::shared_ptr< ObjectPoints > &)
empty because set dirty is inside selectPoints
Definition MRChangeSelectionAction.h:182
virtual std::string name() const override
Definition MRChangeSelectionAction.h:168
virtual void action(Type) override
This function is called on history action (undo, redo, etc.)
Definition MRChangeSelectionAction.h:170
virtual size_t heapBytes() const override
returns the amount of memory this object occupies on heap
Definition MRChangeSelectionAction.h:185
Definition MRHistoryAction.h:12
Type
Definition MRHistoryAction.h:19
Definition MRObjectMesh.h:11
Definition MRObjectPoints.h:11
Definition MRCameraOrientationPlugin.h:7