82 res = res + this->
trans();
99 double dist_x =
x() - other.
x();
100 double dist_y =
y() - other.
y();
101 double dist_z =
z() - other.
z();
102 return sqrt(dist_x*dist_x + dist_y*dist_y + dist_z*dist_z);
106 return sqrt(
x()*
x() +
y()*
y() +
z()*
z());
116 return !(*
this == other);
148 s <<
"(" << p.
x() <<
" " << p.
y() <<
" " << p.
z()
149 <<
", " << p.
rot().
u() <<
" " << p.
rot().
x() <<
" " << p.
rot().
y() <<
" " << p.
rot().
z() <<
")";
std::istream & read(std::istream &s)
Input operator.
Vector3 transform(const Vector3 &v) const
Transformation of a vector.
std::ostream & writeBinary(std::ostream &s) const
std::ostream & operator<<(std::ostream &s, const Pose6D &p)
user friendly output in format (x y z, u x y z) which is (translation, rotation)
std::istream & read(std::istream &s)
Pose6D & operator=(const Pose6D &other)
std::istream & read(std::istream &s)
std::istream & readBinary(std::istream &s)
Binary input operator.
bool operator==(const Pose6D &other) const
std::ostream & write(std::ostream &s) const
double transLength() const
Translational length.
Quaternion inv() const
Inversion.
Quaternion normalized() const
const Pose6D & operator*=(const Pose6D &p)
In place concatenation.
std::istream & readBinary(std::istream &s)
std::ostream & writeBinary(std::ostream &s) const
bool operator!=(const Pose6D &other) const
This class represents a tree-dimensional pose of an object.
Vector3 & trans()
Translational component.
This class represents a three-dimensional vector.
std::ostream & write(std::ostream &s) const
Output operator.
std::ostream & writeBinary(std::ostream &s) const
Binary output operator.
Vector3 rotate(const Vector3 &v) const
Rotate a vector.
double distance(const Pose6D &other) const
Translational distance.
Pose6D operator*(const Pose6D &p) const
Concatenation.
Quaternion & rot()
Rotational component.
std::ostream & write(std::ostream &s) const
Pose6D & inv_IP()
Inversion.
Pose6D inv() const
Inversion.
This class represents a Quaternion.
std::istream & readBinary(std::istream &s)