60 public:
Pose(
double _x,
double _y,
double _z,
61 double _roll,
double _pitch,
double _yaw);
68 public:
virtual ~
Pose();
87 public:
void Set(
double _x,
double _y,
double _z,
88 double _roll,
double _pitch,
double _yaw);
91 public:
bool IsFinite()
const;
102 public:
Pose GetInverse()
const;
110 public:
Pose operator+(
const Pose &_pose)
const;
115 public:
const Pose &operator+=(
const Pose &_pose);
123 return Pose() - *
this;
134 return Pose(this->CoordPositionSub(_pose),
135 this->CoordRotationSub(_pose.
rot));
141 public:
const Pose &operator-=(
const Pose &_pose);
146 public:
bool operator ==(
const Pose &_pose)
const;
151 public:
bool operator!=(
const Pose &_pose)
const;
156 public:
Pose operator*(
const Pose &_pose);
160 public:
Pose &operator=(
const Pose &_pose);
170 public:
Vector3 CoordPositionAdd(
const Pose &_pose)
const;
178 this->pos.x - _pose.
pos.
x,
179 this->pos.y - _pose.
pos.
y,
180 this->pos.z - _pose.
pos.
z);
204 public:
Pose CoordPoseSolve(
const Pose &_b)
const;
207 public:
void Reset();
212 public:
Pose RotatePositionAboutOrigin(
const Quaternion &_rot)
const;
216 public:
void Round(
int _precision);
225 _out << _pose.
pos <<
" " << _pose.
rot;
237 _in.setf(std::ios_base::skipws);
238 _in >> _pose.
pos >> _pose.
rot;