CommonTypes.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_COMMON_TYPES_HH_
18 #define _GAZEBO_COMMON_TYPES_HH_
19 
20 #include <vector>
21 #include <map>
22 #include <string>
23 #include <memory>
24 #include <boost/shared_ptr.hpp>
25 #include "gazebo/util/system.hh"
26 
28 // Defines
30 #ifndef NULL
31 #define NULL 0
32 #endif
33 
37 
39 namespace gazebo
40 {
41  class WorldPlugin;
42  class ModelPlugin;
43  class SensorPlugin;
44  class GUIPlugin;
45  class SystemPlugin;
46  class VisualPlugin;
47 
50  typedef boost::shared_ptr<WorldPlugin> WorldPluginPtr;
51 
54  typedef boost::shared_ptr<ModelPlugin> ModelPluginPtr;
55 
58  typedef boost::shared_ptr<SensorPlugin> SensorPluginPtr;
59 
62  typedef boost::shared_ptr<GUIPlugin> GUIPluginPtr;
63 
66  typedef boost::shared_ptr<SystemPlugin> SystemPluginPtr;
67 
70  typedef boost::shared_ptr<VisualPlugin> VisualPluginPtr;
71 
72  namespace common
73  {
74  class Animation;
75  class Battery;
76  class Color;
77  class DiagnosticTimer;
78  class Image;
79  class Mesh;
80  class SubMesh;
81  class MouseEvent;
82  class NumericAnimation;
83  class Param;
84  class PoseAnimation;
85  class SkeletonAnimation;
86  class SphericalCoordinates;
87  class Time;
88 
89  template <typename T>
90  class ParamT;
91 
93  static const double SpeedOfLight = 299792458;
94 
97  typedef std::vector<common::Param*> Param_V;
98 
101  typedef std::map<std::string, std::string> StrStr_M;
102 
105  typedef boost::shared_ptr<Animation> AnimationPtr;
106 
109  typedef boost::shared_ptr<PoseAnimation> PoseAnimationPtr;
110 
113  typedef boost::shared_ptr<NumericAnimation> NumericAnimationPtr;
114 
117  typedef boost::shared_ptr<DiagnosticTimer> DiagnosticTimerPtr;
118 
121  typedef boost::shared_ptr<SphericalCoordinates> SphericalCoordinatesPtr;
122 
125  typedef std::shared_ptr<Battery> BatteryPtr;
126  }
127 
128  namespace event
129  {
130  class Connection;
131 
134  typedef boost::shared_ptr<Connection> ConnectionPtr;
135 
138  typedef std::vector<ConnectionPtr> Connection_V;
139  }
140 }
142 
143 #endif
boost::shared_ptr< DiagnosticTimer > DiagnosticTimerPtr
Definition: CommonTypes.hh:117
boost::shared_ptr< PoseAnimation > PoseAnimationPtr
Definition: CommonTypes.hh:109
boost::shared_ptr< WorldPlugin > WorldPluginPtr
Definition: CommonTypes.hh:50
boost::shared_ptr< NumericAnimation > NumericAnimationPtr
Definition: CommonTypes.hh:113
Definition: CommonTypes.hh:90
A class that encapsulates a connection.
Definition: Event.hh:79
Forward declarations for the common classes.
Definition: Animation.hh:33
std::vector< common::Param * > Param_V
Definition: CommonTypes.hh:97
boost::shared_ptr< ModelPlugin > ModelPluginPtr
Definition: CommonTypes.hh:54
boost::shared_ptr< VisualPlugin > VisualPluginPtr
Definition: CommonTypes.hh:70
boost::shared_ptr< Animation > AnimationPtr
Definition: CommonTypes.hh:105
boost::shared_ptr< GUIPlugin > GUIPluginPtr
Definition: CommonTypes.hh:62
std::map< std::string, std::string > StrStr_M
Definition: CommonTypes.hh:101
boost::shared_ptr< SphericalCoordinates > SphericalCoordinatesPtr
Definition: CommonTypes.hh:121
boost::shared_ptr< SensorPlugin > SensorPluginPtr
Definition: CommonTypes.hh:58
std::shared_ptr< Battery > BatteryPtr
Definition: CommonTypes.hh:125
boost::shared_ptr< Connection > ConnectionPtr
Definition: CommonTypes.hh:134
static const double SpeedOfLight
Speed of light.
Definition: CommonTypes.hh:93
boost::shared_ptr< SystemPlugin > SystemPluginPtr
Definition: CommonTypes.hh:66
std::vector< ConnectionPtr > Connection_V
Definition: CommonTypes.hh:138