ZeusMath-Library  2.0.4
zeus::IStraightLine2D Class Referenceabstract

#include <IStraightLine2D.hpp>

Inheritance diagram for zeus::IStraightLine2D:
zeus::IGeometricObject2D zeus::TStraightLine2D

Public Member Functions

virtual const IVector2D &MQUALIFIER getInitialVector () const =0
 
virtual const IVector2D &MQUALIFIER getDirectionVector () const =0
 
virtual void MQUALIFIER setInitialVector (const IVector2D &rVecInitial)=0
 
virtual void MQUALIFIER setDirectionVector (const IVector2D &rVecDirection)=0
 
virtual bool MQUALIFIER getSlope (Float &rfSlope) const =0
 
virtual bool MQUALIFIER getYIntercept (Float &rfYIntercept) const =0
 
virtual void MQUALIFIER assign (const IStraightLine2D &rStraightLine)=0
 
virtual void MQUALIFIER initAsAxisX ()=0
 
virtual void MQUALIFIER initAsAxisY ()=0
 
virtual bool MQUALIFIER isAxisX () const =0
 
virtual bool MQUALIFIER isAxisY () const =0
 
virtual bool MQUALIFIER isValid () const =0
 
virtual bool MQUALIFIER isEqual (const IStraightLine2D &rStraightLine) const =0
 
virtual bool MQUALIFIER isParallel (const IStraightLine2D &rStraightLine) const =0
 
virtual void MQUALIFIER calcPointFromParameter (const Float &fParameter, IVector2D &rVecPoint) const =0
 
virtual bool MQUALIFIER calcParameterFromPoint (const IVector2D &rVecPoint, Float &fParameter) const =0
 
virtual bool MQUALIFIER calcPointAtX (const Float &x, IVector2D &rVecPoint) const =0
 
virtual bool MQUALIFIER calcPointAtY (const Float &y, IVector2D &rVecPoint) const =0
 
virtual bool MQUALIFIER arePointsOnSameSide (const IVector2D &rVecPoint1, const IVector2D &rVecPoint2) const =0
 
- Public Member Functions inherited from zeus::IGeometricObject2D
virtual const InterfaceID &MQUALIFIER getInterfaceID () const =0
 Get the interface ID as GUID return value. More...
 
virtual Float MQUALIFIER getLength () const =0
 Get the length. More...
 
virtual Retval MQUALIFIER getPointFromRunningParameter (const Float &rfRunningParameter, IVector2D &rvecPoint) const =0
 
virtual Retval MQUALIFIER intersect (const IGeometricObject2D &rObject, IList< IVector2D > &rLstIntersectionPoints, const Float &rfTangentTolerance=INTERSECT_TANGENT_TOLERANCE) const =0
 
virtual bool MQUALIFIER containsPoint (const IVector2D &rVecPoint, const Float &rfTolerance=0) const =0
 
virtual void MQUALIFIER calcClosestPointToPoint (const IVector2D &rVecPoint, IVector2D &rVecClosestPoint) const =0
 
virtual Float MQUALIFIER calcDistanceToPoint (const IVector2D &rVecPoint) const =0
 
virtual Float MQUALIFIER calcDistanceToObject (const IGeometricObject2D &rObject) const =0
 
virtual Retval MQUALIFIER getXMinPoint (IVector2D &rVecPoint) const =0
 
virtual Retval MQUALIFIER getXMaxPoint (IVector2D &rVecPoint) const =0
 
virtual Retval MQUALIFIER getYMinPoint (IVector2D &rVecPoint) const =0
 
virtual Retval MQUALIFIER getYMaxPoint (IVector2D &rVecPoint) const =0
 
virtual void MQUALIFIER getMinMaxCoordinates (Float &rfXMin, Float &rfXMax, Float &rfYMin, Float &rfYMax) const =0
 

Detailed Description

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

Member Function Documentation

§ arePointsOnSameSide()

virtual bool MQUALIFIER zeus::IStraightLine2D::arePointsOnSameSide ( const IVector2D rVecPoint1,
const IVector2D rVecPoint2 
) const
pure virtual

Are two points on the same side of this straight line?

Parameters
rVecPoint1,2[IN]: Two points.
Returns
: Same side.

Implemented in zeus::TStraightLine2D.

§ assign()

virtual void MQUALIFIER zeus::IStraightLine2D::assign ( const IStraightLine2D rStraightLine)
pure virtual

Assignment.

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

Implemented in zeus::TStraightLine2D.

§ calcParameterFromPoint()

virtual bool MQUALIFIER zeus::IStraightLine2D::calcParameterFromPoint ( const IVector2D rVecPoint,
Float &  fParameter 
) const
pure virtual

Calculate the parameter of a given point on this straight line.

Parameters
rVecPoint[IN] : Vector to the given point.
fParameter[OUT]: Parameter. Only valid in case true is returned.
Returns
: No error. Will be false in case vecPoint is not contained in this straight line.

Implemented in zeus::TStraightLine2D.

§ calcPointAtX()

virtual bool MQUALIFIER zeus::IStraightLine2D::calcPointAtX ( const Float &  x,
IVector2D rVecPoint 
) const
pure virtual

Geometric calculations.

Calculate the position of a point on the straight line with fixed x coordinate.

Parameters
x[IN] : x coordinate.
rVecPoint[OUT]: Vector to the desired point.
Returns
: This straight line passes the given fixed coordinate at one single point.

Implemented in zeus::TStraightLine2D.

§ calcPointAtY()

virtual bool MQUALIFIER zeus::IStraightLine2D::calcPointAtY ( const Float &  y,
IVector2D rVecPoint 
) const
pure virtual

Calculate the position of a point on the straight line with fixed y coordinate.

Parameters
y[IN] : y coordinate.
rVecPoint[OUT]: Vector to the desired point.
Returns
: This straight line passes the given fixed coordinate at one single point.

Implemented in zeus::TStraightLine2D.

§ calcPointFromParameter()

virtual void MQUALIFIER zeus::IStraightLine2D::calcPointFromParameter ( const Float &  fParameter,
IVector2D rVecPoint 
) const
pure 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.

Implemented in zeus::TStraightLine2D.

§ getDirectionVector()

virtual const IVector2D& MQUALIFIER zeus::IStraightLine2D::getDirectionVector ( ) const
pure virtual

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

Returns
: Direction vector.

Implemented in zeus::TStraightLine2D.

§ getInitialVector()

virtual const IVector2D& MQUALIFIER zeus::IStraightLine2D::getInitialVector ( ) const
pure virtual

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

Returns
: Initial vector.

Implemented in zeus::TStraightLine2D.

§ getSlope()

virtual bool MQUALIFIER zeus::IStraightLine2D::getSlope ( Float &  rfSlope) const
pure virtual

Get the slope (Steigung) of the line.

Parameters
rfSlope[OUT]: Slope.
Returns
: The slope is defined, meaning the straight line is not parallel to the y axis.

Implemented in zeus::TStraightLine2D.

§ getYIntercept()

virtual bool MQUALIFIER zeus::IStraightLine2D::getYIntercept ( Float &  rfYIntercept) const
pure virtual

Get the y-intercept (a-Achsenabschnitt) of the line.

Parameters
rfYIntercept[OUT]: y-intercept.
Returns
: The y-intercept is defined, meaning the straight line is not parallel to the y axis.

Implemented in zeus::TStraightLine2D.

§ initAsAxisX()

virtual void MQUALIFIER zeus::IStraightLine2D::initAsAxisX ( )
pure virtual

Initialization methods.

Initialize as x-axis.

Implemented in zeus::TStraightLine2D.

§ initAsAxisY()

virtual void MQUALIFIER zeus::IStraightLine2D::initAsAxisY ( )
pure virtual

Initialize as y-axis.

Implemented in zeus::TStraightLine2D.

§ isAxisX()

virtual bool MQUALIFIER zeus::IStraightLine2D::isAxisX ( ) const
pure virtual

Is this straigth line the x-axis?

Returns
: This straight line is the x-axis.

Implemented in zeus::TStraightLine2D.

§ isAxisY()

virtual bool MQUALIFIER zeus::IStraightLine2D::isAxisY ( ) const
pure virtual

Is this straigth line the y-axis?

Returns
: This straight line is the y-axis.

Implemented in zeus::TStraightLine2D.

§ isEqual()

virtual bool MQUALIFIER zeus::IStraightLine2D::isEqual ( const IStraightLine2D rStraightLine) const
pure virtual

Comparisons.

Equality with another straight line?

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

Implemented in zeus::TStraightLine2D.

§ isParallel()

virtual bool MQUALIFIER zeus::IStraightLine2D::isParallel ( const IStraightLine2D rStraightLine) const
pure virtual

Parallel to another straight line?

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

Implemented in zeus::TStraightLine2D.

§ isValid()

virtual bool MQUALIFIER zeus::IStraightLine2D::isValid ( ) const
pure virtual

Checking the validity.

Returns
: Valid.

Implemented in zeus::TStraightLine2D.

§ setDirectionVector()

virtual void MQUALIFIER zeus::IStraightLine2D::setDirectionVector ( const IVector2D rVecDirection)
pure virtual

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

Parameters
rVecDirection[IN]: Direction vector.

Implemented in zeus::TStraightLine2D.

§ setInitialVector()

virtual void MQUALIFIER zeus::IStraightLine2D::setInitialVector ( const IVector2D rVecInitial)
pure virtual

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

Parameters
rVecInitial[IN]: Initial vector.

Implemented in zeus::TStraightLine2D.


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:03