17 #ifndef GZ_SENSORS_IMUSENSOR_HH_
18 #define GZ_SENSORS_IMUSENSOR_HH_
24 #include <gz/utils/SuppressWarning.hh>
25 #include <gz/math/Pose3.hh>
27 #include <gz/sensors/config.hh>
28 #include <gz/sensors/imu/Export.hh>
37 inline namespace GZ_SENSORS_VERSION_NAMESPACE {
61 class ImuSensorPrivate;
78 public:
virtual bool Load(
const sdf::Sensor &_sdf)
override;
83 public:
virtual bool Load(sdf::ElementPtr _sdf)
override;
87 public:
virtual bool Init()
override;
94 public:
virtual bool Update(
95 const std::chrono::steady_clock::duration &_now)
override;
100 public:
void SetAngularVelocity(
const math::Vector3d &_angularVel);
105 public: math::Vector3d AngularVelocity()
const;
110 public:
void SetLinearAcceleration(
const math::Vector3d &_linearAcc);
115 public: math::Vector3d LinearAcceleration()
const;
119 public:
void SetWorldPose(
const math::Pose3d _pose);
123 public: math::Pose3d WorldPose()
const;
129 public:
void SetOrientationReference(
130 const math::Quaterniond &_orient);
134 public: math::Quaterniond OrientationReference()
const;
141 public: math::Quaterniond Orientation()
const;
145 public:
void SetGravity(
const math::Vector3d &_gravity);
152 public:
void SetOrientationEnabled(
bool _enabled);
156 public:
bool OrientationEnabled()
const;
160 public: math::Vector3d Gravity()
const;
166 public:
void SetWorldFrameOrientation(
171 public:
virtual bool HasConnections()
const override;
173 GZ_UTILS_WARN_IGNORE__DLL_INTERFACE_MISSING
177 GZ_UTILS_WARN_RESUME__DLL_INTERFACE_MISSING