Fawkes API
Fawkes Development Version
|
A homogeneous vector. More...
#include <geometry/hom_vector.h>
Public Member Functions | |
HomVector (float x=0, float y=0, float z=0) | |
Constructor. More... | |
HomVector (const HomCoord &h) | |
Constructor. More... | |
virtual | ~HomVector () |
Destructor. More... | |
float | length () const |
Calculates the length of the vector. More... | |
float | length_square () const |
Calculates the squared length length of the vector (faster than length. More... | |
HomVector & | set_length (float length) |
Scales the vector such that it has the given length. More... | |
HomVector & | unit () |
Brings the vector to unit-length. More... | |
float | angle_xy (const HomVector &h) const |
Compute the angle between two vectors. More... | |
![]() | |
HomCoord (const HomCoord &c) | |
Copy constructor. More... | |
virtual | ~HomCoord () |
Destructor. More... | |
virtual float | x () const |
RO-getter for x. More... | |
virtual float & | x () |
RW-getter for x. More... | |
virtual HomCoord & | x (float x) |
Setter function for x. More... | |
virtual float | y () const |
RO-getter for y. More... | |
virtual float & | y () |
RW-getter for y. More... | |
virtual HomCoord & | y (float y) |
Setter function for y. More... | |
virtual float | z () const |
RO-getter for z. More... | |
virtual float & | z () |
RW-getter for z. More... | |
virtual HomCoord & | z (float z) |
Setter function for z. More... | |
virtual float | w () const |
RO-getter for w. More... | |
virtual float & | w () |
RW-getter for w. More... | |
virtual HomCoord & | w (float w) |
Setter function for w. More... | |
virtual HomCoord & | rotate_x (float rad) |
Convenience function to rotate the HomCoord around the x-axis. More... | |
virtual HomCoord & | rotate_y (float rad) |
Convenience function to rotate the HomCoord around the y-axis. More... | |
virtual HomCoord & | rotate_z (float rad) |
Convenience function to rotate the HomCoord around the z-axis. More... | |
HomCoord & | transform (const HomTransform &t) |
Transform the vector with the given transform. More... | |
virtual HomCoord | operator- (const HomCoord &h) const |
Subtraction operator. More... | |
virtual HomCoord & | operator-= (const HomCoord &h) |
Substraction-assignment operator. More... | |
virtual HomCoord | operator+ (const HomCoord &h) const |
Addition operator. More... | |
virtual HomCoord & | operator+= (const HomCoord &h) |
Addition-assignment operator. More... | |
virtual float | operator* (const HomCoord &h) const |
Calculates the dot product of two coords. More... | |
virtual HomCoord | operator* (const float s) const |
Mulitplication operator. More... | |
virtual HomCoord & | operator*= (const float s) |
Multiplication-assignment operator. More... | |
virtual HomCoord & | operator= (const HomCoord &h) |
Assignment operator. More... | |
virtual bool | operator== (const HomCoord &h) const |
Comparison operator. More... | |
virtual bool | operator!= (const HomCoord &h) const |
Inequality operator. More... | |
![]() | |
Printable () | |
Constructor. More... | |
virtual | ~Printable () |
Destructor. More... | |
Additional Inherited Members | |
![]() | |
HomCoord (float x=0.0, float y=0.0, float z=0.0, float w=0.0) | |
Constructor. More... | |
HomCoord (const Vector &v) | |
Constructor. More... | |
virtual std::ostream & | print (std::ostream &stream) const |
Appends the components of the HomCoord to the ostream. More... | |
![]() | |
Vector * | m_vector |
The internal data container. More... | |
A homogeneous vector.
Definition at line 31 of file hom_vector.h.
fawkes::HomVector::HomVector | ( | float | x = 0 , |
float | y = 0 , |
||
float | z = 0 |
||
) |
Constructor.
x | the x-coordinate |
y | the y-coordinate |
z | the z-coordinate |
Definition at line 41 of file hom_vector.cpp.
fawkes::HomVector::HomVector | ( | const HomCoord & | h | ) |
Constructor.
h | a HomCoord |
Definition at line 49 of file hom_vector.cpp.
References fawkes::HomCoord::w().
|
virtual |
Destructor.
Definition at line 61 of file hom_vector.cpp.
float fawkes::HomVector::angle_xy | ( | const HomVector & | v | ) | const |
Compute the angle between two vectors.
v | the other vector |
Definition at line 117 of file hom_vector.cpp.
References length(), fawkes::HomCoord::x(), and fawkes::HomCoord::y().
float fawkes::HomVector::length | ( | ) | const |
Calculates the length of the vector.
Definition at line 69 of file hom_vector.cpp.
References length_square().
Referenced by angle_xy(), fawkes::LineSegment::length(), and set_length().
float fawkes::HomVector::length_square | ( | ) | const |
Calculates the squared length length of the vector (faster than length.
Definition at line 78 of file hom_vector.cpp.
References fawkes::HomCoord::x(), fawkes::HomCoord::y(), and fawkes::HomCoord::z().
Referenced by length().
HomVector & fawkes::HomVector::set_length | ( | float | length | ) |
Scales the vector such that it has the given length.
length | the new length |
Definition at line 99 of file hom_vector.cpp.
References length(), fawkes::HomCoord::x(), fawkes::HomCoord::y(), and fawkes::HomCoord::z().
Referenced by fawkes::HomPolar::r(), and unit().
HomVector & fawkes::HomVector::unit | ( | ) |
Brings the vector to unit-length.
Definition at line 87 of file hom_vector.cpp.
References set_length().
Referenced by fawkes::HomPose2d::HomPose2d().