BRL-CAD
|
#include <bbnode.h>
Public Member Functions | |
BBNode (const ON_BoundingBox &node, const CurveTree *ct=NULL) | |
BBNode (const CurveTree *ct, const ON_BoundingBox &node, const ON_Interval &u, const ON_Interval &v, bool checkTrim, bool trimmed) | |
~BBNode () | |
BBNode (Deserializer &deserieralizer, const CurveTree &ctree) | |
void | serialize (Serializer &serializer) const |
const ON_BrepFace & | get_face () const |
bool | isLeaf () const |
void | getLeaves (std::list< const BBNode * > &out_leaves) const |
void | addChild (BBNode *child) |
int | depth () const |
void | GetBBox (float *min, float *max) const |
void | GetBBox (double *min, double *max) const |
bool | intersectsHierarchy (const ON_Ray &ray, std::list< const BBNode * > &results) const |
ON_2dPoint | getClosestPointEstimate (const ON_3dPoint &pt) const |
ON_2dPoint | getClosestPointEstimate (const ON_3dPoint &pt, ON_Interval &u, ON_Interval &v) const |
int | getLeavesBoundingPoint (const ON_3dPoint &pt, std::list< const BBNode * > &out) const |
bool | isTrimmed (const ON_2dPoint &uv, const BRNode **closest, double &closesttrim, double within_distance_tol) const |
void | BuildBBox () |
bool | prepTrims () |
const std::vector< BBNode * > & | get_children () const |
Data Fields | |
ON_BoundingBox | m_node |
ON_Interval | m_u |
ON_Interval | m_v |
bool | m_checkTrim |
bool | m_trimmed |
ON_3dPoint | m_estimate |
ON_3dVector | m_normal |
const CurveTree *const | m_ctree |
Additional Inherited Members | |
Static Public Member Functions inherited from PooledObject< BBNode > | |
static void * | operator new (std::size_t size) |
static void | operator delete (void *pointer) |
BBNode | ( | const CurveTree * | ct, |
const ON_BoundingBox & | node, | ||
const ON_Interval & | u, | ||
const ON_Interval & | v, | ||
bool | checkTrim, | ||
bool | trimmed | ||
) |
~BBNode | ( | ) |
BBNode | ( | Deserializer & | deserieralizer, |
const CurveTree & | ctree | ||
) |
void serialize | ( | Serializer & | serializer | ) | const |
|
inline |
Definition at line 201 of file bbnode.h.
References BBNode::m_ctree.
|
inline |
void getLeaves | ( | std::list< const BBNode * > & | out_leaves | ) | const |
Return all leaves below this node that are leaf nodes
|
inline |
int depth | ( | ) | const |
Report the depth of this node in the hierarchy
|
inline |
Get 2 points defining a bounding box
* _ max _ * _ - + - _ * * _ + _ * * | - _ + _ - | * | *+ | * | |+ | * | _ |+ _ | * | _ - | - _ | * * _ | _ * * - _ | _ - * min *
Definition at line 219 of file bbnode.h.
References BBNode::m_node, and min.
|
inline |
Definition at line 230 of file bbnode.h.
References BBNode::m_node, and min.
Test whether a ray intersects the 3D bounding volume of the node - if so, and node is not a leaf node, query children. If leaf node, and intersects, add to list.
ON_2dPoint getClosestPointEstimate | ( | const ON_3dPoint & | pt | ) | const |
ON_2dPoint getClosestPointEstimate | ( | const ON_3dPoint & | pt, |
ON_Interval & | u, | ||
ON_Interval & | v | ||
) | const |
int getLeavesBoundingPoint | ( | const ON_3dPoint & | pt, |
std::list< const BBNode * > & | out | ||
) | const |
bool isTrimmed | ( | const ON_2dPoint & | uv, |
const BRNode ** | closest, | ||
double & | closesttrim, | ||
double | within_distance_tol | ||
) | const |
void BuildBBox | ( | ) |
bool prepTrims | ( | ) |
|
inline |
ON_BoundingBox m_node |
ON_3dPoint m_estimate |
const CurveTree* const m_ctree |
Curve Tree associated with the parent Surface Tree
Definition at line 151 of file bbnode.h.
Referenced by BBNode::get_face().