32 #ifndef ROSFLIGHT_SIM_GZ_COMPAT_H //Include guard 33 #define ROSFLIGHT_SIM_GZ_COMPAT_H 35 #include <gazebo/gazebo.hh> 37 #if GAZEBO_MAJOR_VERSION >= 8 43 #define GZ_COMPAT_GET_X(VECTOR) (VECTOR).X() 44 #define GZ_COMPAT_GET_Y(VECTOR) (VECTOR).Y() 45 #define GZ_COMPAT_GET_Z(VECTOR) (VECTOR).Z() 46 #define GZ_COMPAT_GET_W(VECTOR) (VECTOR).W() //For quaternions 47 #define GZ_COMPAT_SET_X(VECTOR,VALUE) (VECTOR).X((VALUE)) 48 #define GZ_COMPAT_SET_Y(VECTOR,VALUE) (VECTOR).Y((VALUE)) 49 #define GZ_COMPAT_SET_Z(VECTOR,VALUE) (VECTOR).Z((VALUE)) 50 #define GZ_COMPAT_SET_W(VECTOR,VALUE) (VECTOR).W((VALUE)) 51 #define GZ_COMPAT_GET_POS(POSE) (POSE).Pos() 52 #define GZ_COMPAT_GET_ROT(POSE) (POSE).Rot() 53 #define GZ_COMPAT_GET_EULER(QUAT) (QUAT).Euler() 54 #define GZ_COMPAT_GET_SIM_TIME(WORLD_PTR) (WORLD_PTR)->SimTime() 55 #define GZ_COMPAT_GET_RELATIVE_LINEAR_VEL(LINK_PTR) (LINK_PTR)->RelativeLinearVel() 56 #define GZ_COMPAT_GET_RELATIVE_ANGULAR_VEL(LINK_PTR) (LINK_PTR)->RelativeAngularVel() 57 #define GZ_COMPAT_GET_WORLD_COG_POSE(LINK_PTR) (LINK_PTR)->WorldCoGPose() 58 #define GZ_COMPAT_GET_WORLD_POSE(LINK_PTR) (LINK_PTR)->WorldPose() 59 #define GZ_COMPAT_GET_RELATIVE_FORCE(LINK_PTR) (LINK_PTR)->RelativeForce() 60 #define GZ_COMPAT_GET_ENTITY(WORLD_PTR,FRAME_ID_PTR) (WORLD_PTR)->EntityByName((FRAME_ID_PTR)) 61 #define GZ_COMPAT_GET_WORLD_LINEAR_ACCEL(LINK_PTR) (LINK_PTR)->WorldLinearAccel() 62 #define GZ_COMPAT_GET_LENGTH(VECTOR) (VECTOR).Length() 63 #define GZ_COMPAT_DISCONNECT_WORLD_UPDATE_BEGIN(CONNECTION) (CONNECTION).reset() 64 #define GZ_COMPAT_GET_GRAVITY(WORLD_PTR) (WORLD_PTR)->Gravity() 65 #define GZ_COMPAT_GET_MASS(INERTIAL_PTR) (INERTIAL_PTR)->Mass() 67 #else //I.E. GAZEBO_MAJOR_VERSION < 8 73 #define GZ_COMPAT_GET_X(VECTOR) (VECTOR).x 74 #define GZ_COMPAT_GET_Y(VECTOR) (VECTOR).y 75 #define GZ_COMPAT_GET_Z(VECTOR) (VECTOR).z 76 #define GZ_COMPAT_GET_W(VECTOR) (VECTOR).w //For quaternions 77 #define GZ_COMPAT_SET_X(VECTOR,VALUE) (VECTOR).x = (VALUE) 78 #define GZ_COMPAT_SET_Y(VECTOR,VALUE) (VECTOR).y = (VALUE) 79 #define GZ_COMPAT_SET_Z(VECTOR,VALUE) (VECTOR).z = (VALUE) 80 #define GZ_COMPAT_SET_W(VECTOR,VALUE) (VECTOR).w = (VALUE) 81 #define GZ_COMPAT_GET_POS(POSE) (POSE).pos 82 #define GZ_COMPAT_GET_ROT(POSE) (POSE).rot 83 #define GZ_COMPAT_GET_EULER(QUAT) (QUAT).GetAsEuler() 84 #define GZ_COMPAT_GET_SIM_TIME(WORLD_PTR) (WORLD_PTR)->GetSimTime() 85 #define GZ_COMPAT_GET_RELATIVE_LINEAR_VEL(LINK_PTR) (LINK_PTR)->GetRelativeLinearVel() 86 #define GZ_COMPAT_GET_RELATIVE_ANGULAR_VEL(LINK_PTR) (LINK_PTR)->GetRelativeAngularVel() 87 #define GZ_COMPAT_GET_WORLD_COG_POSE(LINK_PTR) (LINK_PTR)->GetWorldCoGPose() 88 #define GZ_COMPAT_GET_WORLD_POSE(LINK_PTR) (LINK_PTR)->GetWorldPose() 89 #define GZ_COMPAT_GET_RELATIVE_FORCE(LINK_PTR) (LINK_PTR)->GetRelativeForce() 90 #define GZ_COMPAT_GET_ENTITY(WORLD_PTR,FRAME_ID_PTR) (WORLD_PTR)->GetEntity((FRAME_ID_PTR)) 91 #define GZ_COMPAT_GET_WORLD_LINEAR_ACCEL(LINK_PTR) (LINK_PTR)->GetWorldLinearAccel() 92 #define GZ_COMPAT_GET_LENGTH(VECTOR) (VECTOR).GetLength() 93 #define GZ_COMPAT_DISCONNECT_WORLD_UPDATE_BEGIN(CONNECTION) gazebo::event::Events::DisconnectWorldUpdateBegin((CONNECTION)) 94 #define GZ_COMPAT_GET_GRAVITY(WORLD_PTR) (WORLD_PTR)->GetPhysicsEngine()->GetGravity() 95 #define GZ_COMPAT_GET_MASS(INERTIAL_PTR) (INERTIAL_PTR)->GetMass() 97 #endif //GAZEBO_MAJOR_VERSION >= 8 99 #endif //Include guard gazebo::math::Vector3 GazeboVector
gazebo::math::Pose GazeboPose
gazebo::math::Quaternion GazeboQuaternion