Fawkes API  Fawkes Development Version
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
fawkes::HomPoint Class Reference

A homogeneous point. More...

#include <geometry/hom_point.h>

Inheritance diagram for fawkes::HomPoint:

Public Member Functions

 HomPoint (float x=0.0, float y=0.0, float z=0.0)
 Constructor. More...
 
 HomPoint (cart_coord_2d_t coord)
 Constructor. More...
 
 HomPoint (cart_coord_3d_t coord)
 Constructor. More...
 
 HomPoint (const HomCoord &h)
 Constructor. More...
 
virtual ~HomPoint ()
 Destructor. More...
 
float distance () const
 Obtain distance from the point to the origin. More...
 
HomPointmove (float dx, float dy, float dz)
 Move the point by the given coordiantes. More...
 
HomPointmove_to (float x, float y, float z)
 Move the point to the given coordiantes. More...
 
HomVector operator- (const HomPoint &p) const
 Compute the vector between two points. More...
 
- Public Member Functions inherited from fawkes::HomCoord
 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 HomCoordx (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 HomCoordy (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 HomCoordz (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 HomCoordw (float w)
 Setter function for w. More...
 
virtual HomCoordrotate_x (float rad)
 Convenience function to rotate the HomCoord around the x-axis. More...
 
virtual HomCoordrotate_y (float rad)
 Convenience function to rotate the HomCoord around the y-axis. More...
 
virtual HomCoordrotate_z (float rad)
 Convenience function to rotate the HomCoord around the z-axis. More...
 
HomCoordtransform (const HomTransform &t)
 Transform the vector with the given transform. More...
 
virtual HomCoord operator- (const HomCoord &h) const
 Subtraction operator. More...
 
virtual HomCoordoperator-= (const HomCoord &h)
 Substraction-assignment operator. More...
 
virtual HomCoord operator+ (const HomCoord &h) const
 Addition operator. More...
 
virtual HomCoordoperator+= (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 HomCoordoperator*= (const float s)
 Multiplication-assignment operator. More...
 
virtual HomCoordoperator= (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...
 
- Public Member Functions inherited from fawkes::Printable
 Printable ()
 Constructor. More...
 
virtual ~Printable ()
 Destructor. More...
 

Additional Inherited Members

- Protected Member Functions inherited from fawkes::HomCoord
 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...
 
- Protected Attributes inherited from fawkes::HomCoord
Vectorm_vector
 The internal data container. More...
 

Detailed Description

A homogeneous point.

Author
Daniel Beck

Definition at line 33 of file hom_point.h.

Constructor & Destructor Documentation

fawkes::HomPoint::HomPoint ( float  x = 0.0,
float  y = 0.0,
float  z = 0.0 
)

Constructor.

Parameters
xthe x-coordinate
ythe y-coordinate
zthe z-coordinate

Definition at line 42 of file hom_point.cpp.

fawkes::HomPoint::HomPoint ( cart_coord_2d_t  coord)

Constructor.

Constructs a 2-dimensional vector from a cart_coord_2d_t struct.

Parameters
coorda structure for a 2-dimensional coordinate

Definition at line 51 of file hom_point.cpp.

fawkes::HomPoint::HomPoint ( cart_coord_3d_t  coord)

Constructor.

Constructs a 3-dimensional vector from a cart_coord_3d_t struct.

Parameters
coorda structure for a 3-dimensional coordinate

Definition at line 60 of file hom_point.cpp.

fawkes::HomPoint::HomPoint ( const HomCoord h)

Constructor.

Parameters
ha HomCoord

Definition at line 68 of file hom_point.cpp.

References fawkes::HomCoord::w().

fawkes::HomPoint::~HomPoint ( )
virtual

Destructor.

Definition at line 80 of file hom_point.cpp.

Member Function Documentation

float fawkes::HomPoint::distance ( ) const

Obtain distance from the point to the origin.

Returns
distance to origin

Definition at line 88 of file hom_point.cpp.

References fawkes::HomCoord::x(), fawkes::HomCoord::y(), and fawkes::HomCoord::z().

HomPoint & fawkes::HomPoint::move ( float  dx,
float  dy,
float  dz 
)

Move the point by the given coordiantes.

Parameters
dxx-offset
dyy-offset
dzz-offset
Returns
reference to the moved point

Definition at line 101 of file hom_point.cpp.

References fawkes::HomCoord::x(), fawkes::HomCoord::y(), and fawkes::HomCoord::z().

HomPoint & fawkes::HomPoint::move_to ( float  x,
float  y,
float  z 
)

Move the point to the given coordiantes.

Parameters
xnew x-coordinate
ynew y-coordinate
znew z-coordinate
Returns
reference to the moved point

Definition at line 117 of file hom_point.cpp.

References fawkes::HomCoord::x(), fawkes::HomCoord::y(), and fawkes::HomCoord::z().

Referenced by fawkes::HomVectorDrawer::draw().

HomVector fawkes::HomPoint::operator- ( const HomPoint p) const

Compute the vector between two points.

Parameters
pthe other point
Returns
the vector between the two points

Definition at line 131 of file hom_point.cpp.

References fawkes::HomCoord::x(), fawkes::HomCoord::y(), and fawkes::HomCoord::z().


The documentation for this class was generated from the following files: