ZeusMath-Library  2.0.4
zeus::ILineSegment2D Class Referenceabstract

#include <ILineSegment2D.hpp>

Inheritance diagram for zeus::ILineSegment2D:
zeus::IGeometricObject2D zeus::TLineSegment2D

Public Member Functions

virtual IStraightLine2D &MQUALIFIER getStraightLine ()=0
 
virtual const IStraightLine2D &MQUALIFIER getStraightLineConst () const =0
 
virtual void MQUALIFIER getStartPoint (IVector2D &rVecStart) const =0
 
virtual void MQUALIFIER getEndPoint (IVector2D &rVecEnd) const =0
 
virtual void MQUALIFIER setStartPoint (const IVector2D &rVecStart)=0
 
virtual void MQUALIFIER setEndPoint (const IVector2D &rVecEnd)=0
 
virtual bool MQUALIFIER isStartPointIncluded () const =0
 
virtual void MQUALIFIER setStartPointIncluded (bool bInclude)=0
 
virtual bool MQUALIFIER isEndPointIncluded () const =0
 
virtual void MQUALIFIER setEndPointIncluded (bool bInclude)=0
 
virtual void MQUALIFIER assign (const ILineSegment2D &rLineSegment)=0
 
virtual bool MQUALIFIER isValid () const =0
 
virtual bool MQUALIFIER isEqual (const ILineSegment2D &rLineSegment, bool bCheckBorderPointIncludedFlags=true) const =0
 
virtual bool MQUALIFIER isParallel (const ILineSegment2D &rLineSegment) 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

ILineSegment2D encapsulates a three dimensional floating point line segment for vector geometry calculations.

Member Function Documentation

§ assign()

virtual void MQUALIFIER zeus::ILineSegment2D::assign ( const ILineSegment2D rLineSegment)
pure virtual

Assignment.

Parameters
rLineSegment[IN]: Line segment to be assigned to this line segment.

Implemented in zeus::TLineSegment2D.

§ getEndPoint()

virtual void MQUALIFIER zeus::ILineSegment2D::getEndPoint ( IVector2D rVecEnd) const
pure virtual

Get the end point.

Parameters
rVecEnd[OUT]: The end point.

Implemented in zeus::TLineSegment2D.

§ getStartPoint()

virtual void MQUALIFIER zeus::ILineSegment2D::getStartPoint ( IVector2D rVecStart) const
pure virtual

Get the start point.

Parameters
rVecStart[OUT]: The start point.

Implemented in zeus::TLineSegment2D.

§ getStraightLine()

virtual IStraightLine2D& MQUALIFIER zeus::ILineSegment2D::getStraightLine ( )
pure virtual

Get the defining straight line.

Returns
: Defining straight line.

Implemented in zeus::TLineSegment2D.

§ getStraightLineConst()

virtual const IStraightLine2D& MQUALIFIER zeus::ILineSegment2D::getStraightLineConst ( ) const
pure virtual

Get the defining straight line.

Returns
: Defining straight line.

Implemented in zeus::TLineSegment2D.

§ isEndPointIncluded()

virtual bool MQUALIFIER zeus::ILineSegment2D::isEndPointIncluded ( ) const
pure virtual

Is the end point itself included?

Implemented in zeus::TLineSegment2D.

§ isEqual()

virtual bool MQUALIFIER zeus::ILineSegment2D::isEqual ( const ILineSegment2D rLineSegment,
bool  bCheckBorderPointIncludedFlags = true 
) const
pure virtual

Comparisons.

Equality with another line segment?

Parameters
rLineSegment[IN]: The other line segment.
bCheckBorderPointIncludedFlags[IN]: Check the isStart/EndPointIncluded() flags.
Returns
: Equality.

Implemented in zeus::TLineSegment2D.

§ isParallel()

virtual bool MQUALIFIER zeus::ILineSegment2D::isParallel ( const ILineSegment2D rLineSegment) const
pure virtual

Parallel to another line segment?

Parameters
rLineSegment[IN]: The other line segment.
Returns
: Parallel.

Implemented in zeus::TLineSegment2D.

§ isStartPointIncluded()

virtual bool MQUALIFIER zeus::ILineSegment2D::isStartPointIncluded ( ) const
pure virtual

Is the start point itself included?

Implemented in zeus::TLineSegment2D.

§ isValid()

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

Check the validity.

Returns
: Valid.

Implemented in zeus::TLineSegment2D.

§ setEndPoint()

virtual void MQUALIFIER zeus::ILineSegment2D::setEndPoint ( const IVector2D rVecEnd)
pure virtual

Set the end point.

Parameters
rVecEnd[IN]: The end point.

Implemented in zeus::TLineSegment2D.

§ setEndPointIncluded()

virtual void MQUALIFIER zeus::ILineSegment2D::setEndPointIncluded ( bool  bInclude)
pure virtual

Set if the end point itself is included.

Parameters
bInclude[IN]: Include the end point.

Implemented in zeus::TLineSegment2D.

§ setStartPoint()

virtual void MQUALIFIER zeus::ILineSegment2D::setStartPoint ( const IVector2D rVecStart)
pure virtual

Set the start point.

Parameters
rVecStart[IN]: The start point.

Implemented in zeus::TLineSegment2D.

§ setStartPointIncluded()

virtual void MQUALIFIER zeus::ILineSegment2D::setStartPointIncluded ( bool  bInclude)
pure virtual

Set if the start point itself is included.

Parameters
bInclude[IN]: Include the start point.

Implemented in zeus::TLineSegment2D.


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