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
39namespace 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
common
Definition FuelModelDatabase.hh:37
Definition CommonTypes.hh:90
A class that encapsulates a connection.
Definition Event.hh:69
std::shared_ptr< Battery > BatteryPtr
Definition CommonTypes.hh:125
boost::shared_ptr< NumericAnimation > NumericAnimationPtr
Definition CommonTypes.hh:113
boost::shared_ptr< Animation > AnimationPtr
Definition CommonTypes.hh:105
std::map< std::string, std::string > StrStr_M
Definition CommonTypes.hh:101
boost::shared_ptr< PoseAnimation > PoseAnimationPtr
Definition CommonTypes.hh:109
boost::shared_ptr< DiagnosticTimer > DiagnosticTimerPtr
Definition CommonTypes.hh:117
static const double SpeedOfLight
Speed of light.
Definition CommonTypes.hh:93
std::vector< common::Param * > Param_V
Definition CommonTypes.hh:97
boost::shared_ptr< SphericalCoordinates > SphericalCoordinatesPtr
Definition CommonTypes.hh:121
std::vector< ConnectionPtr > Connection_V
Definition CommonTypes.hh:138
boost::shared_ptr< Connection > ConnectionPtr
Definition CommonTypes.hh:134
Forward declarations for the common classes.
Definition Animation.hh:27
boost::shared_ptr< SensorPlugin > SensorPluginPtr
Definition CommonTypes.hh:58
boost::shared_ptr< VisualPlugin > VisualPluginPtr
Definition CommonTypes.hh:70
boost::shared_ptr< ModelPlugin > ModelPluginPtr
Definition CommonTypes.hh:54
boost::shared_ptr< WorldPlugin > WorldPluginPtr
Definition CommonTypes.hh:50
boost::shared_ptr< GUIPlugin > GUIPluginPtr
Definition CommonTypes.hh:62
boost::shared_ptr< SystemPlugin > SystemPluginPtr
Definition CommonTypes.hh:66