Go to the documentation of this file.
33 #include "../scene3D/Scene.h"
34 #include "../memoryxcontroller/MemoryXController.h"
60 Operation(
const std::shared_ptr<memoryxcontroller::MemoryXController>& memoryXController,
const std::shared_ptr<scene3D::Scene>& scene,
const std::string& objectId);
71 Operation(
const std::shared_ptr<memoryxcontroller::MemoryXController>& memoryXController,
const std::shared_ptr<scene3D::Scene>& scene);
116 const std::shared_ptr<scene3D::Scene>
getScene()
const;
134 std::weak_ptr<scene3D::Scene> scene;
135 std::weak_ptr<memoryxcontroller::MemoryXController> memoryXController;
136 std::string objectId;
std::string getObjectId() const
Returns the ID of the object, this Operation is working on.
virtual const OperationPtr createInverseOperation() const =0
Returns a Operation, which reverts the changes done in this instance of the Operation.
const std::shared_ptr< scene3D::Scene > getScene() const
Returns the the Scene to execute the Operation at.
const std::shared_ptr< memoryxcontroller::MemoryXController > getMemoryXController() const
Returns the the MemoryXController to execute the Operation at.
A Stack to save a history of Actions.
Operation(const std::shared_ptr< memoryxcontroller::MemoryXController > &memoryXController, const std::shared_ptr< scene3D::Scene > &scene, const std::string &objectId)
A constructor.
A class to execute Operations, maintain the execution history and initialize Scene and MemoryXControl...
virtual bool isExecuteable()
Return wehether the operation can be executed currently.
std::shared_ptr< Operation > OperationPtr
virtual void executeOnScene()=0
Executes the Operation on the given Scene.
virtual void executeOnWorkingMemory()=0
Executes the Operation on the given WorkingMemory.
void setObjectId(const std::string &objectId)
Sets the ID, this operation is working on.
An abstract class, which offers methods to run operations on the WorkingMemory and the Scene.