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