ZeusMath-Library  2.0.4
zeus::IVector3D Class Referenceabstract

#include <IVector3D.hpp>

Inheritance diagram for zeus::IVector3D:
zeus::IVector zeus::TVector3D

Public Member Functions

virtual void MQUALIFIER assign3D (const IVector3D &rVector)=0
 
virtual bool MQUALIFIER isParallel (const IVector3D &rVector) const =0
 
virtual bool MQUALIFIER isCollinear (const IVector3D &rVector) const =0
 
virtual bool MQUALIFIER isZeroVector () const =0
 
virtual bool MQUALIFIER isUnitVectorX () const =0
 
virtual bool MQUALIFIER isUnitVectorY () const =0
 
virtual bool MQUALIFIER isUnitVectorZ () const =0
 
virtual const Float &MQUALIFIER getX () const =0
 
virtual const Float &MQUALIFIER getY () const =0
 
virtual const Float &MQUALIFIER getZ () const =0
 
virtual void MQUALIFIER setX (const Float &fX)=0
 
virtual void MQUALIFIER setY (const Float &fY)=0
 
virtual void MQUALIFIER setZ (const Float &fZ)=0
 
virtual void MQUALIFIER setValues (Float fX, Float fY, Float fZ)=0
 
virtual void MQUALIFIER initAsZeroVector ()=0
 
virtual void MQUALIFIER initAsUnitVectorX ()=0
 
virtual void MQUALIFIER initAsUnitVectorY ()=0
 
virtual void MQUALIFIER initAsUnitVectorZ ()=0
 
virtual void MQUALIFIER calcVectorProduct (const IVector3D &rVector, IVector3D &rProduct) const =0
 
virtual void MQUALIFIER calcAngleTo (const IVector3D &rVector, IAngle &rAngle) const =0
 
virtual Float MQUALIFIER calcDistanceTo (const IVector3D &rVector) const =0
 
virtual void MQUALIFIER normalize ()=0
 
virtual void MQUALIFIER getHorizontalAngle (IAngle &rAngle) const =0
 Angle functions and operations. More...
 
virtual void MQUALIFIER getVerticalAngle (IAngle &rAngle) const =0
 
virtual void MQUALIFIER setHorizontalAngle (const IAngle &rAngle)=0
 
virtual void MQUALIFIER setVerticalAngle (const IAngle &rAngle)=0
 
virtual void MQUALIFIER rotateX (const IAngle &rAngle)=0
 
virtual void MQUALIFIER rotateY (const IAngle &rAngle)=0
 
virtual void MQUALIFIER rotateZ (const IAngle &rAngle)=0
 
virtual void MQUALIFIER rotateHorizontalAngle (const IAngle &rAngle)=0
 
virtual void MQUALIFIER rotateVerticalAngle (const IAngle &rAngle)=0
 
virtual void MQUALIFIER mirrorAtXYPlane ()=0
 
virtual void MQUALIFIER mirrorAtXZPlane ()=0
 
virtual void MQUALIFIER mirrorAtYZPlane ()=0
 
- Public Member Functions inherited from zeus::IVector
virtual void MQUALIFIER assign (const IVector &rVector)=0
 
virtual void MQUALIFIER assignValues (const Float *apValues, Int iSize)=0
 
virtual bool MQUALIFIER equals (const IVector &rVector, Float fPrecision=FLOAT_PRECISION) const =0
 
virtual Float MQUALIFIER getComponent (Int iIndex) const =0
 
virtual Float *MQUALIFIER getComponents ()=0
 
virtual const Float *MQUALIFIER getComponentsConst () const =0
 
virtual Int MQUALIFIER getDimension () const =0
 
virtual Float MQUALIFIER getNorm () const =0
 
virtual Float MQUALIFIER getNormSquared () const =0
 
virtual Float MQUALIFIER getLength () const =0
 
virtual Float MQUALIFIER getLengthSquared () const =0
 
virtual bool MQUALIFIER setComponent (Int iIndex, Float fValue)=0
 
virtual void MQUALIFIER setDimension (Int iValue)=0
 
virtual void MQUALIFIER add (const IVector &rVector)=0
 
virtual void MQUALIFIER subtract (const IVector &rVector)=0
 
virtual Float MQUALIFIER calcScalarProduct (const IVector &rVector) const =0
 
virtual void MQUALIFIER multiply (const Float &f)=0
 
virtual void MQUALIFIER divide (const Float &f)=0
 

Detailed Description

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

Member Function Documentation

§ assign3D()

virtual void MQUALIFIER zeus::IVector3D::assign3D ( const IVector3D rVector)
pure virtual

Assignment.

Parameters
rVector[IN]: Reference to interface type object to be assigned to this object.

Implemented in zeus::TVector3D.

§ calcAngleTo()

virtual void MQUALIFIER zeus::IVector3D::calcAngleTo ( const IVector3D rVector,
IAngle rAngle 
) const
pure virtual

Calculate the angle to another vector.

Parameters
rVector[IN] : Vector to calculate the angle to.
rAngle[OUT]: Angle object.

Implemented in zeus::TVector3D.

§ calcDistanceTo()

virtual Float MQUALIFIER zeus::IVector3D::calcDistanceTo ( const IVector3D rVector) const
pure virtual

Calculate the distance to another vector.

Parameters
rVector[IN]: Vector to calculate the distance to.
Returns
Distance.

Implemented in zeus::TVector3D.

§ calcVectorProduct()

virtual void MQUALIFIER zeus::IVector3D::calcVectorProduct ( const IVector3D rVector,
IVector3D rProduct 
) const
pure virtual

Vector product.

Parameters
rVector[IN] : Vector to be multiplied with this vector.
rProduct[OUT]: Vector product.

Implemented in zeus::TVector3D.

§ getHorizontalAngle()

virtual void MQUALIFIER zeus::IVector3D::getHorizontalAngle ( IAngle rAngle) const
pure virtual

Angle functions and operations.

Calculate the horizontal angle. This is usually called Phi, azimuth or longitude.

Parameters
rAngle[OUT]: The horizontal angle. In the undefined case x = y = 0, 0 is returned.

Implemented in zeus::TVector3D.

§ getVerticalAngle()

virtual void MQUALIFIER zeus::IVector3D::getVerticalAngle ( IAngle rAngle) const
pure virtual

Calculate the vertical angle. This is usually called Delta, elevation or latitude.

Parameters
rAngle[OUT]: The vertical angle. In the undefined case x = y = z = 0, 0 is returned.

Implemented in zeus::TVector3D.

§ getX()

virtual const Float& MQUALIFIER zeus::IVector3D::getX ( ) const
pure virtual

Read the X coordinate.

Returns
X coordinate.

Implemented in zeus::TVector3D.

§ getY()

virtual const Float& MQUALIFIER zeus::IVector3D::getY ( ) const
pure virtual

Read the y coordinate.

Returns
y coordinate.

Implemented in zeus::TVector3D.

§ getZ()

virtual const Float& MQUALIFIER zeus::IVector3D::getZ ( ) const
pure virtual

Read the z coordinate.

Returns
z coordinate.

Implemented in zeus::TVector3D.

§ initAsUnitVectorX()

virtual void MQUALIFIER zeus::IVector3D::initAsUnitVectorX ( )
pure virtual

Initialize as unit vector x.

Implemented in zeus::TVector3D.

§ initAsUnitVectorY()

virtual void MQUALIFIER zeus::IVector3D::initAsUnitVectorY ( )
pure virtual

Initialize as unit vector y.

Implemented in zeus::TVector3D.

§ initAsUnitVectorZ()

virtual void MQUALIFIER zeus::IVector3D::initAsUnitVectorZ ( )
pure virtual

Initialize as unit vector z.

Implemented in zeus::TVector3D.

§ initAsZeroVector()

virtual void MQUALIFIER zeus::IVector3D::initAsZeroVector ( )
pure virtual

Initialize as zero vector.

Implemented in zeus::TVector3D.

§ isCollinear()

virtual bool MQUALIFIER zeus::IVector3D::isCollinear ( const IVector3D rVector) const
pure virtual

Collinearity with another vector: Parallel or anti-parallel.

Parameters
rVector[IN]: Vector to be compared for collinearity to this vector.
Return values
true: is collinear.
falseis not collinear

Implemented in zeus::TVector3D.

§ isParallel()

virtual bool MQUALIFIER zeus::IVector3D::isParallel ( const IVector3D rVector) const
pure virtual

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: is parallel.
falsesi not parallel

Implemented in zeus::TVector3D.

§ isUnitVectorX()

virtual bool MQUALIFIER zeus::IVector3D::isUnitVectorX ( ) const
pure virtual

Is this vector the unit vector x?

Return values
true: This vector is the unit vector x.
falseNot a unit vector in X

Implemented in zeus::TVector3D.

§ isUnitVectorY()

virtual bool MQUALIFIER zeus::IVector3D::isUnitVectorY ( ) const
pure virtual

Is this vector the unit vector y?

Return values
true: This vector is the unit vector y.
falseNot a unit vector in Y

Implemented in zeus::TVector3D.

§ isUnitVectorZ()

virtual bool MQUALIFIER zeus::IVector3D::isUnitVectorZ ( ) const
pure virtual

Is this vector the unit vector z?

Return values
true: This vector is the unit vector z.
falseNot a unit vector in Z

Implemented in zeus::TVector3D.

§ isZeroVector()

virtual bool MQUALIFIER zeus::IVector3D::isZeroVector ( ) const
pure virtual

Is this vector the zero vector?

Return values
true: This vector is the zero vector.
falseNot a zero vector

Implemented in zeus::TVector3D.

§ mirrorAtXYPlane()

virtual void MQUALIFIER zeus::IVector3D::mirrorAtXYPlane ( )
pure virtual

Mirror at the xy plane.

Implemented in zeus::TVector3D.

§ mirrorAtXZPlane()

virtual void MQUALIFIER zeus::IVector3D::mirrorAtXZPlane ( )
pure virtual

Mirror at the xz plane.

Implemented in zeus::TVector3D.

§ mirrorAtYZPlane()

virtual void MQUALIFIER zeus::IVector3D::mirrorAtYZPlane ( )
pure virtual

Mirror at the yz plane.

Implemented in zeus::TVector3D.

§ normalize()

virtual void MQUALIFIER zeus::IVector3D::normalize ( )
pure virtual

Normalize this vector.

Implemented in zeus::TVector3D.

§ rotateHorizontalAngle()

virtual void MQUALIFIER zeus::IVector3D::rotateHorizontalAngle ( const IAngle rAngle)
pure virtual

Rotate this vector such that its horizontal angle is increased by Angle.

Parameters
rAngle[IN]: Rotation angle.

Implemented in zeus::TVector3D.

§ rotateVerticalAngle()

virtual void MQUALIFIER zeus::IVector3D::rotateVerticalAngle ( const IAngle rAngle)
pure virtual

Rotate this vector such that its vertical angle is increased by Angle.

Parameters
rAngle[IN]: Rotation angle.

Implemented in zeus::TVector3D.

§ rotateX()

virtual void MQUALIFIER zeus::IVector3D::rotateX ( const IAngle rAngle)
pure virtual

Rotate this vector around the x-axis.

Parameters
rAngle[IN]: Rotation angle.

Implemented in zeus::TVector3D.

§ rotateY()

virtual void MQUALIFIER zeus::IVector3D::rotateY ( const IAngle rAngle)
pure virtual

Rotate this vector around the y-axis.

Parameters
rAngle[IN]: Rotation angle.

Implemented in zeus::TVector3D.

§ rotateZ()

virtual void MQUALIFIER zeus::IVector3D::rotateZ ( const IAngle rAngle)
pure virtual

Rotate this vector around the z-axis.

Parameters
rAngle[IN]: Rotation angle.

Implemented in zeus::TVector3D.

§ setHorizontalAngle()

virtual void MQUALIFIER zeus::IVector3D::setHorizontalAngle ( const IAngle rAngle)
pure virtual

Set the horizontal angle.

Parameters
rAngle[IN]: The new angle.

Implemented in zeus::TVector3D.

§ setValues()

virtual void MQUALIFIER zeus::IVector3D::setValues ( Float  fX,
Float  fY,
Float  fZ 
)
pure virtual

Set all coordinates.

The values here must be given by value for safety in cases where get methods are used directly within the call to setValues().

Parameters
fX[IN]: x coordinate.
fY[IN]: y coordinate.
fZ[IN]: z coordinate.

Implemented in zeus::TVector3D.

§ setVerticalAngle()

virtual void MQUALIFIER zeus::IVector3D::setVerticalAngle ( const IAngle rAngle)
pure virtual

Set the vertical angle.

Parameters
rAngle[IN]: The new angle.

Implemented in zeus::TVector3D.

§ setX()

virtual void MQUALIFIER zeus::IVector3D::setX ( const Float &  fX)
pure virtual

Set the x coordinate.

Parameters
fX[IN]: x coordinate.

Implemented in zeus::TVector3D.

§ setY()

virtual void MQUALIFIER zeus::IVector3D::setY ( const Float &  fY)
pure virtual

Set the y coordinate.

Parameters
fY[IN]: y coordinate.

Implemented in zeus::TVector3D.

§ setZ()

virtual void MQUALIFIER zeus::IVector3D::setZ ( const Float &  fZ)
pure virtual

Set the z coordinate.

Parameters
fZ[IN]: z coordinate.

Implemented in zeus::TVector3D.


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


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Wed Sep 14 2016 06:46:04