#include <plane3D.h>
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. | |
| Plane3D & | operator= (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) |
Definition at line 31 of file plane3D.h.
| dlr::geometry::Plane3D::Plane3D | ( | ) | [inline] |
| dlr::geometry::Plane3D::Plane3D | ( | const Vector3D & | point0, | |
| const Vector3D & | point1, | |||
| const Vector3D & | point2, | |||
| bool | orthonormalize = true | |||
| ) |
This constructor initializes the plane using three points.
| 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().
| 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.
| 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.
| source | This argument is the class instance to be copied. |
Definition at line 46 of file plane3D.cpp.
The assignment operator deep copies its argument.
| source | This argument is the class instance to be copied. |
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.
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.
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.
Definition at line 157 of file plane3D.h.
Referenced by dlr::geometry::findIntersect(), and dlr::geometry::operator<<().
1.5.2