Public Member Functions | Static Public Member Functions

zeus::TVector2D Class Reference

#include <Vector2D.h>

Inheritance diagram for zeus::TVector2D:
zeus::IVector2D zeus::IVector

List of all members.

Public Member Functions

 TVector2D ()
 Default constructor, initializing as zero vector.
 TVector2D (const Float &fX, const Float &fY)
 Constructor taking all components' values.
 TVector2D (const TVector2D &rVector)
 Copy constructor: Constructor taking class type object.
 TVector2D (const TVector &rVector)
 Constructor taking a generous vector object.
 TVector2D (const IVector2D &rVector)
 Constructor taking interface type object.
 TVector2D (const IVector &rVector)
 Constructor taking interface type object.
virtual ~TVector2D ()
 Virtual destructor.
TVector2D getNormalizedVector () const
TVector2D rotated (const IAngle &rAngle) const
virtual void MQUALIFIER assign2D (const IVector2D &Vector)
virtual bool MQUALIFIER isParallel (const IVector2D &Vector) const
virtual bool MQUALIFIER isCollinear (const IVector2D &Vector) const
virtual bool MQUALIFIER isZeroVector () const
virtual bool MQUALIFIER isUnitVectorX () const
virtual bool MQUALIFIER isUnitVectorY () const
virtual const Float &MQUALIFIER getX () const
virtual const Float &MQUALIFIER getY () const
virtual void MQUALIFIER setX (const Float &fX)
virtual void MQUALIFIER setY (const Float &fY)
virtual void MQUALIFIER setValues (Float fX, Float fY)
virtual void MQUALIFIER initAsZeroVector ()
virtual void MQUALIFIER initAsUnitVectorX ()
virtual void MQUALIFIER initAsUnitVectorY ()
virtual void MQUALIFIER calcAngleTo (const IVector2D &rVector, bool bAbsolute, IAngle &rAngle) const
virtual Float MQUALIFIER calcDistanceTo (const IVector2D &rVector) const
virtual void MQUALIFIER normalize ()
virtual void MQUALIFIER getAngle (IAngle &rAngle) const
virtual void MQUALIFIER setAngle (const IAngle &rAngle)
virtual void MQUALIFIER rotate (const IAngle &rAngle)
virtual void MQUALIFIER assign (const IVector &rVector)
virtual void MQUALIFIER assignValues (const Float *apValues, Int iSize)
virtual bool MQUALIFIER equals (const IVector &rVector, Float fPrecision=FLOAT_PRECISION) const
virtual Float MQUALIFIER getComponent (Int iIndex) const
virtual Float *MQUALIFIER getComponents ()
virtual const Float *MQUALIFIER getComponentsConst () const
virtual Int MQUALIFIER getDimension () const
virtual Float MQUALIFIER getNorm () const
virtual Float MQUALIFIER getNormSquared () const
virtual Float MQUALIFIER getLength () const
virtual Float MQUALIFIER getLengthSquared () const
virtual bool MQUALIFIER setComponent (Int iIndex, Float fValue)
virtual void MQUALIFIER setDimension (Int iValue)
virtual void MQUALIFIER add (const IVector &rVector)
virtual void MQUALIFIER subtract (const IVector &rVector)
virtual Float MQUALIFIER calcScalarProduct (const IVector &rVector) const
virtual void MQUALIFIER multiply (const Float &f)
virtual void MQUALIFIER divide (const Float &f)
TVector2D operator+ (const IVector &rVector) const
TVector2D operator- (const IVector &rVector) const
Float operator* (const IVector &rVector) const
TVector2D operator* (const Float &f) const
TVector2D operator/ (const Float &f) const
TVector2D operator^ (const IVector2D &rVector) const
const TVector2Doperator+= (const IVector &rVector)
const TVector2Doperator-= (const IVector &rVector)
const TVector2Doperator*= (const Float &f)
const TVector2Doperator/= (const Float &f)
const TVector2Doperator= (const IVector &rVector)
const TVector2Doperator= (const IVector2D &rVector)
const TVector2Doperator= (const TVector2D &rVector)
bool operator== (const IVector2D &Vector) const
bool operator== (const IVector &Vector) const
bool operator!= (const IVector2D &rVector) const
bool operator!= (const IVector &rVector) const
bool operator|| (const IVector2D &rVector) const
bool operator< (const TVector2D &rVector) const

Static Public Member Functions

static const TVector2DgetZeroVector ()
static const TVector2DgetUnitVectorX ()
static const TVector2DgetUnitVectorY ()

Detailed Description

TVector2D encapsulates a three dimensional floating point vector as base class for vector geometry calculations.

TVector2D objects are stack objects.


Constructor & Destructor Documentation

zeus::TVector2D::TVector2D (  ) [inline]

Default constructor, initializing as zero vector.

zeus::TVector2D::TVector2D ( const Float &  fX,
const Float &  fY 
) [inline]

Constructor taking all components' values.

zeus::TVector2D::TVector2D ( const TVector2D rVector ) [inline]

Copy constructor: Constructor taking class type object.

zeus::TVector2D::TVector2D ( const TVector rVector ) [inline]

Constructor taking a generous vector object.

zeus::TVector2D::TVector2D ( const IVector2D rVector ) [inline]

Constructor taking interface type object.

zeus::TVector2D::TVector2D ( const IVector rVector ) [inline]

Constructor taking interface type object.

virtual zeus::TVector2D::~TVector2D (  ) [inline, virtual]

Virtual destructor.


Member Function Documentation

void MQUALIFIER zeus::TVector2D::add ( const IVector rVector ) [inline, virtual]
See also:
IVector::add

Implements zeus::IVector.

void MQUALIFIER zeus::TVector2D::assign ( const IVector rVector ) [virtual]
See also:
IVector::assign

Implements zeus::IVector.

void MQUALIFIER zeus::TVector2D::assign2D ( const IVector2D rVector ) [virtual]
See also:
IVector2D::assign2D

Implements zeus::IVector2D.

void MQUALIFIER zeus::TVector2D::assignValues ( const Float *  apValues,
Int  iSize 
) [virtual]
See also:
IVector::assignValues

Implements zeus::IVector.

void MQUALIFIER zeus::TVector2D::calcAngleTo ( const IVector2D rVector,
bool  bAbsolute,
IAngle rAngle 
) const [virtual]
Float MQUALIFIER zeus::TVector2D::calcDistanceTo ( const IVector2D rVector ) const [inline, virtual]
Float MQUALIFIER zeus::TVector2D::calcScalarProduct ( const IVector rVector ) const [inline, virtual]
void MQUALIFIER zeus::TVector2D::divide ( const Float &  f ) [inline, virtual]
See also:
IVector::divide

Implements zeus::IVector.

bool MQUALIFIER zeus::TVector2D::equals ( const IVector rVector,
Float  fPrecision = FLOAT_PRECISION 
) const [virtual]
See also:
IVector::equals

Implements zeus::IVector.

void MQUALIFIER zeus::TVector2D::getAngle ( IAngle rAngle ) const [virtual]
See also:
IVector2D::getAngle

Implements zeus::IVector2D.

Float MQUALIFIER zeus::TVector2D::getComponent ( Int  iIndex ) const [virtual]
See also:
IVector::getComponent

Implements zeus::IVector.

Float *MQUALIFIER zeus::TVector2D::getComponents (  ) [inline, virtual]
See also:
IVector::getCoordinates

Implements zeus::IVector.

const Float *MQUALIFIER zeus::TVector2D::getComponentsConst (  ) const [inline, virtual]
See also:
IVector::getCoordinatesConst

Implements zeus::IVector.

Int MQUALIFIER zeus::TVector2D::getDimension (  ) const [inline, virtual]
See also:
IVector::getDimensions

Implements zeus::IVector.

Float MQUALIFIER zeus::TVector2D::getLength (  ) const [inline, virtual]
See also:
IVector::getLength

Implements zeus::IVector.

Float MQUALIFIER zeus::TVector2D::getLengthSquared (  ) const [inline, virtual]
Float MQUALIFIER zeus::TVector2D::getNorm (  ) const [virtual]
See also:
IVector::getNorm

Implements zeus::IVector.

TVector2D zeus::TVector2D::getNormalizedVector (  ) const [inline]

Calculate the normalized vector, and return by value.

Returns:
Normalized vector. In case this vector is the zero vector, the zero vector is returned.
Float MQUALIFIER zeus::TVector2D::getNormSquared (  ) const [virtual]
See also:
IVector::getNormSquared

Implements zeus::IVector.

static const TVector2D& zeus::TVector2D::getUnitVectorX (  ) [inline, static]
static const TVector2D& zeus::TVector2D::getUnitVectorY (  ) [inline, static]
const Float &MQUALIFIER zeus::TVector2D::getX (  ) const [inline, virtual]
See also:
IVector2D::getX

Implements zeus::IVector2D.

const Float &MQUALIFIER zeus::TVector2D::getY (  ) const [inline, virtual]
See also:
IVector2D::getY

Implements zeus::IVector2D.

static const TVector2D& zeus::TVector2D::getZeroVector (  ) [inline, static]
void MQUALIFIER zeus::TVector2D::initAsUnitVectorX (  ) [inline, virtual]
void MQUALIFIER zeus::TVector2D::initAsUnitVectorY (  ) [inline, virtual]
void MQUALIFIER zeus::TVector2D::initAsZeroVector (  ) [inline, virtual]
bool MQUALIFIER zeus::TVector2D::isCollinear ( const IVector2D Vector ) const [virtual]
bool MQUALIFIER zeus::TVector2D::isParallel ( const IVector2D Vector ) const [virtual]
See also:
IVector2D::isParallel

Implements zeus::IVector2D.

bool MQUALIFIER zeus::TVector2D::isUnitVectorX (  ) const [inline, virtual]
bool MQUALIFIER zeus::TVector2D::isUnitVectorY (  ) const [inline, virtual]
bool MQUALIFIER zeus::TVector2D::isZeroVector (  ) const [inline, virtual]
void MQUALIFIER zeus::TVector2D::multiply ( const Float &  f ) [inline, virtual]
See also:
IVector::multiply

Implements zeus::IVector.

void MQUALIFIER zeus::TVector2D::normalize (  ) [inline, virtual]
See also:
IVector2D::normalize

Implements zeus::IVector2D.

bool zeus::TVector2D::operator!= ( const IVector2D rVector ) const [inline]

Inequality.

Parameters:
rVector[IN]: Vector to be compared to this vector.
Return values:
true: are not equal
false,:are equal
bool zeus::TVector2D::operator!= ( const IVector rVector ) const [inline]

Inequality.

Parameters:
rVector[IN]: Vector to be compared to this vector.
Return values:
true: are not equal
false,:are equal
Float zeus::TVector2D::operator* ( const IVector rVector ) const [inline]

Scalar product.

Parameters:
rVector[IN]: Vector to be multiplied with this vector.
Returns:
Scalar product.
TVector2D zeus::TVector2D::operator* ( const Float &  f ) const [inline]

Multiplication with a scalar from the right.

Parameters:
f[IN]: Scalar.
Returns:
Multiplied vector.
const TVector2D & zeus::TVector2D::operator*= ( const Float &  f ) [inline]

Multiplication with a scalar from the right. Assign the result to this vector.

Parameters:
f[IN]: Scalar.
Returns:
const reference to this vector after the assignment.
TVector2D zeus::TVector2D::operator+ ( const IVector rVector ) const [inline]

Addition.

Parameters:
rVector[IN]: Vector to be added to this vector.
Returns:
Vector sum.
const TVector2D & zeus::TVector2D::operator+= ( const IVector rVector ) [inline]

Add a vector to this vector, and assign the result to this vector.

Parameters:
rVector[IN]: Vector to be added to this vector.
Returns:
const reference to this vector after the assignment.
TVector2D zeus::TVector2D::operator- ( const IVector rVector ) const [inline]

Subtraction.

Parameters:
rVector[IN]: Vector to be subtracted from this vector.
Returns:
Vector difference.
const TVector2D & zeus::TVector2D::operator-= ( const IVector rVector ) [inline]

Subtract a vector from this vector, and assign the result to this vector.

Parameters:
rVector[IN]: Vector to be subtracted from this vector.
Returns:
const reference to this vector after the assignment.
TVector2D zeus::TVector2D::operator/ ( const Float &  f ) const [inline]

Division by a scalar.

Parameters:
f[IN]: Scalar.
Returns:
Divided vector. zero vector in case f is zero.
const TVector2D & zeus::TVector2D::operator/= ( const Float &  f ) [inline]

Division by a scalar from the right. Assign the result to this vector.

Parameters:
f[IN]: Scalar.
Returns:
const reference to this vector after the assignment.
bool zeus::TVector2D::operator< ( const TVector2D rVector ) const [inline]

special compare operator used for maps and sets using a binary search

const TVector2D & zeus::TVector2D::operator= ( const IVector rVector ) [inline]

Assignment of interface type object.

Parameters:
rVector[IN]: Vector to be assigned to this vector.
Returns:
const reference to this vector after the assignment.
const TVector2D & zeus::TVector2D::operator= ( const IVector2D rVector ) [inline]

Assignment of interface type object.

Parameters:
rVector[IN]: Vector to be assigned to this vector.
Returns:
const reference to this vector after the assignment.
const TVector2D & zeus::TVector2D::operator= ( const TVector2D rVector ) [inline]

Assignment of class type object.

Parameters:
rVector[IN]: Vector to be assigned to this vector.
Returns:
const reference to this vector after the assignment.
bool zeus::TVector2D::operator== ( const IVector2D rVector ) const [inline]

Equality.

Parameters:
rVector[IN]: Vector to be compared to this vector.
Return values:
true: Vectors are equal
false,:Vectors are not equal
bool zeus::TVector2D::operator== ( const IVector rVector ) const [inline]

Equality.

Parameters:
rVector[IN]: Vector to be compared to this vector.
Return values:
true: Vectors are equal
false,:Vectors are not equal
TVector2D zeus::TVector2D::operator^ ( const IVector2D rVector ) const
bool zeus::TVector2D::operator|| ( const IVector2D rVector ) const [inline]

Parallel to another vector? Pointing in the same direction.

Parameters:
rVector[IN]: Vector to be compared for being parallel to this vector.
Return values:
true: Vectors are parallel.
false,:Vectors aren't parallel
void MQUALIFIER zeus::TVector2D::rotate ( const IAngle rAngle ) [inline, virtual]
See also:
IVector2D::rotate

Implements zeus::IVector2D.

TVector2D zeus::TVector2D::rotated ( const IAngle rAngle ) const

Rotate this vector and return as a new vector.

Parameters:
rAngle[IN]: Rotation angle.
Returns:
Rotated vector.
void MQUALIFIER zeus::TVector2D::setAngle ( const IAngle rAngle ) [virtual]
See also:
IVector2D::setAngle

Implements zeus::IVector2D.

bool MQUALIFIER zeus::TVector2D::setComponent ( Int  iIndex,
Float  fValue 
) [virtual]
See also:
IVector::setComponent

Implements zeus::IVector.

void MQUALIFIER zeus::TVector2D::setDimension ( Int  iValue ) [inline, virtual]
See also:
IVector::setDimension

Implements zeus::IVector.

void MQUALIFIER zeus::TVector2D::setValues ( Float  fX,
Float  fY 
) [inline, virtual]
See also:
IVector2D::setValues

Implements zeus::IVector2D.

void MQUALIFIER zeus::TVector2D::setX ( const Float &  fX ) [inline, virtual]
See also:
IVector2D::setX

Implements zeus::IVector2D.

void MQUALIFIER zeus::TVector2D::setY ( const Float &  fY ) [inline, virtual]
See also:
IVector2D::setY

Implements zeus::IVector2D.

void MQUALIFIER zeus::TVector2D::subtract ( const IVector rVector ) [inline, virtual]
See also:
IVector::subtract

Implements zeus::IVector.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Sun Jan 22 2012 15:32:27