34#ifndef OCTOMATH_QUATERNION_H
35#define OCTOMATH_QUATERNION_H
97 Quaternion(
double roll,
double pitch,
double yaw);
113 void toRotMatrix(std::vector <double>& rot_matrix_3_3)
const;
178 inline float&
u() {
return data[0]; }
179 inline float&
x() {
return data[1]; }
180 inline float&
y() {
return data[2]; }
181 inline float&
z() {
return data[3]; }
183 inline const float&
u()
const {
return data[0]; }
184 inline const float&
x()
const {
return data[1]; }
185 inline const float&
y()
const {
return data[2]; }
186 inline const float&
z()
const {
return data[3]; }
188 std::istream&
read(std::istream &s);
189 std::ostream&
write(std::ostream &s)
const;
This class represents a Quaternion.
Definition: Quaternion.h:56
void operator/=(float x)
Definition: Quaternion.cpp:107
Vector3 rotate(const Vector3 &v) const
Rotate a vector.
Definition: Quaternion.cpp:255
float & y()
Definition: Quaternion.h:180
Quaternion & normalize()
Definition: Quaternion.cpp:234
Quaternion & operator=(const Quaternion &other)
Definition: Quaternion.cpp:211
Vector3 toEuler() const
Conversion to Euler angles.
Definition: Quaternion.cpp:124
std::istream & readBinary(std::istream &s)
Definition: Quaternion.cpp:279
Quaternion operator*(const Quaternion &other) const
Quaternion multiplication.
Definition: Quaternion.cpp:219
Quaternion normalized() const
Definition: Quaternion.cpp:241
std::istream & read(std::istream &s)
Definition: Quaternion.cpp:261
float & x()
Definition: Quaternion.h:179
void toRotMatrix(std::vector< double > &rot_matrix_3_3) const
Definition: Quaternion.cpp:167
const float & operator()(unsigned int i) const
Definition: Quaternion.h:116
std::ostream & writeBinary(std::ostream &s) const
Definition: Quaternion.cpp:291
const float & u() const
Definition: Quaternion.h:183
Quaternion inv() const
Inversion.
Definition: Quaternion.h:156
float data[4]
Definition: Quaternion.h:194
Quaternion & inv_IP()
Inversion.
Definition: Quaternion.cpp:248
bool operator==(const Quaternion &other) const
Definition: Quaternion.cpp:113
float norm() const
Definition: Quaternion.cpp:99
const float & z() const
Definition: Quaternion.h:186
float & u()
Definition: Quaternion.h:178
std::ostream & write(std::ostream &s) const
Definition: Quaternion.cpp:270
const float & x() const
Definition: Quaternion.h:184
Quaternion()
Default constructor.
Definition: Quaternion.h:66
const float & y() const
Definition: Quaternion.h:185
float & z()
Definition: Quaternion.h:181
This class represents a three-dimensional vector.
Definition: Vector3.h:50
Namespace of the math library in OctoMap.
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)
Definition: Pose6D.cpp:152