MeshLib C++ Docs
Loading...
Searching...
No Matches
MRChangeSceneAction.h
Go to the documentation of this file.
1
#pragma once
2
#include "
MRHistoryAction.h
"
3
#include "
MRObject.h
"
4
#include <memory>
5
6
7
namespace
MR
8
{
11
12
15
class
MRMESH_CLASS
ChangeSceneAction
:
public
HistoryAction
16
{
17
public
:
18
enum class
Type
19
{
20
AddObject
,
21
RemoveObject
22
};
23
24
MRMESH_API
ChangeSceneAction
(
const
std::string&
name
,
const
std::shared_ptr<Object>& obj,
Type
type );
25
26
virtual
std::string
name
()
const override
{
return
name_; }
27
28
MRMESH_API
virtual
void
action
(
HistoryAction::Type
actionType )
override
;
29
30
[[nodiscard]]
MRMESH_API
virtual
size_t
heapBytes
()
const override
;
31
32
private
:
34
void
updateParent_();
35
36
Object
* parent_{
nullptr
};
37
std::shared_ptr<Object> nextObj_;
38
std::shared_ptr<Object> obj_;
39
std::string name_;
40
Type type_;
41
};
42
43
}
MRHistoryAction.h
MRMESH_API
#define MRMESH_API
Definition
MRMeshFwd.h:80
MRMESH_CLASS
#define MRMESH_CLASS
Definition
MRMeshFwd.h:87
MRObject.h
MR::HistoryAction
Definition
MRHistoryAction.h:15
MR::Object
named object in the data model
Definition
MRObject.h:62
MR::ChangeSceneAction::action
virtual void action(HistoryAction::Type actionType) override
This function is called on history action (undo, redo, etc.)
MR::HistoryAction::Type
Type
Definition
MRHistoryAction.h:22
MR::ChangeSceneAction::heapBytes
virtual size_t heapBytes() const override
returns the amount of memory this object occupies on heap
MR::ChangeSceneAction::name
virtual std::string name() const override
Definition
MRChangeSceneAction.h:26
MR::ChangeSceneAction::Type
Type
Definition
MRChangeSceneAction.h:19
MR::ChangeSceneAction::ChangeSceneAction
ChangeSceneAction(const std::string &name, const std::shared_ptr< Object > &obj, Type type)
Constructed before removal or addition.
MR::ChangeSceneAction::Type::AddObject
@ AddObject
Definition
MRChangeSceneAction.h:20
MR::ChangeSceneAction::Type::RemoveObject
@ RemoveObject
Definition
MRChangeSceneAction.h:21
MR
only for bindings generation
Definition
MRCameraOrientationPlugin.h:8
MRMesh
MRChangeSceneAction.h
Generated by
1.14.0