Public Member Functions

zeus::IPlane Class Reference

#include <IPlane.hpp>

Inheritance diagram for zeus::IPlane:
zeus::IGeometricObject3D zeus::TPlane

List of all members.

Public Member Functions

virtual const IVector3D &MQUALIFIER getInitialVector () const =0
virtual const IVector3D &MQUALIFIER getDirectionVector1 () const =0
virtual const IVector3D &MQUALIFIER getDirectionVector2 () const =0
virtual void MQUALIFIER setInitialVector (const IVector3D &rVecInitial)=0
virtual void MQUALIFIER setDirectionVector1 (const IVector3D &rVecDirection1)=0
virtual void MQUALIFIER setDirectionVector2 (const IVector3D &rVecDirection2)=0
virtual const Float &MQUALIFIER getCoordFormA () const =0
virtual const Float &MQUALIFIER getCoordFormB () const =0
virtual const Float &MQUALIFIER getCoordFormC () const =0
virtual const Float &MQUALIFIER getCoordFormD () const =0
virtual const Float *MQUALIFIER getCoordForm () const =0
virtual void MQUALIFIER setCoordFormA (const Float &a)=0
virtual void MQUALIFIER setCoordFormB (const Float &b)=0
virtual void MQUALIFIER setCoordFormC (const Float &c)=0
virtual void MQUALIFIER setCoordFormD (const Float &d)=0
virtual void MQUALIFIER assign (const IPlane &rPlane)=0
virtual void MQUALIFIER calcNormalVector (IVector3D &rVecNormal) const =0
virtual bool MQUALIFIER isValid () const =0
virtual void MQUALIFIER initAsPlaneXY ()=0
virtual void MQUALIFIER initAsPlaneXZ ()=0
virtual void MQUALIFIER initAsPlaneYZ ()=0
virtual bool MQUALIFIER isPlaneXY () const =0
virtual bool MQUALIFIER isPlaneXZ () const =0
virtual bool MQUALIFIER isPlaneYZ () const =0
virtual void MQUALIFIER calcPointFromParameters (const Float &fParameter1, const Float &fParameter2, IVector3D &rVecPoint) const =0
virtual bool MQUALIFIER calcParametersFromPoint (const IVector3D &rVecPoint, Float &fParameter1, Float &fParameter2) const =0
virtual bool MQUALIFIER isParallel (const IPlane &rPlane) const =0
virtual bool MQUALIFIER isEqual (const IPlane &rPlane) const =0
virtual bool MQUALIFIER arePointsOnSameSide (const IVector3D &rVecPoint1, const IVector3D &rVecPoint2) const =0
virtual Float MQUALIFIER calcDistanceTo (const IVector3D &rVecPoint) const =0
virtual bool MQUALIFIER calcIntersectionPointWithStraightLine3D (const IStraightLine3D &rStraightLine3D, IVector3D &rVecIntersectionPoint) const =0
virtual bool MQUALIFIER calcIntersectionPointWith2Planes (const IPlane &rPlane1, const IPlane &rPlane2, IVector3D &rVecIntersectionPoint) const =0
virtual bool MQUALIFIER calcIntersectionLine (const IPlane &rPlane, IStraightLine3D &rIntersectionLine) const =0
virtual void MQUALIFIER calcAngleTo (const IPlane &rPlane, IAngle &rAngle) const =0
virtual bool MQUALIFIER containsPoint (const IVector3D &rVecPoint) const =0
virtual bool MQUALIFIER containsStraightLine3D (const IStraightLine3D &rStraightLine3D) const =0

Detailed Description

IPlane encapsulates a three dimensional floating point vector as base class for vector geometry calculations.


Member Function Documentation

virtual bool MQUALIFIER zeus::IPlane::arePointsOnSameSide ( const IVector3D rVecPoint1,
const IVector3D rVecPoint2 
) const [pure virtual]

Geometric calculations.

Are two points on the same side regarding this plane?

Parameters:
rVecPoint1,2[IN]: Vectors to 2 given points.
Returns:
: The 2 points are on the same side regarding this plane.

Implemented in zeus::TPlane.

virtual void MQUALIFIER zeus::IPlane::assign ( const IPlane rPlane ) [pure virtual]

Assignment.

Parameters:
rPlane[IN]: Plane to be assigned to this plane.

Implemented in zeus::TPlane.

virtual void MQUALIFIER zeus::IPlane::calcAngleTo ( const IPlane rPlane,
IAngle rAngle 
) const [pure virtual]

Calculate the angle to another plane.

Parameters:
rPlane[IN] : The other plane.
rAngle[OUT]: The angle.

Implemented in zeus::TPlane.

virtual Float MQUALIFIER zeus::IPlane::calcDistanceTo ( const IVector3D rVecPoint ) const [pure virtual]

Calculate the distance to a given point.

Parameters:
rVecPoint[IN]: The given point.
Returns:
: Distance >= 0 between this plane and vecPoint.

Implemented in zeus::TPlane.

virtual bool MQUALIFIER zeus::IPlane::calcIntersectionLine ( const IPlane rPlane,
IStraightLine3D rIntersectionLine 
) const [pure virtual]

Calculate the intersection line with another plane.

Parameters:
rPlane[IN] : The other plane.
IntersectionLine[OUT]: The intersection line.
Returns:
: A unique solution exists.

Implemented in zeus::TPlane.

virtual bool MQUALIFIER zeus::IPlane::calcIntersectionPointWith2Planes ( const IPlane rPlane1,
const IPlane rPlane2,
IVector3D rVecIntersectionPoint 
) const [pure virtual]

Calculate the intersection point with 2 other planes.

Parameters:
rPlane1,2[IN] : The 2 other planes.
rVecIntersectionPoint[OUT]: The intersection point.
Returns:
: A unique solution exists.

Implemented in zeus::TPlane.

virtual bool MQUALIFIER zeus::IPlane::calcIntersectionPointWithStraightLine3D ( const IStraightLine3D rStraightLine3D,
IVector3D rVecIntersectionPoint 
) const [pure virtual]

Calculate the intersection point with a straight line.

Parameters:
rStraightLine3D[IN] : The given straight line.
rVecIntersectionPoint[OUT]: The intersection point.
Returns:
: A unique solution exists.

Implemented in zeus::TPlane.

virtual void MQUALIFIER zeus::IPlane::calcNormalVector ( IVector3D rVecNormal ) const [pure virtual]

Calculate the normal vector of the plane.

Parameters:
rVecNormal[OUT]: Normal vector.

Implemented in zeus::TPlane.

virtual bool MQUALIFIER zeus::IPlane::calcParametersFromPoint ( const IVector3D rVecPoint,
Float &  fParameter1,
Float &  fParameter2 
) const [pure virtual]

Calculate the parameters for a given point contained by the plane.

Parameters:
rVecPoint[IN] : Vector to the given point.
fParameter1,2[OUT]: Parameters s and t of the point direction form. Only valid in case true is returned.
Returns:
: No error. Will be false if vecPoint is not contained by this plane.

Implemented in zeus::TPlane.

virtual void MQUALIFIER zeus::IPlane::calcPointFromParameters ( const Float &  fParameter1,
const Float &  fParameter2,
IVector3D rVecPoint 
) const [pure virtual]

Calculate the coordinates of a point on the plane by giving two parameter values for the point direction form.

Parameters:
fParameter1,2[IN] : Parameters s and t of the point direction form.
rVecPoint[OUT]: Vector to the resulting point in this plane.

Implemented in zeus::TPlane.

virtual bool MQUALIFIER zeus::IPlane::containsPoint ( const IVector3D rVecPoint ) const [pure virtual]

Containment of a given point.

Parameters:
rVecPoint[IN]: Vector to the given point.
Returns:
: vecPoint is contained by this plane.

Implemented in zeus::TPlane.

virtual bool MQUALIFIER zeus::IPlane::containsStraightLine3D ( const IStraightLine3D rStraightLine3D ) const [pure virtual]

Containment of a straight line.

Parameters:
rStraightLine3D[IN]: The given straight line.
Returns:
: rStraightLine3D is contained by this plane.

Implemented in zeus::TPlane.

virtual const Float* MQUALIFIER zeus::IPlane::getCoordForm (  ) const [pure virtual]

Read all coeffiecients the coordinate form ax + by + cz + d = 0 as an array of floats.

Returns:
: const pointer to float array of coefficients.

Implemented in zeus::TPlane.

virtual const Float& MQUALIFIER zeus::IPlane::getCoordFormA (  ) const [pure virtual]

Read the coeffiecient a of the coordinate form ax + by + cz + d = 0.

Returns:
: a.

Implemented in zeus::TPlane.

virtual const Float& MQUALIFIER zeus::IPlane::getCoordFormB (  ) const [pure virtual]

Read the coeffiecient b of the coordinate form ax + by + cz + d = 0.

Returns:
: b.

Implemented in zeus::TPlane.

virtual const Float& MQUALIFIER zeus::IPlane::getCoordFormC (  ) const [pure virtual]

Read the coeffiecient c of the coordinate form ax + by + cz + d = 0.

Returns:
: c.

Implemented in zeus::TPlane.

virtual const Float& MQUALIFIER zeus::IPlane::getCoordFormD (  ) const [pure virtual]

Read the coeffiecient d of the coordinate form ax + by + cz + d = 0.

Returns:
: d.

Implemented in zeus::TPlane.

virtual const IVector3D& MQUALIFIER zeus::IPlane::getDirectionVector1 (  ) const [pure virtual]

Read direction vector 1 of the point direction form r = r0 + s * u + t * v

Returns:
: First direction vector.

Implemented in zeus::TPlane.

virtual const IVector3D& MQUALIFIER zeus::IPlane::getDirectionVector2 (  ) const [pure virtual]

Read direction vector 2 of the point direction form r = r0 + s * u + t * v

Returns:
: Second direction vector.

Implemented in zeus::TPlane.

virtual const IVector3D& MQUALIFIER zeus::IPlane::getInitialVector (  ) const [pure virtual]

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

Returns:
: Initial vector.

Implemented in zeus::TPlane.

virtual void MQUALIFIER zeus::IPlane::initAsPlaneXY (  ) [pure virtual]

Initialize as xy-plane.

Implemented in zeus::TPlane.

virtual void MQUALIFIER zeus::IPlane::initAsPlaneXZ (  ) [pure virtual]

Initialize as xz-plane.

Implemented in zeus::TPlane.

virtual void MQUALIFIER zeus::IPlane::initAsPlaneYZ (  ) [pure virtual]

Initialize as yz-plane.

Implemented in zeus::TPlane.

virtual bool MQUALIFIER zeus::IPlane::isEqual ( const IPlane rPlane ) const [pure virtual]

Equal to another plane?

Parameters:
rPlane[IN]: The other plane.
Returns:
: Equal.

Implemented in zeus::TPlane.

virtual bool MQUALIFIER zeus::IPlane::isParallel ( const IPlane rPlane ) const [pure virtual]

Comparisons.

Parallel to another plane?

Parameters:
rPlane[IN]: The other plane.
Returns:
: Parallel.

Implemented in zeus::TPlane.

virtual bool MQUALIFIER zeus::IPlane::isPlaneXY (  ) const [pure virtual]

Is this plane the xy-plane?

Returns:
: This plane is the xy-plane.

Implemented in zeus::TPlane.

virtual bool MQUALIFIER zeus::IPlane::isPlaneXZ (  ) const [pure virtual]

Is this plane the xz-plane?

Returns:
: This plane is the xz-plane.

Implemented in zeus::TPlane.

virtual bool MQUALIFIER zeus::IPlane::isPlaneYZ (  ) const [pure virtual]

Is this plane the yz-plane?

Returns:
: This plane is the yz-plane.

Implemented in zeus::TPlane.

virtual bool MQUALIFIER zeus::IPlane::isValid (  ) const [pure virtual]

Checking the validity.

Returns:
: Valid.

Implemented in zeus::TPlane.

virtual void MQUALIFIER zeus::IPlane::setCoordFormA ( const Float &  a ) [pure virtual]

Write the coeffiecient a of the coordinate form ax + by + cz + d = 0.

Parameters:
a[IN]: a.

Implemented in zeus::TPlane.

virtual void MQUALIFIER zeus::IPlane::setCoordFormB ( const Float &  b ) [pure virtual]

Write the coeffiecient b of the coordinate form ax + by + cz + d = 0.

Parameters:
b[IN]: b.

Implemented in zeus::TPlane.

virtual void MQUALIFIER zeus::IPlane::setCoordFormC ( const Float &  c ) [pure virtual]

Write the coeffiecient c of the coordinate form ax + by + cz + d = 0.

Parameters:
c[IN]: c.

Implemented in zeus::TPlane.

virtual void MQUALIFIER zeus::IPlane::setCoordFormD ( const Float &  d ) [pure virtual]

Write the coeffiecient d of the coordinate form ax + by + cz + d = 0.

Parameters:
d[IN]: d.

Implemented in zeus::TPlane.

virtual void MQUALIFIER zeus::IPlane::setDirectionVector1 ( const IVector3D rVecDirection1 ) [pure virtual]

Set direction vector 1 of the point direction form r = r0 + s * u + t * v

Parameters:
rVecDirection1[IN]: First direction vector.

Implemented in zeus::TPlane.

virtual void MQUALIFIER zeus::IPlane::setDirectionVector2 ( const IVector3D rVecDirection2 ) [pure virtual]

Set direction vector 2 of the point direction form r = r0 + s * u + t * v

Parameters:
rVecDirection2[IN]: Second direction vector.

Implemented in zeus::TPlane.

virtual void MQUALIFIER zeus::IPlane::setInitialVector ( const IVector3D rVecInitial ) [pure virtual]

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

Parameters:
rVecInitial[IN]: Initial vector.

Implemented in zeus::TPlane.


The documentation for this class was generated from the following file:
 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:26