DeselectOperation.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// std
27#include <exception>
28#include <string>
29
30// local
31#include "../scene3D/Scene.h"
32#include "Operation.h"
33
34namespace controller
35{
36 /**
37 * A operation to deselect a object.
38 *
39 * @see controller::Operation
40 */
42 {
43 public:
44 /**
45 * Creates a new operation, which deselects a object.
46 *
47 * @param memoryXController The MemoryXController to deselect the object at. (This is currently not used.)
48 * @param scene The scene to deselect the object at.
49 * @param objectId The ID of the object to deselect.
50 *
51 * @see controller::Operation::Operation
52 */
54 const std::shared_ptr<memoryxcontroller::MemoryXController>& memoryXController,
55 const std::shared_ptr<scene3D::Scene>& scene,
56 const std::string& objectId);
57
58 /**
59 * Returns a new operation, which selects the object again.
60 *
61 * @return The operation, which selects the object again.
62 *
63 * @see controller::Operation::createInverseOperation
64 */
65 const OperationPtr createInverseOperation() const override;
66
67 protected:
68 /**
69 * Because the WorkingMemory does not support selection, nothing is done on the WorkingMemory.
70 *
71 * @see controller::Operation::executeOnWorkingMemory
72 */
73 void executeOnWorkingMemory() override;
74
75 /**
76 * Deselects the object.
77 *
78 * @see controller::Operation::executeOnScene
79 */
80 void executeOnScene() override;
81
82 private:
83 bool wasSelected;
84 };
85} // namespace controller
DeselectOperation(const std::shared_ptr< memoryxcontroller::MemoryXController > &memoryXController, const std::shared_ptr< scene3D::Scene > &scene, const std::string &objectId)
Creates a new operation, which deselects a object.
const OperationPtr createInverseOperation() const override
Returns a new operation, which selects the object again.
void executeOnScene() override
Deselects the object.
void executeOnWorkingMemory() override
Because the WorkingMemory does not support selection, nothing is done on the WorkingMemory.
Operation(const std::shared_ptr< memoryxcontroller::MemoryXController > &memoryXController, const std::shared_ptr< scene3D::Scene > &scene, const std::string &objectId)
A constructor.
Definition Operation.cpp:26
std::shared_ptr< Operation > OperationPtr