Rhino C++ API  8.6
Public Member Functions | Public Attributes | List of all members
ON_MeshTree Class Reference

#include <opennurbs_plus.h>

Inheritance diagram for ON_MeshTree:
ON_MeshTreeNode

Public Member Functions

 ON_MeshTree ()
 
 ~ON_MeshTree ()
 
bool CreateTree (const ON_Mesh &mesh, int max_depth=0, int max_faces_per_leaf=0)
 
void DestroyTree ()
 
bool IsValid (ON_TextLog *text_log=0) const
 
ON_MeshTreeNodeNewNode ()
 
size_t SizeOf () const
 
- Public Member Functions inherited from ON_MeshTreeNode
 ON_MeshTreeNode ()
 
const ON_MeshTreeNodeFindNode (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, 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
 

Public Attributes

ON_MeshTreeNodem_root
 root node of the binary tree (currently unused) More...
 
- Public Attributes inherited from ON_MeshTreeNode
ON_BoundingBox m_bbox
 
ON_MeshTreeNodem_down [2]
 
const int * m_farray
 
int m_fcount
 never free or delete this pointer. More...
 
const ON_Meshm_mesh
 
unsigned char m_nodemem
 
unsigned int m_nodesn
 serial number of this node More...
 
unsigned char m_nodetype
 Memory management accounting information. More...
 
unsigned char m_reserved_ON_MeshTreeNode [6]
 4 byte pointers More...
 
unsigned int m_treesn
 serial number of this tree More...
 
ON_MeshTreeNodem_up
 

Constructor & Destructor Documentation

◆ ON_MeshTree()

ON_MeshTree::ON_MeshTree ( )

◆ ~ON_MeshTree()

ON_MeshTree::~ON_MeshTree ( )

Member Function Documentation

◆ CreateTree()

bool ON_MeshTree::CreateTree ( const ON_Mesh mesh,
int  max_depth = 0,
int  max_faces_per_leaf = 0 
)

◆ DestroyTree()

void ON_MeshTree::DestroyTree ( )

◆ IsValid()

bool ON_MeshTree::IsValid ( ON_TextLog text_log = 0) const

◆ NewNode()

ON_MeshTreeNode* ON_MeshTree::NewNode ( )

Description: Expert user tool to get a mesh tree node. This node will be destroyed by this tree's destructor. Returns: A mesh tree node. Never delete or free the returned pointer.

◆ SizeOf()

size_t ON_MeshTree::SizeOf ( ) const

Returns: Number of bytes of heap memory used by this mesh tree.

Member Data Documentation

◆ m_root

ON_MeshTreeNode* ON_MeshTree::m_root

root node of the binary tree (currently unused)