46 public:
explicit Inertial(
double _mass);
57 public:
void Load(sdf::ElementPtr _sdf);
61 public:
void UpdateParameters(sdf::ElementPtr _sdf);
67 public:
void SetMass(
double m);
70 public:
double GetMass()
const;
79 public:
void SetInertiaMatrix(
double _ixx,
double _iyy,
double _izz,
80 double _ixy,
double _ixz,
double iyz);
86 public:
void SetCoG(
double _cx,
double _cy,
double _cz);
100 public:
void SetCoG(
double _cx,
double _cy,
double _cz,
101 double _rx,
double _ry,
double _rz);
111 return this->cog.pos;
132 public:
double GetIXX()
const;
136 public:
double GetIYY()
const;
140 public:
double GetIZZ()
const;
144 public:
double GetIXY()
const;
148 public:
double GetIXZ()
const;
152 public:
double GetIYZ()
const;
156 public:
void SetIXX(
double _v);
160 public:
void SetIYY(
double _v);
164 public:
void SetIZZ(
double _v);
168 public:
void SetIXY(
double _v);
172 public:
void SetIXZ(
double _v);
176 public:
void SetIYZ(
double _v);
203 public:
void ProcessMsg(
const msgs::Inertial &_msg);
226 public:
friend std::ostream &operator<<(std::ostream &_out,
229 _out <<
"Mass[" << _inertial.mass <<
"] CoG["
230 << _inertial.cog <<
"]\n";
231 _out <<
"IXX[" << _inertial.principals.
x <<
"] "
232 <<
"IYY[" << _inertial.principals.
y <<
"] "
233 <<
"IZZ[" << _inertial.principals.
z <<
"]\n";
234 _out <<
"IXY[" << _inertial.products.
x <<
"] "
235 <<
"IXZ[" << _inertial.products.
y <<
"] "
236 <<
"IYZ[" << _inertial.products.
z <<
"]\n";
249 private:
double mass;
265 private: sdf::ElementPtr sdf;
269 private:
static sdf::ElementPtr sdfInertial;