Public Member Functions | Static Public Member Functions

zeus::TStraightLine3D Class Reference

#include <StraightLine3D.h>

Inheritance diagram for zeus::TStraightLine3D:
zeus::IStraightLine3D zeus::IGeometricObject3D

List of all members.

Public Member Functions

 TStraightLine3D ()
 Default constructor, initializing as x-axis.
 TStraightLine3D (const IVector3D &rVecInitial, const IVector3D &rVecDirection, bool bConstructionByPointDirectionForm_Or_By2Points)
 Constructor for the point direction form r = r0 + s * u.
 TStraightLine3D (const TStraightLine3D &rStraightLine3D)
 Copy constructor: Constructor taking class type object.
 TStraightLine3D (const IStraightLine3D &rStraightLine3D)
 Constructor taking interface type object.
virtual const IVector3D &MQUALIFIER getInitialVector () const
virtual const IVector3D &MQUALIFIER getDirectionVector () const
virtual void MQUALIFIER setInitialVector (const IVector3D &rVecInitial)
virtual void MQUALIFIER setDirectionVector (const IVector3D &rVecDirection)
virtual void MQUALIFIER assign (const IStraightLine3D &rStraightLine3D)
virtual void MQUALIFIER initAsAxisX ()
virtual void MQUALIFIER initAsAxisY ()
virtual void MQUALIFIER initAsAxisZ ()
virtual bool MQUALIFIER isAxisX () const
virtual bool MQUALIFIER isAxisY () const
virtual bool MQUALIFIER isAxisZ () const
virtual bool MQUALIFIER isValid () const
virtual bool MQUALIFIER isEqual (const IStraightLine3D &rStraightLine3D) const
virtual bool MQUALIFIER isParallel (const IStraightLine3D &rStraightLine3D) const
virtual void MQUALIFIER calcPointFromParameter (const Float &fParameter, IVector3D &rVecPoint) const
virtual bool MQUALIFIER calcParameterFromPoint (const IVector3D &rVecPoint, Float &fParameter) const
virtual void MQUALIFIER calcClosestPointTo (const IVector3D &rVecPoint, IVector3D &rVecClosestPoint, bool bLimited=false) const
virtual Float MQUALIFIER calcDistanceTo (const IVector3D &rVecPoint, bool bLimited=false) const
virtual bool MQUALIFIER containsPoint (const IVector3D &rVecPoint) const
virtual bool MQUALIFIER calcIntersectionPoint (const IStraightLine3D &rStraightLine3D, IVector3D &rVecIntersectionPoint) const
virtual bool MQUALIFIER calcPointAtX (const Float &x, IVector3D &rVecPoint) const
virtual bool MQUALIFIER calcPointAtY (const Float &y, IVector3D &rVecPoint) const
virtual bool MQUALIFIER calcPointAtZ (const Float &z, IVector3D &rVecPoint) const
virtual bool MQUALIFIER calcShortestConnection (const IStraightLine3D &rStraightLine3D, IVector3D &rVecPointOnThisStraightLine3D, IVector3D &rVecPointOnGivenStraightLine3D) const
const TStraightLine3Doperator= (const IStraightLine3D &rStraightLine3D)
 Assignment of interface type object.
const TStraightLine3Doperator= (const TStraightLine3D &rStraightLine3D)
 Assignment of class type object.
bool operator== (const IStraightLine3D &rStraightLine3D) const
 Equality with another straight line?
bool operator!= (const IStraightLine3D &rStraightLine3D) const
 Inequality with another straight line?
bool operator|| (const IStraightLine3D &rStraightLine3D) const
 Parallel to another straight line?

Static Public Member Functions

static const TStraightLine3DgetAxisX ()
static const TStraightLine3DgetAxisY ()
static const TStraightLine3DgetAxisZ ()

Detailed Description

IStraightLine3D encapsulates a three dimensional floating point straight line for vector geometry calculations.


Constructor & Destructor Documentation

zeus::TStraightLine3D::TStraightLine3D (  ) [inline]

Default constructor, initializing as x-axis.

zeus::TStraightLine3D::TStraightLine3D ( const IVector3D rVecInitial,
const IVector3D rVecDirection,
bool  bConstructionByPointDirectionForm_Or_By2Points 
)

Constructor for the point direction form r = r0 + s * u.

Constructor for the point direction form r = r0 + s * u.

Parameters:
rVecInitial[IN]: Initial vector , or vector to point 1.
rVecDirection[IN]: Direction vector, or vector to point 2.
bConstructionByPointDirectionForm_Or_By2Points[IN]: Defines whether the 2 given vectors define the point direction form or 2 points.

THIS CONSTRUCTOR CODE MUST NOT LEAD TO A CALL TO STATIC MEMBERS OF TVector3D, BECAUSE THEY MAY NOT HAVE BEEN CONSTRUCTED YET.

zeus::TStraightLine3D::TStraightLine3D ( const TStraightLine3D rStraightLine3D ) [inline]

Copy constructor: Constructor taking class type object.

zeus::TStraightLine3D::TStraightLine3D ( const IStraightLine3D rStraightLine3D ) [inline]

Constructor taking interface type object.


Member Function Documentation

virtual void MQUALIFIER zeus::TStraightLine3D::assign ( const IStraightLine3D rStraightLine3D ) [inline, virtual]

Assignment.

Parameters:
rStraightLine3D[IN]: Straight line to be assigned to this straight line.

Implements zeus::IStraightLine3D.

void MQUALIFIER zeus::TStraightLine3D::calcClosestPointTo ( const IVector3D rVecPoint,
IVector3D rVecClosestPoint,
bool  bLimited = false 
) const [virtual]
See also:
IStraightLine3D.

Implements zeus::IStraightLine3D.

Float MQUALIFIER zeus::TStraightLine3D::calcDistanceTo ( const IVector3D rVecPoint,
bool  bLimited = false 
) const [virtual]
See also:
IStraightLine3D.

Implements zeus::IStraightLine3D.

bool MQUALIFIER zeus::TStraightLine3D::calcIntersectionPoint ( const IStraightLine3D rStraightLine3D,
IVector3D IntersectionPoint 
) const [virtual]
See also:
IStraightLine3D.

Implements zeus::IStraightLine3D.

bool MQUALIFIER zeus::TStraightLine3D::calcParameterFromPoint ( const IVector3D rVecPoint,
Float &  fParameter 
) const [virtual]
See also:
IStraightLine3D.

Implements zeus::IStraightLine3D.

bool MQUALIFIER zeus::TStraightLine3D::calcPointAtX ( const Float &  x,
IVector3D rVecPoint 
) const [virtual]
See also:
IStraightLine3D.

Implements zeus::IStraightLine3D.

bool MQUALIFIER zeus::TStraightLine3D::calcPointAtY ( const Float &  y,
IVector3D rVecPoint 
) const [virtual]
See also:
IStraightLine3D.

Implements zeus::IStraightLine3D.

bool MQUALIFIER zeus::TStraightLine3D::calcPointAtZ ( const Float &  z,
IVector3D rVecPoint 
) const [virtual]
See also:
IStraightLine3D.

Implements zeus::IStraightLine3D.

virtual void MQUALIFIER zeus::TStraightLine3D::calcPointFromParameter ( const Float &  fParameter,
IVector3D rVecPoint 
) const [inline, virtual]

Parameter calculations.

Calculate the point on this straight line corresponding to a given parameter.

Parameters:
fParameter[IN] : Parameter.
rVecPoint[OUT]: Vector to the point given by the parameter.

Implements zeus::IStraightLine3D.

bool MQUALIFIER zeus::TStraightLine3D::calcShortestConnection ( const IStraightLine3D rStraightLine3D,
IVector3D rVecPointOnThisStraightLine3D,
IVector3D rVecPointOnGivenStraightLine3D 
) const [virtual]
See also:
IStraightLine3D.

Implements zeus::IStraightLine3D.

virtual bool MQUALIFIER zeus::TStraightLine3D::containsPoint ( const IVector3D rVecPoint ) const [inline, virtual]

Is a given point on this straight line?

Parameters:
rVecPoint[IN]: Vector to the given point.
Returns:
: This straight line contains the given point.

Implements zeus::IStraightLine3D.

static const TStraightLine3D& zeus::TStraightLine3D::getAxisX (  ) [inline, static]

Special static straight lines.

static const TStraightLine3D& zeus::TStraightLine3D::getAxisY (  ) [inline, static]
static const TStraightLine3D& zeus::TStraightLine3D::getAxisZ (  ) [inline, static]
virtual const IVector3D& MQUALIFIER zeus::TStraightLine3D::getDirectionVector (  ) const [inline, virtual]

Read the direction vector of the point direction form r = r0 + s * u.

Returns:
: Direction vector.

Implements zeus::IStraightLine3D.

virtual const IVector3D& MQUALIFIER zeus::TStraightLine3D::getInitialVector (  ) const [inline, virtual]

Interface IStraightLine3D.

Implements zeus::IStraightLine3D.

virtual void MQUALIFIER zeus::TStraightLine3D::initAsAxisX (  ) [inline, virtual]

Initialization methods.

Initialize as x-axis.

Implements zeus::IStraightLine3D.

virtual void MQUALIFIER zeus::TStraightLine3D::initAsAxisY (  ) [inline, virtual]

Initialize as y-axis.

Implements zeus::IStraightLine3D.

virtual void MQUALIFIER zeus::TStraightLine3D::initAsAxisZ (  ) [inline, virtual]

Initialize as z-axis.

Implements zeus::IStraightLine3D.

virtual bool MQUALIFIER zeus::TStraightLine3D::isAxisX (  ) const [inline, virtual]

Is this straigth line the x-axis?

Returns:
: This straight line is the x-axis.

Implements zeus::IStraightLine3D.

virtual bool MQUALIFIER zeus::TStraightLine3D::isAxisY (  ) const [inline, virtual]

Is this straigth line the y-axis?

Returns:
: This straight line is the y-axis.

Implements zeus::IStraightLine3D.

virtual bool MQUALIFIER zeus::TStraightLine3D::isAxisZ (  ) const [inline, virtual]

Is this straigth line the z-axis?

Returns:
: This straight line is the z-axis.

Implements zeus::IStraightLine3D.

virtual bool MQUALIFIER zeus::TStraightLine3D::isEqual ( const IStraightLine3D rStraightLine3D ) const [inline, virtual]

Comparisons.

Equality with another straight line?

Parameters:
rStraightLine3D[IN]: The other straight line.
Returns:
: Equality.

Implements zeus::IStraightLine3D.

virtual bool MQUALIFIER zeus::TStraightLine3D::isParallel ( const IStraightLine3D rStraightLine3D ) const [inline, virtual]

Parallel to another straight line?

Parameters:
rStraightLine3D[IN]: The other straight line.
Returns:
: Parallel.

Implements zeus::IStraightLine3D.

virtual bool MQUALIFIER zeus::TStraightLine3D::isValid (  ) const [inline, virtual]

Checking the validity.

Returns:
: Valid.

Implements zeus::IStraightLine3D.

bool zeus::TStraightLine3D::operator!= ( const IStraightLine3D rStraightLine3D ) const [inline]

Inequality with another straight line?

const TStraightLine3D & zeus::TStraightLine3D::operator= ( const TStraightLine3D rStraightLine3D )

Assignment of class type object.

Assignment of class type object.

Parameters:
rStraightLine3D[IN]: Straight line to be assigned to this straight line.
Returns:
: const reference to this straight line after the assignment.
const TStraightLine3D & zeus::TStraightLine3D::operator= ( const IStraightLine3D rStraightLine3D )

Assignment of interface type object.

Assignment of interface type object.

Parameters:
rStraightLine3D[IN]: Straight line to be assigned to this straight line.
Returns:
: const reference to this straight line after the assignment.
bool zeus::TStraightLine3D::operator== ( const IStraightLine3D rStraightLine3D ) const

Equality with another straight line?

Operators.

Equality with another straight line?

Parameters:
rStraightLine3D[IN]: The other straight line.
Returns:
: Equality.
bool zeus::TStraightLine3D::operator|| ( const IStraightLine3D rStraightLine3D ) const

Parallel to another straight line?

Parallel to another straight line?

Parameters:
rStraightLine3D[IN]: The other straight line.
Returns:
: Parallel.
virtual void MQUALIFIER zeus::TStraightLine3D::setDirectionVector ( const IVector3D rVecDirection ) [inline, virtual]

Set the direction vector of the point direction form r = r0 + s * u.

Parameters:
rVecDirection[IN]: Direction vector.

Implements zeus::IStraightLine3D.

virtual void MQUALIFIER zeus::TStraightLine3D::setInitialVector ( const IVector3D rVecInitial ) [inline, virtual]

Set the initial vector of the point direction form r = r0 + s * u.

Parameters:
rVecInitial[IN]: Initial vector.

Implements zeus::IStraightLine3D.


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