#include <opennurbs_plus.h>
|
| | ON_MeshTreeNode () |
| |
| const ON_MeshTreeNode * | FindNode (int mesh_face_index) const |
| |
| bool | GetClosestPoint (const ON_3dPoint &P, ON_MESH_POINT *t, double maximum_distance=0.0) const |
| | See ON_CurveTreeNode for working example. More...
|
| |
| int | IntersectLine (ON_Line line, ON_SimpleArray< ON_CMX_EVENT > &x, double intersection_tolerance=0.0, double overlap_tolerance=0.0) const |
| |
| int | IntersectMesh (const class ON_MeshTreeNode *mnodeB, const ON_Xform &xformB, ON_SimpleArray< ON_Line > &lines) const |
| |
| int | IntersectMesh (const class ON_MeshTreeNode *mnodeB, ON_ClassArray< ON_SimpleArray< ON_MMX_POINT > > &x, double intersection_tolerance=0.0, double overlap_tolerance=0.0) const |
| | slow and careful More...
|
| |
| int | IntersectMesh (const class ON_MeshTreeNode *mnodeB, ON_SimpleArray< ON_Line > &lines) const |
| | fast and sloppy More...
|
| |
| int | IntersectPolyline (const int &count, const ON_3dPoint *points, ON_SimpleArray< ON_CMX_EVENT > &x, double intersection_tolerance=0.0, double overlap_tolerance=0.0) const |
| |
| int | IntersectPolyline (const ON_SimpleArray< ON_3dPoint > &points, ON_SimpleArray< ON_CMX_EVENT > &x, double intersection_tolerance=0.0, double overlap_tolerance=0.0) const |
| |
| bool | IsValid (ON_TextLog *text_log=0) const |
| |
◆ ON_MeshTreeNode()
| ON_MeshTreeNode::ON_MeshTreeNode |
( |
| ) |
|
◆ FindNode()
| const ON_MeshTreeNode* ON_MeshTreeNode::FindNode |
( |
int |
mesh_face_index | ) |
const |
Description: This is a debugging function. It is slow. Starting at this node, find the node that contains the specified mesh face. Parameters: mesh_face_index - [in] ON_Mesh m_F[] array index Returns: Pointer to the node that contains the specified face.
◆ GetClosestPoint()
| bool ON_MeshTreeNode::GetClosestPoint |
( |
const ON_3dPoint & |
P, |
|
|
ON_MESH_POINT * |
t, |
|
|
double |
maximum_distance = 0.0 |
|
) |
| const |
◆ IntersectLine()
◆ IntersectMesh() [1/3]
fast and sloppy, with mnodeB's mesh mapped through xformB into this tree's space. Neither mesh nor tree is modified, so one tree per mesh serves any number of placements. Output lines are in this tree's space.
◆ IntersectMesh() [2/3]
◆ IntersectMesh() [3/3]
◆ IntersectPolyline() [1/2]
| int ON_MeshTreeNode::IntersectPolyline |
( |
const int & |
count, |
|
|
const ON_3dPoint * |
points, |
|
|
ON_SimpleArray< ON_CMX_EVENT > & |
x, |
|
|
double |
intersection_tolerance = 0.0, |
|
|
double |
overlap_tolerance = 0.0 |
|
) |
| const |
◆ IntersectPolyline() [2/2]
◆ IsValid()
| bool ON_MeshTreeNode::IsValid |
( |
ON_TextLog * |
text_log = 0 | ) |
const |
◆ m_bbox
◆ m_down
◆ m_farray
| const int* ON_MeshTreeNode::m_farray |
array of indices of faces in this node (null if m_fcount is 0)
◆ m_fcount
| int ON_MeshTreeNode::m_fcount |
never free or delete this pointer.
number of faces in m_farray[] (can be 0)
◆ m_mesh
| const ON_Mesh* ON_MeshTreeNode::m_mesh |
◆ m_nodemem
| unsigned char ON_MeshTreeNode::m_nodemem |
0 = do not destroy 1 = destroy with delete 2 = destroy with free
◆ m_nodesn
| unsigned int ON_MeshTreeNode::m_nodesn |
serial number of this node
◆ m_nodetype
| unsigned char ON_MeshTreeNode::m_nodetype |
Memory management accounting information.
8 bits to flag special nodes 1 = root node 2 = meta node (no domain) 4 = reparam
◆ m_reserved_ON_MeshTreeNode
| unsigned char ON_MeshTreeNode::m_reserved_ON_MeshTreeNode[6] |
4 byte pointers
pad class size to a multiple of 8 bytes so custom allocator can keeps doubles and pointers properly aligned and safely use memset()/memcpy() on compilers that reuse tail-padding.
◆ m_treesn
| unsigned int ON_MeshTreeNode::m_treesn |
serial number of this tree
◆ m_up