12class ChangeSceneObjectsOrder :
public HistoryAction
21 childrenOrder_ = obj_->children();
24 virtual std::string
name()
const override {
return name_; }
26 virtual void action( HistoryAction::Type )
override
31 std::vector<std::shared_ptr<Object>> oldOrder = obj_->children();
32 for (
auto& child : oldOrder )
34 child->detachFromParent();
36 for (
const auto& child : childrenOrder_ )
38 if ( child->parent() )
39 child->detachFromParent();
40 obj_->addChild( child );
42 childrenOrder_ = std::move( oldOrder );
45 [[nodiscard]]
virtual size_t heapBytes()
const override
52 std::vector<std::shared_ptr<Object>> childrenOrder_;
53 std::shared_ptr<Object> obj_;
unsafe void action(MR.HistoryAction.Type _1)
unsafe ChangeSceneObjectsOrder(MR._ByValue_ChangeSceneObjectsOrder _other)
size_t heapBytes(const BitSet &bs)
returns the amount of memory given BitSet occupies on heap
Definition MRMesh/MRBitSet.h:298
std::string name(const T &primitive)
Definition MRFeatures.h:309
Definition MRCameraOrientationPlugin.h:8