26 selection_ = objMesh_->getSelectedFaces();
36 selection_ = objMesh_->getSelectedFaces();
37 objMesh_->selectFaces( std::move( newSelection ) );
40 virtual std::string
name()
const override {
return name_; }
46 auto tmp = objMesh_->getSelectedFaces();
47 objMesh_->selectFaces( std::move( selection_ ) );
48 selection_ = std::move( tmp );
51 const FaceBitSet &
selection()
const {
return selection_; }
56 [[nodiscard]]
virtual size_t heapBytes()
const override
58 return name_.capacity() + selection_.heapBytes();
63 std::shared_ptr<ObjectMesh> objMesh_;
64 FaceBitSet selection_;
80 selection_ = objMesh_->getSelectedEdges();
90 selection_ = objMesh_->getSelectedEdges();
91 objMesh_->selectEdges( std::move( newSelection ) );
94 virtual std::string
name()
const override {
return name_; }
100 auto tmp = objMesh_->getSelectedEdges();
101 objMesh_->selectEdges( std::move( selection_ ) );
102 selection_ = std::move( tmp );
105 const UndirectedEdgeBitSet &
selection()
const {
return selection_; }
112 return name_.capacity() + selection_.heapBytes();
117 std::shared_ptr<ObjectMesh> objMesh_;
118 UndirectedEdgeBitSet selection_;
134 creases_ = objMesh_->creases();
144 creases_ = objMesh_->creases();
145 objMesh_->setCreases( std::move( newCreases ) );
148 virtual std::string
name()
const override {
return name_; }
154 auto tmp = objMesh_->creases();
155 objMesh_->setCreases( std::move( creases_ ) );
156 creases_ = std::move( tmp );
159 const UndirectedEdgeBitSet &
creases()
const {
return creases_; }
166 return name_.capacity() + creases_.heapBytes();
171 std::shared_ptr<ObjectMesh> objMesh_;
172 UndirectedEdgeBitSet creases_;
184 objPoints_{ objPoints }
188 selection_ = objPoints_->getSelectedPoints();
194 objPoints_{ objPoints }
198 selection_ = objPoints_->getSelectedPoints();
199 objPoints_->selectPoints( std::move( newSelection ) );
202 virtual std::string
name()
const override {
return name_; }
208 auto tmp = objPoints_->getSelectedPoints();
209 objPoints_->selectPoints( std::move( selection_ ) );
210 selection_ = std::move( tmp );
213 const VertBitSet&
selection()
const {
return selection_; }
221 return name_.capacity() + selection_.heapBytes();
226 std::shared_ptr<ObjectPoints> objPoints_;
227 VertBitSet selection_;
virtual void action(Type) override
This function is called on history action (undo, redo, etc.)
Definition MRChangeSelectionAction.h:150
ObjectMesh Obj
Definition MRChangeSelectionAction.h:125
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:128
static void setObjectDirty(const std::shared_ptr< ObjectMesh > &)
empty because set dirty is inside setCreases
Definition MRChangeSelectionAction.h:162
virtual size_t heapBytes() const override
returns the amount of memory this object occupies on heap
Definition MRChangeSelectionAction.h:164
const UndirectedEdgeBitSet & creases() const
Definition MRChangeSelectionAction.h:159
virtual std::string name() const override
Definition MRChangeSelectionAction.h:148
ChangeMeshCreasesAction(const std::string &name, const std::shared_ptr< ObjectMesh > &objMesh, UndirectedEdgeBitSet &&newCreases)
use this constructor to remember object's current creases and immediate set new creases
Definition MRChangeSelectionAction.h:138
virtual size_t heapBytes() const override
returns the amount of memory this object occupies on heap
Definition MRChangeSelectionAction.h:110
static void setObjectDirty(const std::shared_ptr< ObjectMesh > &)
empty because set dirty is inside selectEdges
Definition MRChangeSelectionAction.h:108
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:74
virtual std::string name() const override
Definition MRChangeSelectionAction.h:94
ObjectMesh Obj
Definition MRChangeSelectionAction.h:71
const UndirectedEdgeBitSet & selection() const
Definition MRChangeSelectionAction.h:105
ChangeMeshEdgeSelectionAction(const std::string &name, const std::shared_ptr< ObjectMesh > &objMesh, UndirectedEdgeBitSet &&newSelection)
use this constructor to remember object's edge selection and immediate set new selection
Definition MRChangeSelectionAction.h:84
virtual void action(Type) override
This function is called on history action (undo, redo, etc.)
Definition MRChangeSelectionAction.h:96
virtual size_t heapBytes() const override
returns the amount of memory this object occupies on heap
Definition MRChangeSelectionAction.h:56
const FaceBitSet & selection() const
Definition MRChangeSelectionAction.h:51
ObjectMesh Obj
Definition MRChangeSelectionAction.h:17
virtual void action(Type) override
This function is called on history action (undo, redo, etc.)
Definition MRChangeSelectionAction.h:42
virtual std::string name() const override
Definition MRChangeSelectionAction.h:40
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:20
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:30
static void setObjectDirty(const std::shared_ptr< ObjectMesh > &)
empty because set dirty is inside selectFaces
Definition MRChangeSelectionAction.h:54
const VertBitSet & selection() const
Definition MRChangeSelectionAction.h:213
ChangePointPointSelectionAction(const std::string &name, const std::shared_ptr< ObjectPoints > &objPoints, VertBitSet &&newSelection)
use this constructor to remember object's vertex selection and immediately set new selection
Definition MRChangeSelectionAction.h:192
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:182
static void setObjectDirty(const std::shared_ptr< ObjectPoints > &)
empty because set dirty is inside selectPoints
Definition MRChangeSelectionAction.h:216
virtual std::string name() const override
Definition MRChangeSelectionAction.h:202
virtual void action(Type) override
This function is called on history action (undo, redo, etc.)
Definition MRChangeSelectionAction.h:204
virtual size_t heapBytes() const override
returns the amount of memory this object occupies on heap
Definition MRChangeSelectionAction.h:219
ObjectPoints Obj
Definition MRChangeSelectionAction.h:179
Definition MRObjectMesh.h:14
Definition MRObjectPoints.h:14
Type
Definition MRHistoryAction.h:27
HistoryAction()=default
explicitly define ctors to avoid warning C5267: definition of implicit copy constructor is deprecated...
only for bindings generation
Definition MRCameraOrientationPlugin.h:8