61 #ifndef KJB_RIGID_OBJECT_H
62 #define KJB_RIGID_OBJECT_H
75 #define RO_ANGLE_EPSILON 1e-120
92 q(0.0, 0.0, 0.0, kjb::
Quaternion::XYZR),temp_matrix(4,4)
110 temp_matrix.
swap(other.temp_matrix);
114 virtual void translate(
double dx,
double dy,
double dz);
120 virtual void rotate(
double dpitch,
double dyaw,
double droll);
134 virtual void set_rotations(
double pitch,
double yaw,
double roll);
virtual void translate(double dx, double dy, double dz)
Translates this rigid object.
Definition: gr_rigid_object.cpp:86
Definition for the Matrix class, a thin wrapper on the KJB Matrix struct and its related functionalit...
const Matrix & get_rotation_matrix() const
Definition: g_quaternion.cpp:282
const Matrix & get_rotations() const
Returns the current transformation matrix, that is used to store the rotation to be applied to the ob...
Definition: gr_rigid_object.h:151
This class implements vectors, in the linear-algebra sense, with real-valued elements.
Definition: m_vector.h:87
Euler_mode
Definition: g_quaternion.h:55
virtual void compute_new_euler_angles_on_rotations(double dpitch, double dyaw, double droll, kjb::Vector &angles) const
computes the new values for the object's euler angles, after a rotation of dpitch around the object's...
Definition: gr_rigid_object.cpp:123
virtual void set_rotations(double pitch, double yaw, double roll)
rotate this object so that its pitch, yaw and roll match the input values
Definition: gr_rigid_object.cpp:142
Abstract class to clone this object.
Definition: l_cloneable.h:45
Definition: g_quaternion.h:40
const kjb::Quaternion & get_orientation() const
returns the quaternion defining this object's orientation
Definition: gr_rigid_object.h:174
void swap(Self &other)
Definition: g_quaternion.cpp:250
void set_orientation(const Quaternion &orientation)
sets the orientation of this object from an input quaternion
Definition: gr_rigid_object.cpp:179
Abstract class to clone this object.
virtual void transform(const kjb::Matrix &M)=0
virtual Rigid_object & operator=(const Rigid_object &src)
Definition: gr_rigid_object.cpp:73
Quaternion & set_euler_mode(Euler_mode m)
Definition: g_quaternion.cpp:516
const Vector & get_euler_angles() const
returns vector [phi, theta, psi]
Definition: g_quaternion.cpp:308
virtual void rotate(double dpitch, double dyaw, double droll)
rotate this object around its x-axis by dpitch, the y-axis by dyaw, and its z-axis by droll (in this ...
Definition: gr_rigid_object.cpp:105
const Vector & get_euler_angles() const
returns vector [pitch, yaw, roll]
Definition: gr_rigid_object.h:158
Rigid_object()
Definition: gr_rigid_object.h:91
This class implements matrices, in the linear-algebra sense, with real-valued elements.
Definition: m_matrix.h:94
virtual void swap(Self &other)
Definition: gr_rigid_object.h:107
void swap(Matrix &other)
Swap the representations of two matrices.
Definition: m_matrix.h:532
virtual void set_rotations_and_translate(double pitch, double yaw, double roll, double dx, double dy, double dz)
rotate this object so that its pitch, yaw and roll match the input values, and translates it ...
Definition: gr_rigid_object.cpp:169
Definition: gr_rigid_object.h:87
Definition for the Vector class, a thin wrapper on the KJB Vector struct and its related functionalit...
void set_rotation_mode(kjb::Quaternion::Euler_mode imode)
Definition: gr_rigid_object.h:168
virtual ~Rigid_object()
Definition: gr_rigid_object.h:99
virtual Rigid_object * clone() const =0
Processes an Option from program command-line arguments.