#include <Plane.h>
Public Member Functions | |
| TPlane (const IVector3D &rVecInitial, const IVector3D &rVecDirection1, const IVector3D &rVecDirection2, bool bConstructionByPointDirectionForm_Or_By3Points) | |
| Construction by the point direction form, or by just giving 3 points. | |
| TPlane (const Float &a, const Float &b, const Float &c, const Float &d) | |
| Construction by the coordinate form. | |
| TPlane (const IVector3D &rVecNormal, const IVector3D &rVecKnownPoint) | |
| Construction by normal vector and one known point. | |
| TPlane () | |
| Default constructor, initializing as xy-plane. | |
| TPlane (const TPlane &rPlane) | |
| Copy constructor: Constructor taking class type object. | |
| TPlane (const IPlane &rPlane) | |
| Constructor taking interface type object. | |
| virtual | ~TPlane () |
| Virtual destructor. | |
| virtual const IVector3D &MQUALIFIER | getInitialVector () const |
| virtual const IVector3D &MQUALIFIER | getDirectionVector1 () const |
| virtual const IVector3D &MQUALIFIER | getDirectionVector2 () const |
| virtual void MQUALIFIER | setInitialVector (const IVector3D &rVecInitial) |
| virtual void MQUALIFIER | setDirectionVector1 (const IVector3D &rVecDirection1) |
| virtual void MQUALIFIER | setDirectionVector2 (const IVector3D &rVecDirection2) |
| virtual const Float &MQUALIFIER | getCoordFormA () const |
| virtual const Float &MQUALIFIER | getCoordFormB () const |
| virtual const Float &MQUALIFIER | getCoordFormC () const |
| virtual const Float &MQUALIFIER | getCoordFormD () const |
| virtual const Float *MQUALIFIER | getCoordForm () const |
| virtual void MQUALIFIER | setCoordFormA (const Float &a) |
| virtual void MQUALIFIER | setCoordFormB (const Float &b) |
| virtual void MQUALIFIER | setCoordFormC (const Float &c) |
| virtual void MQUALIFIER | setCoordFormD (const Float &d) |
| virtual void MQUALIFIER | assign (const IPlane &rPlane) |
| virtual void MQUALIFIER | calcNormalVector (IVector3D &rVecNormal) const |
| virtual bool MQUALIFIER | isValid () const |
| virtual void MQUALIFIER | initAsPlaneXY () |
| virtual void MQUALIFIER | initAsPlaneXZ () |
| virtual void MQUALIFIER | initAsPlaneYZ () |
| virtual bool MQUALIFIER | isPlaneXY () const |
| virtual bool MQUALIFIER | isPlaneXZ () const |
| virtual bool MQUALIFIER | isPlaneYZ () const |
| virtual void MQUALIFIER | calcPointFromParameters (const Float &fParameter1, const Float &fParameter2, IVector3D &rVecPoint) const |
| virtual bool MQUALIFIER | calcParametersFromPoint (const IVector3D &rVecPoint, Float &fParameter1, Float &fParameter2) const |
| virtual bool MQUALIFIER | isParallel (const IPlane &rPlane) const |
| virtual bool MQUALIFIER | isEqual (const IPlane &rPlane) const |
| virtual bool MQUALIFIER | arePointsOnSameSide (const IVector3D &rVecPoint1, const IVector3D &rVecPoint2) const |
| virtual Float MQUALIFIER | calcDistanceTo (const IVector3D &rVecPoint) const |
| virtual bool MQUALIFIER | calcIntersectionPointWithStraightLine3D (const IStraightLine3D &rStraightLine3D, IVector3D &rVecIntersectionPoint) const |
| virtual bool MQUALIFIER | calcIntersectionPointWith2Planes (const IPlane &rPlane1, const IPlane &rPlane2, IVector3D &rVecIntersectionPoint) const |
| virtual bool MQUALIFIER | calcIntersectionLine (const IPlane &rPlane, IStraightLine3D &rIntersectionLine) const |
| virtual void MQUALIFIER | calcAngleTo (const IPlane &rPlane, IAngle &rAngle) const |
| virtual bool MQUALIFIER | containsPoint (const IVector3D &rVecPoint) const |
| virtual bool MQUALIFIER | containsStraightLine3D (const IStraightLine3D &rStraightLine3D) const |
| TVector3D | getNormalVector () const |
| Calculate the normal vector by value. | |
| const TPlane & | operator= (const IPlane &rPlane) |
| const TPlane & | operator= (const TPlane &rPlane) |
| bool | operator|| (const IPlane &rPlane) const |
| bool | operator== (const IPlane &rPlane) const |
| bool | operator!= (const IPlane &rPlane) const |
| Inequal to another plane? | |
Static Public Member Functions | |
| static const TPlane & | getPlaneXY () |
| Returns the XY plane. | |
| static const TPlane & | getPlaneXZ () |
| Returns the XZ plane. | |
| static const TPlane & | getPlaneYZ () |
| Returns the YZ plane. | |
TPlane encapsulates a three dimensional floating point plane for vector geometry calculations.
TPlane objects are stack objects.
| zeus::TPlane::TPlane | ( | const IVector3D & | rVecInitial, |
| const IVector3D & | rVecDirection1, | ||
| const IVector3D & | rVecDirection2, | ||
| bool | bConstructionByPointDirectionForm_Or_By3Points | ||
| ) |
Construction by the point direction form, or by just giving 3 points.
Construction by the point direction form, or by just giving 3 points.
Point direction form: r = r0 + s * u + t * v
| rVecInitial | [IN]: Initial vector , or vector to point 1. |
| rVecDirection1 | [IN]: Direction vector 1, or vector to point 2. |
| rVecDirection2 | [IN]: Direction vector 2, or vector to point 3. |
| bConstructionByPointDirectionForm_Or_By3Points | [IN]: Defines whether the 3 given vectors define the point direction form or 3 points. |
| zeus::TPlane::TPlane | ( | const Float & | a, |
| const Float & | b, | ||
| const Float & | c, | ||
| const Float & | d | ||
| ) |
Construction by the coordinate form.
Construction by the coordinate form:
ax + by + cz + d = 0
| a | [IN]: Coefficient of the coordinate form as noted above. |
| b | [IN]: Coefficient of the coordinate form as noted above. |
| c | [IN]: Coefficient of the coordinate form as noted above. |
| d | [IN]: Coefficient of the coordinate form as noted above. |
Construction by normal vector and one known point.
Construction by normal vector and one known point.
| rVecNormal | [IN]: The normal vector. |
| rVecKnownPoint | [IN]: Vector to the known point. |
| zeus::TPlane::TPlane | ( | ) | [inline] |
Default constructor, initializing as xy-plane.
| zeus::TPlane::TPlane | ( | const TPlane & | rPlane ) | [inline] |
Copy constructor: Constructor taking class type object.
| zeus::TPlane::TPlane | ( | const IPlane & | rPlane ) | [inline] |
Constructor taking interface type object.
| virtual zeus::TPlane::~TPlane | ( | ) | [inline, virtual] |
Virtual destructor.
| bool MQUALIFIER zeus::TPlane::arePointsOnSameSide | ( | const IVector3D & | rVecPoint1, |
| const IVector3D & | rVecPoint2 | ||
| ) | const [virtual] |
Implements zeus::IPlane.
| virtual void MQUALIFIER zeus::TPlane::assign | ( | const IPlane & | rPlane ) | [inline, virtual] |
| void MQUALIFIER zeus::TPlane::calcAngleTo | ( | const IPlane & | rPlane, |
| IAngle & | rAngle | ||
| ) | const [virtual] |
Implements zeus::IPlane.
| Float MQUALIFIER zeus::TPlane::calcDistanceTo | ( | const IVector3D & | rVecPoint ) | const [virtual] |
Implements zeus::IPlane.
| bool MQUALIFIER zeus::TPlane::calcIntersectionLine | ( | const IPlane & | rPlane, |
| IStraightLine3D & | rIntersectionLine | ||
| ) | const [virtual] |
Implements zeus::IPlane.
| bool MQUALIFIER zeus::TPlane::calcIntersectionPointWith2Planes | ( | const IPlane & | rPlane1, |
| const IPlane & | rPlane2, | ||
| IVector3D & | rVecIntersectionPoint | ||
| ) | const [virtual] |
Implements zeus::IPlane.
| bool MQUALIFIER zeus::TPlane::calcIntersectionPointWithStraightLine3D | ( | const IStraightLine3D & | rStraightLine3D, |
| IVector3D & | rVecIntersectionPoint | ||
| ) | const [virtual] |
Implements zeus::IPlane.
| virtual void MQUALIFIER zeus::TPlane::calcNormalVector | ( | IVector3D & | rVecNormal ) | const [inline, virtual] |
Calculate the normal vector of the plane.
| rVecNormal | [OUT]: Normal vector. |
Implements zeus::IPlane.
| bool MQUALIFIER zeus::TPlane::calcParametersFromPoint | ( | const IVector3D & | rVecPoint, |
| Float & | fParameter1, | ||
| Float & | fParameter2 | ||
| ) | const [virtual] |
Implements zeus::IPlane.
| void MQUALIFIER zeus::TPlane::calcPointFromParameters | ( | const Float & | fParameter1, |
| const Float & | fParameter2, | ||
| IVector3D & | rVecPoint | ||
| ) | const [virtual] |
Implements zeus::IPlane.
| bool MQUALIFIER zeus::TPlane::containsPoint | ( | const IVector3D & | rVecPoint ) | const [virtual] |
Implements zeus::IPlane.
| bool MQUALIFIER zeus::TPlane::containsStraightLine3D | ( | const IStraightLine3D & | rStraightLine3D ) | const [virtual] |
Implements zeus::IPlane.
| virtual const Float* MQUALIFIER zeus::TPlane::getCoordForm | ( | ) | const [inline, virtual] |
Read all coeffiecients the coordinate form ax + by + cz + d = 0 as an array of floats.
Implements zeus::IPlane.
| virtual const Float& MQUALIFIER zeus::TPlane::getCoordFormA | ( | ) | const [inline, virtual] |
Read the coeffiecient a of the coordinate form ax + by + cz + d = 0.
Implements zeus::IPlane.
| virtual const Float& MQUALIFIER zeus::TPlane::getCoordFormB | ( | ) | const [inline, virtual] |
Read the coeffiecient b of the coordinate form ax + by + cz + d = 0.
Implements zeus::IPlane.
| virtual const Float& MQUALIFIER zeus::TPlane::getCoordFormC | ( | ) | const [inline, virtual] |
Read the coeffiecient c of the coordinate form ax + by + cz + d = 0.
Implements zeus::IPlane.
| virtual const Float& MQUALIFIER zeus::TPlane::getCoordFormD | ( | ) | const [inline, virtual] |
Read the coeffiecient d of the coordinate form ax + by + cz + d = 0.
Implements zeus::IPlane.
| virtual const IVector3D& MQUALIFIER zeus::TPlane::getDirectionVector1 | ( | ) | const [inline, virtual] |
Read direction vector 1 of the point direction form r = r0 + s * u + t * v
Implements zeus::IPlane.
| virtual const IVector3D& MQUALIFIER zeus::TPlane::getDirectionVector2 | ( | ) | const [inline, virtual] |
Read direction vector 2 of the point direction form r = r0 + s * u + t * v
Implements zeus::IPlane.
| virtual const IVector3D& MQUALIFIER zeus::TPlane::getInitialVector | ( | ) | const [inline, virtual] |
Read the initial vector of the point direction form r = r0 + s * u + t * v
Implements zeus::IPlane.
| TVector3D zeus::TPlane::getNormalVector | ( | ) | const [inline] |
Calculate the normal vector by value.
| static const TPlane& zeus::TPlane::getPlaneXY | ( | ) | [inline, static] |
Returns the XY plane.
| static const TPlane& zeus::TPlane::getPlaneXZ | ( | ) | [inline, static] |
Returns the XZ plane.
| static const TPlane& zeus::TPlane::getPlaneYZ | ( | ) | [inline, static] |
Returns the YZ plane.
| virtual void MQUALIFIER zeus::TPlane::initAsPlaneXY | ( | ) | [inline, virtual] |
Initialize as xy-plane.
Implements zeus::IPlane.
| virtual void MQUALIFIER zeus::TPlane::initAsPlaneXZ | ( | ) | [inline, virtual] |
Initialize as xz-plane.
Implements zeus::IPlane.
| virtual void MQUALIFIER zeus::TPlane::initAsPlaneYZ | ( | ) | [inline, virtual] |
Initialize as yz-plane.
Implements zeus::IPlane.
| virtual bool MQUALIFIER zeus::TPlane::isEqual | ( | const IPlane & | rPlane ) | const [inline, virtual] |
Equal to another plane?
| rPlane | [IN]: The other plane. |
Implements zeus::IPlane.
| virtual bool MQUALIFIER zeus::TPlane::isParallel | ( | const IPlane & | rPlane ) | const [inline, virtual] |
Comparisons.
Parallel to another plane?
| rPlane | [IN]: The other plane. |
Implements zeus::IPlane.
| bool MQUALIFIER zeus::TPlane::isPlaneXY | ( | ) | const [virtual] |
Implements zeus::IPlane.
| bool MQUALIFIER zeus::TPlane::isPlaneXZ | ( | ) | const [virtual] |
Implements zeus::IPlane.
| bool MQUALIFIER zeus::TPlane::isPlaneYZ | ( | ) | const [virtual] |
Implements zeus::IPlane.
| virtual bool MQUALIFIER zeus::TPlane::isValid | ( | ) | const [inline, virtual] |
| bool zeus::TPlane::operator!= | ( | const IPlane & | rPlane ) | const [inline] |
Inequal to another plane?
Assignment of interface type object.
| rPlane | [IN]: Plane to be assigned to this plane. |
Assignment of class type object.
| rPlane | [IN]: Plane to be assigned to this plane. |
| bool zeus::TPlane::operator== | ( | const IPlane & | rPlane ) | const |
Equal to another plane?
| rPlane | [IN]: The other plane. |
| true | : planes are equal. |
| false,: | planes are not equal |
| bool zeus::TPlane::operator|| | ( | const IPlane & | rPlane ) | const |
Parallel to another plane?
| rPlane | [IN]: The other plane. |
| true | : planes are parallel. |
| false | : planes are not parallel |
| virtual void MQUALIFIER zeus::TPlane::setCoordFormA | ( | const Float & | a ) | [inline, virtual] |
Write the coeffiecient a of the coordinate form ax + by + cz + d = 0.
| a | [IN]: a. |
Implements zeus::IPlane.
| virtual void MQUALIFIER zeus::TPlane::setCoordFormB | ( | const Float & | b ) | [inline, virtual] |
Write the coeffiecient b of the coordinate form ax + by + cz + d = 0.
| b | [IN]: b. |
Implements zeus::IPlane.
| virtual void MQUALIFIER zeus::TPlane::setCoordFormC | ( | const Float & | c ) | [inline, virtual] |
Write the coeffiecient c of the coordinate form ax + by + cz + d = 0.
| c | [IN]: c. |
Implements zeus::IPlane.
| virtual void MQUALIFIER zeus::TPlane::setCoordFormD | ( | const Float & | d ) | [inline, virtual] |
Write the coeffiecient d of the coordinate form ax + by + cz + d = 0.
| d | [IN]: d. |
Implements zeus::IPlane.
| virtual void MQUALIFIER zeus::TPlane::setDirectionVector1 | ( | const IVector3D & | rVecDirection1 ) | [inline, virtual] |
Set direction vector 1 of the point direction form r = r0 + s * u + t * v
| rVecDirection1 | [IN]: First direction vector. |
Implements zeus::IPlane.
| virtual void MQUALIFIER zeus::TPlane::setDirectionVector2 | ( | const IVector3D & | rVecDirection2 ) | [inline, virtual] |
Set direction vector 2 of the point direction form r = r0 + s * u + t * v
| rVecDirection2 | [IN]: Second direction vector. |
Implements zeus::IPlane.
| virtual void MQUALIFIER zeus::TPlane::setInitialVector | ( | const IVector3D & | rVecInitial ) | [inline, virtual] |
Set the initial vector of the point direction form r = r0 + s * u + t * v
| rVecInitial | [IN]: Initial vector. |
Implements zeus::IPlane.