#include <Plane.hpp>
Public Member Functions | |
| double | a () const |
| coefficient a More... | |
| double | b () const |
| coefficient b More... | |
| double | c () const |
| coefficient c More... | |
| double | d () const |
| coefficient d More... | |
| bool | equal (const Plane &other, double tol=0.001) const |
| is this plane equal to the other plane true if dot product of outward normals is >= (1-tol) and abs(d1-d2) <= tol More... | |
| Vector3d | outwardNormal () const |
| get the outward normal of this plane More... | |
| bool | parallel (const Plane &other, double tol=0.001) const |
| is this plane parallel to the other plane true if absolute value of dot product of outward normals is >= (1-tol) More... | |
| Plane (const Plane &other) | |
| copy constructor More... | |
| Plane (const Point3d &point, const Vector3d &outwardNormal) | |
| construct with point and outward normal, throws openstudio::Exception if outwardNormal has 0 length. More... | |
| Plane (const std::vector< Point3d > &points) | |
| construct with points, will fit least squares plane. More... | |
| bool | pointOnPlane (const Point3d &point, double tol=0.001) const |
| returns true if the point is on this plane More... | |
| Point3d | project (const Point3d &point) const |
| project a point to this plane More... | |
| std::vector< Point3d > | project (const std::vector< Point3d > &points) const |
| project a vector of points to this plane More... | |
| bool | reverseEqual (const Plane &other, double tol=0.001) const |
| is this plane reverse equal to the other plane true if dot product of outward normals is <= (-1+tol) and abs(d1+d2) <= tol More... | |
| Plane | reversePlane () const |
| flip the plane so outward normal is opposite More... | |
| virtual | ~Plane () |
| virtual destructor More... | |
Plane defines an infinite plane in 3D space.
The equation of a plane is a*x + b*y + c*z = d, any point that satisfies this equation is on the plane.
| openstudio::Plane::Plane | ( | const Plane & | other | ) |
copy constructor
construct with point and outward normal, throws openstudio::Exception if outwardNormal has 0 length.
| openstudio::Plane::Plane | ( | const std::vector< Point3d > & | points | ) |
construct with points, will fit least squares plane.
attempts to align outward normal with that of the points (according to right hand rule). throws openstudio::Exception if cannot compute plane for these points.
|
virtual |
virtual destructor
| double openstudio::Plane::a | ( | ) | const |
coefficient a
| double openstudio::Plane::b | ( | ) | const |
coefficient b
| double openstudio::Plane::c | ( | ) | const |
coefficient c
| double openstudio::Plane::d | ( | ) | const |
coefficient d
| bool openstudio::Plane::equal | ( | const Plane & | other, |
| double | tol = 0.001 |
||
| ) | const |
is this plane equal to the other plane true if dot product of outward normals is >= (1-tol) and abs(d1-d2) <= tol
| Vector3d openstudio::Plane::outwardNormal | ( | ) | const |
get the outward normal of this plane
| bool openstudio::Plane::parallel | ( | const Plane & | other, |
| double | tol = 0.001 |
||
| ) | const |
is this plane parallel to the other plane true if absolute value of dot product of outward normals is >= (1-tol)
| bool openstudio::Plane::pointOnPlane | ( | const Point3d & | point, |
| double | tol = 0.001 |
||
| ) | const |
returns true if the point is on this plane
project a vector of points to this plane
| bool openstudio::Plane::reverseEqual | ( | const Plane & | other, |
| double | tol = 0.001 |
||
| ) | const |
is this plane reverse equal to the other plane true if dot product of outward normals is <= (-1+tol) and abs(d1+d2) <= tol
| Plane openstudio::Plane::reversePlane | ( | ) | const |
flip the plane so outward normal is opposite