ZeusMath-Library  2.0.4
zeus::IArc2D Class Referenceabstract

#include <IArc2D.hpp>

Inheritance diagram for zeus::IArc2D:
zeus::IGeometricObject2D zeus::TArc2D

Public Member Functions

virtual ICircle2D &MQUALIFIER getCircle ()=0
 
virtual const ICircle2D &MQUALIFIER getCircleConst () const =0
 
virtual void MQUALIFIER setCircle (const ICircle2D &rCircle)=0
 
virtual const IVector2D &MQUALIFIER getCenter () const =0
 
virtual void MQUALIFIER setCenter (const IVector2D &rVecCenter)=0
 
virtual const Float &MQUALIFIER getRadius () const =0
 
virtual void MQUALIFIER setRadius (const Float &rfRadius)=0
 
virtual const IAngle &MQUALIFIER getStartAngle () const =0
 
virtual const IAngle &MQUALIFIER getEndAngle () const =0
 
virtual void MQUALIFIER setStartAngle (const IAngle &rStartAngle)=0
 
virtual void MQUALIFIER setEndAngle (const IAngle &rEndAngle)=0
 
virtual void MQUALIFIER setAngles (const IAngle &rStartAngle, const IAngle &rEndAngle, bool bAnglesAreGivenCounterClockwise)=0
 
virtual void MQUALIFIER switchAngles ()=0
 
virtual void MQUALIFIER getStartPoint (IVector2D &rVecStart) const =0
 
virtual void MQUALIFIER getEndPoint (IVector2D &rVecEnd) const =0
 
virtual void MQUALIFIER createSupplementArc (IArc2D &rSupplementArc) const =0
 
virtual bool MQUALIFIER isShorterThanSupplementArc () const =0
 
virtual void MQUALIFIER assign (const IArc2D &rArc)=0
 
virtual bool MQUALIFIER isEqual (const IArc2D &rArc) const =0
 
virtual bool MQUALIFIER containsAngle (const IAngle &rAngle, bool bIncludeStartAndEndPoints=true) const =0
 
virtual bool MQUALIFIER containsPoint2 (const IVector2D &rVecPoint, bool bIncludeStartAndEndPoints=true, const Float &rfTolerance=0) const =0
 
virtual void MQUALIFIER moveStartPointOnCircle (const Float &rfDistance, bool bCounterClockwise)=0
 
virtual void MQUALIFIER moveEndPointOnCircle (const Float &rfDistance, bool bCounterClockwise)=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

IArc2D encapsulates a three dimensional floating point arc for vector geometry calculations.

Member Function Documentation

§ assign()

virtual void MQUALIFIER zeus::IArc2D::assign ( const IArc2D rArc)
pure virtual

Assignment.

Parameters
rArc[IN]: Arc to be assigned to this arc.

Implemented in zeus::TArc2D.

§ containsAngle()

virtual bool MQUALIFIER zeus::IArc2D::containsAngle ( const IAngle rAngle,
bool  bIncludeStartAndEndPoints = true 
) const
pure virtual

Is a given angle defined to be on this arc?

Parameters
rAngle[IN]: Angle.
bIncludeStartAndEndPoints[IN]: Include the start and end points.
Returns
: This arc contains the given angle.

Implemented in zeus::TArc2D.

§ containsPoint2()

virtual bool MQUALIFIER zeus::IArc2D::containsPoint2 ( const IVector2D rVecPoint,
bool  bIncludeStartAndEndPoints = true,
const Float &  rfTolerance = 0 
) const
pure virtual

Is a given point on this arc?

Parameters
rVecPoint[IN]: Vector to the given point.
bIncludeStartAndEndPoints[IN]: Include the start and end points.
rfTolerance[IN]: Optional: Maximum distance used as tolerance to treat the given point still as being contained.
Returns
: This arc contains the given point.

Implemented in zeus::TArc2D.

§ createSupplementArc()

virtual void MQUALIFIER zeus::IArc2D::createSupplementArc ( IArc2D rSupplementArc) const
pure virtual

Create the supplement arc of this arc.

Parameters
rSupplementArc[IN]: The supplement arc.

Implemented in zeus::TArc2D.

§ getCenter()

virtual const IVector2D& MQUALIFIER zeus::IArc2D::getCenter ( ) const
pure virtual

Get the center vector.

Implemented in zeus::TArc2D.

§ getCircle()

virtual ICircle2D& MQUALIFIER zeus::IArc2D::getCircle ( )
pure virtual

Get the defining circle.

Returns
: Defining circle.

Implemented in zeus::TArc2D.

§ getCircleConst()

virtual const ICircle2D& MQUALIFIER zeus::IArc2D::getCircleConst ( ) const
pure virtual

Get the defining circle.

Returns
: Defining circle.

Implemented in zeus::TArc2D.

§ getEndAngle()

virtual const IAngle& MQUALIFIER zeus::IArc2D::getEndAngle ( ) const
pure virtual

Get the end angle. See start angle.

Implemented in zeus::TArc2D.

§ getEndPoint()

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

Get the end point.

Parameters
rVecEnd[OUT]: The end point.

Implemented in zeus::TArc2D.

§ getRadius()

virtual const Float& MQUALIFIER zeus::IArc2D::getRadius ( ) const
pure virtual

Get the radius.

Implemented in zeus::TArc2D.

§ getStartAngle()

virtual const IAngle& MQUALIFIER zeus::IArc2D::getStartAngle ( ) const
pure virtual

Get the start angle.

Arcs are always defined counter clockwise: The arc runs from the start angle to the end angle counter clockwise, hence in mathematically positive direction of rotation.

Implemented in zeus::TArc2D.

§ getStartPoint()

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

Get the start point.

Parameters
rVecStart[OUT]: The start point.

Implemented in zeus::TArc2D.

§ isEqual()

virtual bool MQUALIFIER zeus::IArc2D::isEqual ( const IArc2D rArc) const
pure virtual

Equality with another arc?

Parameters
rArc[IN]: The other arc.
Returns
: Equality.

Implemented in zeus::TArc2D.

§ isShorterThanSupplementArc()

virtual bool MQUALIFIER zeus::IArc2D::isShorterThanSupplementArc ( ) const
pure virtual

Is this arc shorter than its supplement arc?

Returns
: Shorter than its supplement arc.

Implemented in zeus::TArc2D.

§ moveEndPointOnCircle()

virtual void MQUALIFIER zeus::IArc2D::moveEndPointOnCircle ( const Float &  rfDistance,
bool  bCounterClockwise 
)
pure virtual

moves the end point on the circle. The distance is used absolute. Negative numbers are converted. Use the flag to describe the move direction

Parameters
rfDistance: amount to move
bCounterClockwise: move the point counter clockwise (true)

Implemented in zeus::TArc2D.

§ moveStartPointOnCircle()

virtual void MQUALIFIER zeus::IArc2D::moveStartPointOnCircle ( const Float &  rfDistance,
bool  bCounterClockwise 
)
pure virtual

moves the start point on the circle. The distance is used absolute. Negative numbers are converted. Use the flag to describe the move direction

Parameters
rfDistance: amount to move
bCounterClockwise: move the point counter clockwise (true)

Implemented in zeus::TArc2D.

§ setAngles()

virtual void MQUALIFIER zeus::IArc2D::setAngles ( const IAngle rStartAngle,
const IAngle rEndAngle,
bool  bAnglesAreGivenCounterClockwise 
)
pure virtual

Set start and end angles.

Parameters
rStartAngle[IN]: The start angle.
rEndAngle[IN]: The end angle.
bAnglesAreGivenCounterClockwise[IN]: The angles are given counterclockwise.

Implemented in zeus::TArc2D.

§ setCenter()

virtual void MQUALIFIER zeus::IArc2D::setCenter ( const IVector2D rVecCenter)
pure virtual

Set the center vector.

Parameters
rVecCenter[IN]: The center vector.

Implemented in zeus::TArc2D.

§ setCircle()

virtual void MQUALIFIER zeus::IArc2D::setCircle ( const ICircle2D rCircle)
pure virtual

Set the defining circle.

Parameters
rCircle[IN]: The defining circle.

Implemented in zeus::TArc2D.

§ setEndAngle()

virtual void MQUALIFIER zeus::IArc2D::setEndAngle ( const IAngle rEndAngle)
pure virtual

Set the end angle.

Parameters
rEndAngle[IN]: The end angle.

Implemented in zeus::TArc2D.

§ setRadius()

virtual void MQUALIFIER zeus::IArc2D::setRadius ( const Float &  rfRadius)
pure virtual

Set the radius.

Parameters
rfRadius[IN]: The new radius.

Implemented in zeus::TArc2D.

§ setStartAngle()

virtual void MQUALIFIER zeus::IArc2D::setStartAngle ( const IAngle rStartAngle)
pure virtual

Set the start angle.

Parameters
rStartAngle[IN]: The start angle.

Implemented in zeus::TArc2D.

§ switchAngles()

virtual void MQUALIFIER zeus::IArc2D::switchAngles ( )
pure virtual

Switch start and end angles.

Implemented in zeus::TArc2D.


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