dlr::geometry::Plane3D Class Reference

The Plane3D class represents a plane in 3D space. More...

#include <plane3D.h>

List of all members.

Public Member Functions

 Plane3D ()
 The default constructor initializes to the X-Y plane.
 Plane3D (const Vector3D &point0, const Vector3D &point1, const Vector3D &point2, bool orthonormalize=true)
 This constructor initializes the plane using three points.
template<class Iterator>
 Plane3D (Iterator beginIterator, Iterator endIterator, double inlierPercentage=1.0)
 This constructor initializes the plane using a collection of points.
 Plane3D (const Plane3D &source)
 The copy constructor deep copies its argument.
 ~Plane3D ()
 Destructor.
Plane3Doperator= (const Plane3D &source)
 The assignment operator deep copies its argument.
const Vector3D & getDirectionVector0 () const
 This member function returns one of a pair of orthonormal direction vectors which span the plane.
const Vector3D & getDirectionVector1 () const
 This member function returns one of a pair of orthonormal direction vectors which span the plane.
Vector3D getNormal () const
const Vector3D & getOrigin () const
 This member function returns one of the infinitely many points on the plane which could serve as the origin of a 2D coordinate system.
double findDistance (const Vector3D &point)


Detailed Description

The Plane3D class represents a plane in 3D space.

Definition at line 31 of file plane3D.h.


Constructor & Destructor Documentation

dlr::geometry::Plane3D::Plane3D (  )  [inline]

The default constructor initializes to the X-Y plane.

Definition at line 37 of file plane3D.h.

dlr::geometry::Plane3D::Plane3D ( const Vector3D &  point0,
const Vector3D &  point1,
const Vector3D &  point2,
bool  orthonormalize = true 
)

This constructor initializes the plane using three points.

Parameters:
point0 This argument is one of the three points which define the plane.
point1 This argument is one of the three points which define the plane.
point2 This argument is one of the three points which define the plane.
orthonormalize If the two vectors (point1 - point0) and (point2 - point0) are orthonormal, then you can save some computation by setting this argument to false.

Definition at line 26 of file plane3D.cpp.

References dlr::numeric::dot(), and dlr::numeric::magnitude().

template<class Iterator>
dlr::geometry::Plane3D::Plane3D ( Iterator  beginIterator,
Iterator  endIterator,
double  inlierPercentage = 1.0 
) [inline]

This constructor initializes the plane using a collection of points.

The resulting plane minimizes the sum-of-squares residual.

Parameters:
beginIterator This argument points to the first Vector3D instance in the sequence.
endIterator This argument points to one past the end of the input sequence.
inlierProportion This parameter specifies what proportion of the input is expected to actually lie on the plane. The number of points to ignore is proportional to (1.0 - inlierPercentage).

Definition at line 211 of file plane3D.h.

References dlr::numeric::argsort(), and dlr::numeric::subArray().

dlr::geometry::Plane3D::Plane3D ( const Plane3D source  ) 

The copy constructor deep copies its argument.

Parameters:
source This argument is the class instance to be copied.

Definition at line 46 of file plane3D.cpp.

dlr::geometry::Plane3D::~Plane3D (  )  [inline]

Destructor.

Definition at line 97 of file plane3D.h.


Member Function Documentation

Plane3D & dlr::geometry::Plane3D::operator= ( const Plane3D source  ) 

The assignment operator deep copies its argument.

Parameters:
source This argument is the class instance to be copied.
Returns:
The return value is a reference to *this.

Definition at line 58 of file plane3D.cpp.

References m_directionVector0, m_directionVector1, and m_origin.

const Vector3D& dlr::geometry::Plane3D::getDirectionVector0 (  )  const [inline]

This member function returns one of a pair of orthonormal direction vectors which span the plane.

Note that there are infinitely many such pairs, so the vector returned by getDirectionVector0() is in some sense arbitrary. It will, however, be consistent through the lifetime of the Plane3D instance.

Returns:
The return value is a Vector3D representing the first direction of the pair.

Definition at line 123 of file plane3D.h.

Referenced by dlr::geometry::findIntersect(), and dlr::geometry::operator<<().

const Vector3D& dlr::geometry::Plane3D::getDirectionVector1 (  )  const [inline]

This member function returns one of a pair of orthonormal direction vectors which span the plane.

Note that there are infinitely many such pairs, so the vector returned by getDirectionVector1() is in some sense arbitrary. It will, however, be consistent through the lifetime of the Plane3D instance.

Returns:
The return value is a Vector3D representing the second direction of the pair.

Definition at line 138 of file plane3D.h.

Referenced by dlr::geometry::findIntersect(), and dlr::geometry::operator<<().

const Vector3D& dlr::geometry::Plane3D::getOrigin (  )  const [inline]

This member function returns one of the infinitely many points on the plane which could serve as the origin of a 2D coordinate system.

Returns:
The return value is a Vector3D representing the returned point.

Definition at line 157 of file plane3D.h.

Referenced by dlr::geometry::findIntersect(), and dlr::geometry::operator<<().


The documentation for this class was generated from the following files:
Generated on Mon Jul 9 20:34:20 2007 for dlrLibs Utility Libraries by  doxygen 1.5.2