GazeboVersionHelpers.h
Go to the documentation of this file.
00001 #ifndef GAZEBO_VERSIONHELPERS_H
00002 #define GAZEBO_VERSIONHELPERS_H
00003 
00004 #include <gazebo/gazebo.hh>
00005 
00006 namespace gazebo
00007 {
00008 
00009 // typedefs
00010 #if GAZEBO_MAJOR_VERSION >= 8
00011 namespace gz_math = ignition::math;
00012 typedef gz_math::Pose3d GzPose3;
00013 typedef gz_math::Vector3d GzVector3;
00014 typedef gz_math::Quaterniond GzQuaternion;
00015 typedef gz_math::Matrix4d GzMatrix4;
00016 typedef gz_math::Matrix3d GzMatrix3;
00017 #else
00018 namespace gz_math = gazebo::math;
00019 typedef gz_math::Pose GzPose3;
00020 typedef gz_math::Vector3 GzVector3;
00021 typedef gz_math::Quaternion GzQuaternion;
00022 typedef gz_math::Matrix4 GzMatrix4;
00023 typedef gz_math::Matrix3 GzMatrix3;
00024 #endif
00025 
00026 // Helper functions
00027 // //////////////////////////
00028 
00030 GzPose3 GetWorldPose(const gazebo::physics::LinkPtr &link);
00031 
00033 GzVector3 GetWorldVelocity(const gazebo::physics::LinkPtr &link);
00034 
00036 GzMatrix4 GetIdentity();
00037 
00039 GzMatrix4 GetMatrix(const GzPose3 &pose);
00040 
00042 GzMatrix4 GetMatrix(const GzVector3 &pos);
00043 
00045 double GetLength(const GzVector3 &v);
00046 
00048 GzVector3 GetVector(const double x, const double y, const double z);
00049 
00051 void SetX(GzVector3 &v, const double val);
00052 void SetY(GzVector3 &v, const double val);
00053 void SetZ(GzVector3 &v, const double val);
00054 double GetX(const GzVector3 &v);
00055 double GetY(const GzVector3 &v);
00056 double GetZ(const GzVector3 &v);
00057 
00058 
00060 void SetX(GzQuaternion &q, const double val);
00061 void SetY(GzQuaternion &q, const double val);
00062 void SetZ(GzQuaternion &q, const double val);
00063 void SetW(GzQuaternion &q, const double val);
00064 double GetX(const GzQuaternion &q);
00065 double GetY(const GzQuaternion &q);
00066 double GetZ(const GzQuaternion &q);
00067 double GetW(const GzQuaternion &q);
00068 
00070 GzVector3 GetPos(const GzPose3 &pose);
00072 GzVector3 GetPos(const GzMatrix4 &mat);
00073 
00075 GzQuaternion GetRot(const GzPose3 &pose);
00077 GzQuaternion GetRot(const GzMatrix4 &mat);
00078 
00080 gazebo::physics::PhysicsEnginePtr GetPhysics(
00081   const gazebo::physics::WorldPtr &world);
00082 
00083 
00085 gazebo::physics::EntityPtr GetEntityByName(
00086   const gazebo::physics::WorldPtr &world, const std::string &name);
00087 
00089 gazebo::physics::ModelPtr GetModelByName(
00090   const gazebo::physics::WorldPtr &world, const std::string &name);
00091 
00093 gazebo::physics::Model_V GetModels(const gazebo::physics::WorldPtr &world);
00094 
00096 template<typename T>
00097 GzVector3 GetSize3(const T& t)
00098 {
00099 #if GAZEBO_MAJOR_VERSION >= 8
00100     return t.Size();
00101 #else
00102     return t.GetSize();
00103 #endif
00104 }
00105 
00107 template<typename T>
00108 std::string GetName(const T& t)
00109 {
00110 #if GAZEBO_MAJOR_VERSION >= 8
00111     return t.Name();
00112 #else
00113     return t.GetName();
00114 #endif
00115 }
00116 
00118 template<typename T>
00119 gz_math::Box GetBoundingBox(const T &t)
00120 {
00121 #if GAZEBO_MAJOR_VERSION >= 8
00122     return t.BoundingBox();
00123 #else
00124     return t.GetBoundingBox();
00125 #endif
00126 }
00127 
00129 GzVector3 GetBoundingBoxDimensions(const gz_math::Box &box);
00130 
00132 template<typename T>
00133 GzPose3 GetRelativePose(const T &t)
00134 {
00135 #if GAZEBO_MAJOR_VERSION >= 8
00136     return t.RelativePose();
00137 #else
00138     return t.GetRelativePose();
00139 #endif
00140 }
00141 
00142 
00143 
00144 }  // namespace
00145 
00146 #endif  //  GAZEBO_VERSIONHELPERS_H


gazebo_version_helpers
Author(s):
autogenerated on Tue May 7 2019 03:29:29