ClassDefinitions.h
Go to the documentation of this file.
1/*
2 * This file is part of ArmarX.
3 *
4 * Copyright (C) 2012-2016, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
5 *
6 * ArmarX is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 * ArmarX is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 *
18 * @package MemoryX::gui-plugins::SceneEditor
19 * @date 2015
20 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
21 * GNU General Public License
22 */
23
24#pragma once
25
26#include <memory>
27#include <vector>
28
29namespace controller
30{
31 class AddOperation;
32 using AddOperationPtr = std::shared_ptr<AddOperation>;
33
35 using AddToGroupOperationPtr = std::shared_ptr<AddToGroupOperation>;
36
37 class ClassDefinitions;
38 using ClassDefinitionsPtr = std::shared_ptr<ClassDefinitions>;
39
40 class Controller;
41 using ControllerPtr = std::shared_ptr<Controller>;
42 using ControllerWeakPtr = std::weak_ptr<Controller>;
43
45 using CreateGroupOperationPtr = std::shared_ptr<CreateGroupOperation>;
46
48 using DeleteGroupOperationPtr = std::shared_ptr<DeleteGroupOperation>;
49
51 using DeselectOperationPtr = std::shared_ptr<DeselectOperation>;
52
53 class Operation;
54 using OperationPtr = std::shared_ptr<Operation>;
55 using OperationPtrListPtr = std::shared_ptr<std::vector<OperationPtr>>;
56
58 using RemoveFromGroupOperationPtr = std::shared_ptr<RemoveFromGroupOperation>;
59
60 class RemoveOperation;
61 using RemoveOperationPtr = std::shared_ptr<RemoveOperation>;
62
64 using RotateTranslateOperationPtr = std::shared_ptr<RotateTranslateOperation>;
65
66 class SelectOperation;
67 using SelectOperationPtr = std::shared_ptr<SelectOperation>;
68
69 class UndoAction;
70 using UndoActionPtr = std::shared_ptr<UndoAction>;
71
72 class UndoRedoStack;
73 using UndoRedoStackPtr = std::shared_ptr<UndoRedoStack>;
74 using UndoRedoStackWeakPtr = std::weak_ptr<UndoRedoStack>;
75} // namespace controller
A Operation to create a new object in the scene and the WorkingMemory.
A operation to add a object to a existing group.
A class to execute Operations, maintain the execution history and initialize Scene and MemoryXControl...
Definition Controller.h:56
A operation to create a new group.
A operation to delete a group.
A operation to deselect a object.
An abstract class, which offers methods to run operations on the WorkingMemory and the Scene.
Definition Operation.h:45
A operation to removes a object from a existing group.
A Operation to remove a object in the scene and the WorkingMemory.
A operation to rotate and translate a object.
A operation to select a object.
A container class to store multiple Operations and undo/redo them.
Definition UndoAction.h:43
A Stack to save a history of Actions.
std::shared_ptr< SelectOperation > SelectOperationPtr
std::weak_ptr< Controller > ControllerWeakPtr
std::shared_ptr< Controller > ControllerPtr
std::shared_ptr< std::vector< OperationPtr > > OperationPtrListPtr
std::shared_ptr< DeselectOperation > DeselectOperationPtr
std::shared_ptr< AddToGroupOperation > AddToGroupOperationPtr
std::shared_ptr< RotateTranslateOperation > RotateTranslateOperationPtr
std::shared_ptr< ClassDefinitions > ClassDefinitionsPtr
std::shared_ptr< DeleteGroupOperation > DeleteGroupOperationPtr
std::shared_ptr< UndoRedoStack > UndoRedoStackPtr
std::shared_ptr< UndoAction > UndoActionPtr
std::weak_ptr< UndoRedoStack > UndoRedoStackWeakPtr
std::shared_ptr< RemoveOperation > RemoveOperationPtr
std::shared_ptr< RemoveFromGroupOperation > RemoveFromGroupOperationPtr
std::shared_ptr< AddOperation > AddOperationPtr
std::shared_ptr< CreateGroupOperation > CreateGroupOperationPtr
std::shared_ptr< Operation > OperationPtr