EntityMaker.hh
Go to the documentation of this file.
1/*
2 * Copyright (C) 2012 Open Source Robotics Foundation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16*/
17#ifndef GAZEBO_GUI_ENTITYMAKER_HH_
18#define GAZEBO_GUI_ENTITYMAKER_HH_
19
20#include <ignition/math/Vector3.hh>
21
22#include "gazebo/util/system.hh"
23
24namespace gazebo
25{
26 namespace common
27 {
28 class MouseEvent;
29 }
30
33 namespace gui
34 {
37
39 class GZ_GUI_VISIBLE EntityMaker
40 {
42 public: EntityMaker();
43
45 public: virtual ~EntityMaker();
46
48 public: virtual void Start();
49
51 public: virtual void Stop();
52
55 public: virtual void OnMouseRelease(const common::MouseEvent &_event);
56
59 public: virtual void OnMouseMove(const common::MouseEvent &_event);
60
63 public: virtual ignition::math::Vector3d EntityPosition() const;
64
67 protected: virtual void SetEntityPosition(
68 const ignition::math::Vector3d &_pos);
69
71 protected: virtual void CreateTheEntity() = 0;
72 };
73 }
74}
75#endif
76
77
common
Definition FuelModelDatabase.hh:37
gui
Definition KeyEventHandler.hh:29
Generic description of a mouse event.
Definition MouseEvent.hh:36
To make an entity, base class.
Definition EntityMaker.hh:40
EntityMaker()
Constructor.
virtual void OnMouseMove(const common::MouseEvent &_event)
Callback when moving mouse.
virtual void OnMouseRelease(const common::MouseEvent &_event)
Callback when mouse button is released.
virtual void Start()
Start the maker.
virtual void CreateTheEntity()=0
Creates the entity.
virtual void SetEntityPosition(const ignition::math::Vector3d &_pos)
Sets the entity world position.
virtual ignition::math::Vector3d EntityPosition() const
Returns the entity world position.
virtual void Stop()
Stop the maker.
virtual ~EntityMaker()
Destructor.
Forward declarations for the common classes.
Definition Animation.hh:27