24 #ifndef __GEOMETRY_HOM_COORD_H_ 25 #define __GEOMETRY_HOM_COORD_H_ 27 #include <geometry/printable.h> 41 virtual float x()
const;
45 virtual float y()
const;
49 virtual float z()
const;
53 virtual float w()
const;
80 HomCoord(
float x = 0.0,
float y = 0.0,
float z = 0.0,
float w = 0.0);
83 virtual std::ostream&
print(std::ostream& stream)
const;
virtual float y() const
RO-getter for y.
virtual HomCoord & rotate_x(float rad)
Convenience function to rotate the HomCoord around the x-axis.
virtual HomCoord & operator=(const HomCoord &h)
Assignment operator.
Fawkes library namespace.
virtual bool operator!=(const HomCoord &h) const
Inequality operator.
virtual bool operator==(const HomCoord &h) const
Comparison operator.
Vector * m_vector
The internal data container.
virtual ~HomCoord()
Destructor.
virtual HomCoord & rotate_y(float rad)
Convenience function to rotate the HomCoord around the y-axis.
virtual HomCoord operator-(const HomCoord &h) const
Subtraction operator.
virtual HomCoord & operator-=(const HomCoord &h)
Substraction-assignment operator.
virtual float z() const
RO-getter for z.
virtual float w() const
RO-getter for w.
Base class for homogeneous primitives (vector and point).
HomCoord(const HomCoord &c)
Copy constructor.
virtual HomCoord & operator+=(const HomCoord &h)
Addition-assignment operator.
HomCoord & transform(const HomTransform &t)
Transform the vector with the given transform.
virtual float operator*(const HomCoord &h) const
Calculates the dot product of two coords.
virtual HomCoord & rotate_z(float rad)
Convenience function to rotate the HomCoord around the z-axis.
virtual std::ostream & print(std::ostream &stream) const
Appends the components of the HomCoord to the ostream.
virtual HomCoord operator+(const HomCoord &h) const
Addition operator.
virtual HomCoord & operator*=(const float s)
Multiplication-assignment operator.
virtual float x() const
RO-getter for x.
Interface class for printable objects.