CommonTypes.hh
Go to the documentation of this file.
00001 #ifndef GAZEBO_COMMON_TYPES_HH 00002 #define GAZEBO_COMMON_TYPES_HH 00003 00004 #include <vector> 00005 #include <map> 00006 #include <string> 00007 #include <boost/shared_ptr.hpp> 00008 00010 // Defines 00012 #ifndef NULL 00013 #define NULL 0 00014 #endif 00015 00017 // Macros 00019 00020 #if defined(__GNUC__) 00021 #define GAZEBO_DEPRECATED __attribute__((deprecated)) 00022 #define GAZEBO_FORCEINLINE __attribute__((always_inline)) 00023 #elif defined(MSVC) 00024 #define GAZEBO_DEPRECATED 00025 #define GAZEBO_FORCEINLINE __forceinline 00026 #else 00027 #define GAZEBO_DEPRECATED 00028 #define GAZEBO_FORCEINLINE 00029 #endif 00030 00031 00035 namespace gazebo 00036 { 00037 class WorldPlugin; 00038 class ModelPlugin; 00039 class SensorPlugin; 00040 class GUIPlugin; 00041 class SystemPlugin; 00042 00043 typedef boost::shared_ptr<WorldPlugin> WorldPluginPtr; 00044 typedef boost::shared_ptr<ModelPlugin> ModelPluginPtr; 00045 typedef boost::shared_ptr<SensorPlugin> SensorPluginPtr; 00046 typedef boost::shared_ptr<GUIPlugin> GUIPluginPtr; 00047 typedef boost::shared_ptr<SystemPlugin> SystemPluginPtr; 00048 00049 namespace common 00050 { 00051 class Param; 00052 class Time; 00053 class Image; 00054 class Mesh; 00055 class MouseEvent; 00056 class PoseAnimation; 00057 class NumericAnimation; 00058 class Animation; 00059 class Color; 00060 00061 template <typename T> 00062 class ParamT; 00063 00064 typedef std::vector<common::Param*> Param_V; 00065 typedef std::map<std::string, std::string> StrStr_M; 00066 typedef boost::shared_ptr<Animation> AnimationPtr; 00067 typedef boost::shared_ptr<PoseAnimation> PoseAnimationPtr; 00068 typedef boost::shared_ptr<NumericAnimation> NumericAnimationPtr; 00069 } 00070 00071 namespace event 00072 { 00073 class Connection; 00074 typedef boost::shared_ptr<Connection> ConnectionPtr; 00075 typedef std::vector<ConnectionPtr> Connection_V; 00076 } 00077 } 00078 00079 #endif

1.7.5.1