#include <opennurbs_rtree.h>
Public Member Functions | |
ON_BoundingBox | BoundingBox () const |
bool | CreateMeshFaceTree (const class ON_Mesh *mesh) |
int | ElementCount () |
bool | Insert (const double a_min[3], const double a_max[3], void *a_element_id) |
bool | Insert (const double a_min[3], const double a_max[3], int a_element_id) |
bool | Insert2d (const double a_min[2], const double a_max[2], void *a_element_id) |
bool | Insert2d (const double a_min[2], const double a_max[2], int a_element_id) |
ON_RTree (ON_MEMORY_POOL *heap=0, size_t leaf_count=0) | |
bool | Remove (const double a_min[3], const double a_max[3], void *a_elementId) |
bool | Remove (const double a_min[3], const double a_max[3], int a_elementId) |
bool | Remove2d (const double a_min[2], const double a_max[2], void *a_elementId) |
bool | Remove2d (const double a_min[2], const double a_max[2], int a_elementId) |
void | RemoveAll () |
const ON_RTreeNode * | Root () const |
bool | Search (ON_RTreeSphere *a_sphere, bool ON_MSC_CDECL resultCallback(void *a_context, ON__INT_PTR a_id), void *a_context) const |
bool | Search (ON_RTreeCapsule *a_capsule, bool ON_MSC_CDECL resultCallback(void *a_context, ON__INT_PTR a_id), void *a_context) const |
bool | Search (ON_RTreeBBox *a_rect, bool ON_MSC_CDECL resultCallback(void *a_context, ON__INT_PTR a_id), void *a_context) const |
bool | Search (const double a_plane_eqn[4], double a_min, double a_max, bool ON_MSC_CDECL resultCallback(void *a_context, ON__INT_PTR a_id), void *a_context) const |
bool | Search (const double a_min[3], const double a_max[3], bool ON_MSC_CDECL resultCallback(void *a_context, ON__INT_PTR a_id), void *a_context) const |
bool | Search (const double a_min[3], const double a_max[3], ON_RTreeSearchResult &a_result) const |
bool | Search (const double a_min[3], const double a_max[3], ON_SimpleArray< ON_RTreeLeaf > &a_result) const |
bool | Search (const double a_min[3], const double a_max[3], ON_SimpleArray< void * > &a_result) const |
bool | Search (const double a_min[3], const double a_max[3], ON_SimpleArray< int > &a_result) const |
bool | Search2d (const double a_min[2], const double a_max[2], bool ON_MSC_CDECL resultCallback(void *a_context, ON__INT_PTR a_id), void *a_context) const |
bool | Search2d (const double a_min[2], const double a_max[2], ON_RTreeSearchResult &a_result) const |
bool | Search2d (const double a_min[2], const double a_max[2], ON_SimpleArray< ON_RTreeLeaf > &a_result) const |
bool | Search2d (const double a_min[2], const double a_max[2], ON_SimpleArray< void * > &a_result) const |
bool | Search2d (const double a_min[2], const double a_max[2], ON_SimpleArray< int > &a_result) const |
size_t | SizeOf () const |
~ON_RTree () | |
Static Public Member Functions | |
static bool | Search (const ON_RTree &a_rtreeA, const ON_RTree &a_rtreeB, double tolerance, ON_SimpleArray< ON_2dex > &a_result) |
static bool | Search (const ON_RTree &a_rtreeA, const ON_RTree &a_rtreeB, double tolerance, void ON_MSC_CDECL resultCallback(void *a_context, ON__INT_PTR a_idA, ON__INT_PTR a_idB), void *a_context) |
static bool | Search (const ON_RTree &a_rtreeA, const ON_RTree &a_rtreeB, double tolerance, bool ON_MSC_CDECL resultCallback(void *a_context, ON__INT_PTR a_idA, ON__INT_PTR a_idB), void *a_context) |
Private Member Functions | |
bool | AddBranch (ON_RTreeBranch *, ON_RTreeNode *, ON_RTreeNode **) |
bool | InsertRect (ON_RTreeBBox *, ON__INT_PTR, ON_RTreeNode **, int) |
bool | InsertRectRec (ON_RTreeBBox *, ON__INT_PTR, ON_RTreeNode *, ON_RTreeNode **, int) |
void | LoadNodes (ON_RTreeNode *, ON_RTreeNode *, struct ON_RTreePartitionVars *) |
void | ReInsert (ON_RTreeNode *, struct ON_RTreeListNode **) |
void | RemoveAllRec (ON_RTreeNode *) |
bool | RemoveRect (ON_RTreeBBox *, ON__INT_PTR, ON_RTreeNode **) |
bool | RemoveRectRec (ON_RTreeBBox *, ON__INT_PTR, ON_RTreeNode *, struct ON_RTreeListNode **) |
void | SplitNode (ON_RTreeNode *, ON_RTreeBranch *, ON_RTreeNode **) |
Private Attributes | |
ON_RTreeMemPool | m_mem_pool |
size_t | m_reserved |
ON_RTreeNode * | m_root |
Definition at line 378 of file opennurbs_rtree.h.
ON_RTree::ON_RTree | ( | ON_MEMORY_POOL * | heap = 0 , |
size_t | leaf_count = 0 |
||
) |
Definition at line 483 of file opennurbs_rtree.cpp.
Definition at line 492 of file opennurbs_rtree.cpp.
bool ON_RTree::AddBranch | ( | ON_RTreeBranch * | a_branch, |
ON_RTreeNode * | a_node, | ||
ON_RTreeNode ** | a_newNode | ||
) | [private] |
Definition at line 1666 of file opennurbs_rtree.cpp.
ON_BoundingBox ON_RTree::BoundingBox | ( | ) | const |
Definition at line 1427 of file opennurbs_rtree.cpp.
bool ON_RTree::CreateMeshFaceTree | ( | const class ON_Mesh * | mesh | ) |
Definition at line 497 of file opennurbs_rtree.cpp.
int ON_RTree::ElementCount | ( | ) |
Definition at line 1412 of file opennurbs_rtree.cpp.
bool ON_RTree::Insert | ( | const double | a_min[3], |
const double | a_max[3], | ||
void * | a_element_id | ||
) |
bool ON_RTree::Insert | ( | const double | a_min[3], |
const double | a_max[3], | ||
int | a_element_id | ||
) |
bool ON_RTree::Insert2d | ( | const double | a_min[2], |
const double | a_max[2], | ||
void * | a_element_id | ||
) |
Definition at line 694 of file opennurbs_rtree.cpp.
bool ON_RTree::Insert2d | ( | const double | a_min[2], |
const double | a_max[2], | ||
int | a_element_id | ||
) |
Definition at line 662 of file opennurbs_rtree.cpp.
bool ON_RTree::InsertRect | ( | ON_RTreeBBox * | a_rect, |
ON__INT_PTR | a_id, | ||
ON_RTreeNode ** | a_root, | ||
int | a_level | ||
) | [private] |
Definition at line 1591 of file opennurbs_rtree.cpp.
bool ON_RTree::InsertRectRec | ( | ON_RTreeBBox * | a_rect, |
ON__INT_PTR | a_id, | ||
ON_RTreeNode * | a_node, | ||
ON_RTreeNode ** | a_newNode, | ||
int | a_level | ||
) | [private] |
Definition at line 1530 of file opennurbs_rtree.cpp.
void ON_RTree::LoadNodes | ( | ON_RTreeNode * | a_nodeA, |
ON_RTreeNode * | a_nodeB, | ||
struct ON_RTreePartitionVars * | a_parVars | ||
) | [private] |
Definition at line 1953 of file opennurbs_rtree.cpp.
void ON_RTree::ReInsert | ( | ON_RTreeNode * | a_node, |
struct ON_RTreeListNode ** | a_listNode | ||
) | [private] |
Definition at line 2393 of file opennurbs_rtree.cpp.
bool ON_RTree::Remove | ( | const double | a_min[3], |
const double | a_max[3], | ||
void * | a_elementId | ||
) |
bool ON_RTree::Remove | ( | const double | a_min[3], |
const double | a_max[3], | ||
int | a_elementId | ||
) |
bool ON_RTree::Remove2d | ( | const double | a_min[2], |
const double | a_max[2], | ||
void * | a_elementId | ||
) |
Definition at line 766 of file opennurbs_rtree.cpp.
bool ON_RTree::Remove2d | ( | const double | a_min[2], |
const double | a_max[2], | ||
int | a_elementId | ||
) |
Definition at line 737 of file opennurbs_rtree.cpp.
void ON_RTree::RemoveAll | ( | ) |
Definition at line 1492 of file opennurbs_rtree.cpp.
void ON_RTree::RemoveAllRec | ( | ON_RTreeNode * | a_node | ) | [private] |
Definition at line 1498 of file opennurbs_rtree.cpp.
bool ON_RTree::RemoveRect | ( | ON_RTreeBBox * | a_rect, |
ON__INT_PTR | a_id, | ||
ON_RTreeNode ** | a_root | ||
) | [private] |
Definition at line 2041 of file opennurbs_rtree.cpp.
bool ON_RTree::RemoveRectRec | ( | ON_RTreeBBox * | a_rect, |
ON__INT_PTR | a_id, | ||
ON_RTreeNode * | a_node, | ||
struct ON_RTreeListNode ** | a_listNode | ||
) | [private] |
Definition at line 2090 of file opennurbs_rtree.cpp.
const ON_RTreeNode * ON_RTree::Root | ( | ) | const |
Definition at line 1422 of file opennurbs_rtree.cpp.
bool ON_RTree::Search | ( | ON_RTreeSphere * | a_sphere, |
bool ON_MSC_CDECL | resultCallbackvoid *a_context, ON__INT_PTR a_id, | ||
void * | a_context | ||
) | const |
Definition at line 854 of file opennurbs_rtree.cpp.
bool ON_RTree::Search | ( | ON_RTreeCapsule * | a_capsule, |
bool ON_MSC_CDECL | resultCallbackvoid *a_context, ON__INT_PTR a_id, | ||
void * | a_context | ||
) | const |
Definition at line 870 of file opennurbs_rtree.cpp.
bool ON_RTree::Search | ( | ON_RTreeBBox * | a_rect, |
bool ON_MSC_CDECL | resultCallbackvoid *a_context, ON__INT_PTR a_id, | ||
void * | a_context | ||
) | const |
bool ON_RTree::Search | ( | const double | a_plane_eqn[4], |
double | a_min, | ||
double | a_max, | ||
bool ON_MSC_CDECL | resultCallbackvoid *a_context, ON__INT_PTR a_id, | ||
void * | a_context | ||
) | const |
Definition at line 2602 of file opennurbs_rtree.cpp.
bool ON_RTree::Search | ( | const double | a_min[3], |
const double | a_max[3], | ||
bool ON_MSC_CDECL | resultCallbackvoid *a_context, ON__INT_PTR a_id, | ||
void * | a_context | ||
) | const |
bool ON_RTree::Search | ( | const double | a_min[3], |
const double | a_max[3], | ||
ON_RTreeSearchResult & | a_result | ||
) | const |
bool ON_RTree::Search | ( | const double | a_min[3], |
const double | a_max[3], | ||
ON_SimpleArray< ON_RTreeLeaf > & | a_result | ||
) | const |
bool ON_RTree::Search | ( | const double | a_min[3], |
const double | a_max[3], | ||
ON_SimpleArray< void * > & | a_result | ||
) | const |
bool ON_RTree::Search | ( | const double | a_min[3], |
const double | a_max[3], | ||
ON_SimpleArray< int > & | a_result | ||
) | const |
bool ON_RTree::Search | ( | const ON_RTree & | a_rtreeA, |
const ON_RTree & | a_rtreeB, | ||
double | tolerance, | ||
ON_SimpleArray< ON_2dex > & | a_result | ||
) | [static] |
Definition at line 1143 of file opennurbs_rtree.cpp.
bool ON_RTree::Search | ( | const ON_RTree & | a_rtreeA, |
const ON_RTree & | a_rtreeB, | ||
double | tolerance, | ||
void ON_MSC_CDECL | resultCallbackvoid *a_context, ON__INT_PTR a_idA, ON__INT_PTR a_idB, | ||
void * | a_context | ||
) | [static] |
Definition at line 1362 of file opennurbs_rtree.cpp.
bool ON_RTree::Search | ( | const ON_RTree & | a_rtreeA, |
const ON_RTree & | a_rtreeB, | ||
double | tolerance, | ||
bool ON_MSC_CDECL | resultCallbackvoid *a_context, ON__INT_PTR a_idA, ON__INT_PTR a_idB, | ||
void * | a_context | ||
) | [static] |
Definition at line 1382 of file opennurbs_rtree.cpp.
bool ON_RTree::Search2d | ( | const double | a_min[2], |
const double | a_max[2], | ||
bool ON_MSC_CDECL | resultCallbackvoid *a_context, ON__INT_PTR a_id, | ||
void * | a_context | ||
) | const |
bool ON_RTree::Search2d | ( | const double | a_min[2], |
const double | a_max[2], | ||
ON_RTreeSearchResult & | a_result | ||
) | const |
Definition at line 981 of file opennurbs_rtree.cpp.
bool ON_RTree::Search2d | ( | const double | a_min[2], |
const double | a_max[2], | ||
ON_SimpleArray< ON_RTreeLeaf > & | a_result | ||
) | const |
Definition at line 887 of file opennurbs_rtree.cpp.
bool ON_RTree::Search2d | ( | const double | a_min[2], |
const double | a_max[2], | ||
ON_SimpleArray< void * > & | a_result | ||
) | const |
Definition at line 919 of file opennurbs_rtree.cpp.
bool ON_RTree::Search2d | ( | const double | a_min[2], |
const double | a_max[2], | ||
ON_SimpleArray< int > & | a_result | ||
) | const |
Definition at line 951 of file opennurbs_rtree.cpp.
size_t ON_RTree::SizeOf | ( | ) | const |
Definition at line 1469 of file opennurbs_rtree.cpp.
void ON_RTree::SplitNode | ( | ON_RTreeNode * | a_node, |
ON_RTreeBranch * | a_branch, | ||
ON_RTreeNode ** | a_newNode | ||
) | [private] |
Definition at line 1777 of file opennurbs_rtree.cpp.
ON_RTreeMemPool ON_RTree::m_mem_pool [private] |
Definition at line 687 of file opennurbs_rtree.h.
size_t ON_RTree::m_reserved [private] |
Definition at line 686 of file opennurbs_rtree.h.
ON_RTreeNode* ON_RTree::m_root [private] |
Definition at line 685 of file opennurbs_rtree.h.