BRL-CAD
BRNode Class Reference

#include <brnode.h>

Inheritance diagram for BRNode:
[legend]
Collaboration diagram for BRNode:
[legend]

Public Member Functions

 BRNode (const ON_BoundingBox &node)
 
 BRNode (const ON_Curve *curve, int trim_index, int adj_face_index, const ON_BoundingBox &node, const ON_BrepFace *face, const ON_Interval &t, bool innerTrim, bool checkTrim, bool trimmed)
 
 ~BRNode ()
 
 BRNode (Deserializer &deserializer, const ON_Brep &brep)
 
void serialize (Serializer &serializer) const
 
void addChild (BRNode *child)
 
void getLeaves (std::list< const BRNode * > &out_leaves) const
 
int depth () const
 
void GetBBox (fastf_t *min, fastf_t *max) const
 
bool isTrimmed (const ON_2dPoint &uv, double &trimdist) const
 
ON_2dPoint getClosestPointEstimate (const ON_3dPoint &pt) const
 
ON_2dPoint getClosestPointEstimate (const ON_3dPoint &pt, ON_Interval &u, ON_Interval &v) const
 
fastf_t getCurveEstimateOfV (fastf_t u, fastf_t tol) const
 
fastf_t getCurveEstimateOfU (fastf_t v, fastf_t tol) const
 

Data Fields

ON_BoundingBox m_node
 
ON_Interval m_v
 
int m_adj_face_index
 
bool m_XIncreasing
 
bool m_Horizontal
 
bool m_Vertical
 
bool m_innerTrim
 

Additional Inherited Members

- Static Public Member Functions inherited from PooledObject< BRNode >
static void * operator new (std::size_t size)
 
static void operator delete (void *pointer)
 

Detailed Description

Bounding Rectangle Hierarchy

Definition at line 54 of file brnode.h.

Constructor & Destructor Documentation

◆ BRNode() [1/3]

BRNode ( const ON_BoundingBox &  node)
explicit

◆ BRNode() [2/3]

BRNode ( const ON_Curve *  curve,
int  trim_index,
int  adj_face_index,
const ON_BoundingBox &  node,
const ON_BrepFace *  face,
const ON_Interval &  t,
bool  innerTrim,
bool  checkTrim,
bool  trimmed 
)

◆ ~BRNode()

~BRNode ( )

◆ BRNode() [3/3]

BRNode ( Deserializer deserializer,
const ON_Brep &  brep 
)

Member Function Documentation

◆ serialize()

void serialize ( Serializer serializer) const

◆ addChild()

void addChild ( BRNode child)
inline

Node management functions

Definition at line 149 of file brnode.h.

References LIKELY.

◆ getLeaves()

void getLeaves ( std::list< const BRNode * > &  out_leaves) const

Return a list of all nodes below this node that are leaf nodes

◆ depth()

int depth ( ) const

Report the depth of this node in the hierarchy

◆ GetBBox()

void GetBBox ( fastf_t min,
fastf_t max 
) const
inline

Get 2 points defining bounding box:

*       *----------------max
*       |                 |
*  v    |                 |
*       |                 |
*      min----------------*
*                 u
* 

Definition at line 180 of file brnode.h.

References INFINITY, min, VMINMAX, and VSETALL.

◆ isTrimmed()

bool isTrimmed ( const ON_2dPoint &  uv,
double &  trimdist 
) const

◆ getClosestPointEstimate() [1/2]

ON_2dPoint getClosestPointEstimate ( const ON_3dPoint &  pt) const

◆ getClosestPointEstimate() [2/2]

ON_2dPoint getClosestPointEstimate ( const ON_3dPoint &  pt,
ON_Interval &  u,
ON_Interval &  v 
) const

◆ getCurveEstimateOfV()

fastf_t getCurveEstimateOfV ( fastf_t  u,
fastf_t  tol 
) const

◆ getCurveEstimateOfU()

fastf_t getCurveEstimateOfU ( fastf_t  v,
fastf_t  tol 
) const

Field Documentation

◆ m_node

ON_BoundingBox m_node

Bounding Box

Definition at line 102 of file brnode.h.

◆ m_v

ON_Interval m_v

Surface Information

Definition at line 105 of file brnode.h.

◆ m_adj_face_index

int m_adj_face_index

Trim Curve Information

Definition at line 108 of file brnode.h.

◆ m_XIncreasing

bool m_XIncreasing

Trimming Flags

Definition at line 111 of file brnode.h.

◆ m_Horizontal

bool m_Horizontal

Definition at line 112 of file brnode.h.

◆ m_Vertical

bool m_Vertical

Definition at line 113 of file brnode.h.

◆ m_innerTrim

bool m_innerTrim

Definition at line 114 of file brnode.h.


The documentation for this class was generated from the following file: