struct to store a plane More...
#include <BSPTree.hpp>
Public Member Functions | |
Plane () | |
Plane (const double n[3], double d) | |
Plane (double a, double b, double c, double d) | |
Plane (Axis normal, double point_on_axis) | |
double | signed_distance (const double point[3]) const |
bool | below (const double point[3]) const |
bool | above (const double point[3]) const |
double | distance (const double point[3]) const |
void | flip () |
void | set (const double normal[3], const double point[3]) |
void | set (const double pt1[3], const double pt2[3], const double pt3[3]) |
void | set (double i, double j, double k, double cff) |
void | set (Axis normal, double point_on_axis) |
Public Attributes | |
double | norm [3] |
Unit normal of plane. More... | |
double | coeff |
norm[0]*x + norm[1]*y + norm[2]*z + coeff = 0 More... | |
struct to store a plane
If plane is defined as Ax+By+Cz+D=0, then norm={A,B,C} and coeff=-D.
Definition at line 81 of file BSPTree.hpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
return true if point is above the plane
Definition at line 124 of file BSPTree.hpp.
References signed_distance().
Referenced by moab::BSPTreeBoxIter::intersects(), moab::BSPTree::leaf_containing_point(), and moab::BSPTreeBoxIter::side_above_plane().
|
inline |
return true if point is below the plane
Definition at line 118 of file BSPTree.hpp.
References signed_distance().
|
inline |
Definition at line 129 of file BSPTree.hpp.
References signed_distance().
Referenced by moab::BSPTreeBoxIter::side_on_plane().
|
inline |
reverse plane normal
Definition at line 135 of file BSPTree.hpp.
Referenced by moab::BSPTreeIter::calculate_polyhedron(), moab::BSPTreeBoxIter::down(), moab::BSPTreePlaneIter::operator++(), moab::BSPTreeBoxIter::step(), and moab::BSPTreeBoxIter::step_to_first_leaf().
|
inline |
|
inline |
Definition at line 143 of file BSPTree.hpp.
References moab::dot(), and Plane().
Referenced by set().
void moab::BSPTree::Plane::set | ( | const double | pt1[3], |
const double | pt2[3], | ||
const double | pt3[3] | ||
) |
|
inline |
Definition at line 151 of file BSPTree.hpp.
References Plane().
|
inline |
Signed distance from point to plane: absolute value is distance from point to plane positive if 'above' plane, negative if 'below' Note: assumes unit-length normal.
Definition at line 112 of file BSPTree.hpp.
Referenced by above(), below(), distance(), moab::BSPTreeBoxIter::get_neighbors(), and moab::BSPTreeBoxIter::splits().
double moab::BSPTree::Plane::coeff |
norm[0]*x + norm[1]*y + norm[2]*z + coeff = 0
Definition at line 105 of file BSPTree.hpp.
Referenced by moab::BSPTreeIter::calculate_polyhedron(), flip(), moab::plane_cut_edge(), set(), moab::BSPTree::set_split_plane(), and signed_distance().
double moab::BSPTree::Plane::norm[3] |
Unit normal of plane.
Definition at line 104 of file BSPTree.hpp.
Referenced by moab::BSPTreeIter::calculate_polyhedron(), flip(), Plane(), moab::plane_cut_edge(), set(), moab::BSPTree::set_split_plane(), and signed_distance().