QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
opennurbs_rtree.cpp File Reference
#include "opennurbs.h"

Classes

struct  ON_RTreeListNode
 A link list of nodes for reinsertion after a delete operation. More...
 
struct  ON_RTreePairSearchCallbackResult
 
struct  ON_RTreePairSearchResult
 
struct  ON_RTreePartitionVars
 Variables for finding a split partition. More...
 
struct  ON_RTreeSearchResultCallback
 

Macros

#define ON_RTree_NODE_DIM   3
 

Typedefs

typedef void(* ON_RTreePairSearchCallback) (void *, ON__INT_PTR, ON__INT_PTR)
 
typedef bool(* ON_RTreeSearchCallback) (void *a_context, ON__INT_PTR a_id)
 

Functions

static double CalcRectVolumeHelper (const ON_RTreeBBox *a_rect)
 
static void ChoosePartition (ON_RTreePartitionVars *a_parVars, int a_minFill)
 
static void ClassifyHelper (int a_index, int a_group, struct ON_RTreePartitionVars *a_parVars)
 
static ON_RTreeBBox CombineRectHelper (const ON_RTreeBBox *a_rectA, const ON_RTreeBBox *a_rectB)
 
static void CountRec (ON_RTreeNode *a_node, int &a_count)
 
static void DisconnectBranch (ON_RTreeNode *a_node, int a_index)
 
static void GetBranches (ON_RTreeNode *a_node, ON_RTreeBranch *a_branch, ON_RTreePartitionVars *a_parVars)
 
static void InitParVars (ON_RTreePartitionVars *a_parVars, int a_maxRects, int a_minFill)
 
static void InitRect (ON_RTreeBBox *a_rect)
 
static size_t MemPoolBlkSize (size_t leaf_count)
 
static void NodeCountHelper (const ON_RTreeNode *node, size_t &node_count, size_t &wasted_branch_count, size_t &leaf_count)
 
static ON_RTreeBBox NodeCover (ON_RTreeNode *a_node)
 
size_t ON_MemoryPageSize ()
 
static bool OverlapHelper (const ON_RTreeBBox *a_rectA, const ON_RTreeBBox *a_rectB)
 
static void PairSearchHelper (const ON_RTreeBranch *a_branchA, const ON_RTreeNode *a_nodeB, ON_RTreePairSearchCallbackResult *a_result)
 
static void PairSearchHelper (const ON_RTreeBranch *a_branchA, const ON_RTreeNode *a_nodeB, ON_RTreePairSearchResult *a_result)
 
static void PairSearchHelper (const ON_RTreeNode *a_nodeA, const ON_RTreeBranch *a_branchB, ON_RTreePairSearchCallbackResult *a_result)
 
static void PairSearchHelper (const ON_RTreeNode *a_nodeA, const ON_RTreeBranch *a_branchB, ON_RTreePairSearchResult *a_result)
 
static void PairSearchHelper (const ON_RTreeNode *a_nodeA, const ON_RTreeNode *a_nodeB, ON_RTreePairSearchCallbackResult *a_result)
 
static void PairSearchHelper (const ON_RTreeNode *a_nodeA, const ON_RTreeNode *a_nodeB, ON_RTreePairSearchResult *a_result)
 
static bool PairSearchOverlapHelper (const ON_RTreeBBox *a_rectA, const ON_RTreeBBox *a_rectB, double tolerance)
 
static int PickBranch (ON_RTreeBBox *a_rect, ON_RTreeNode *a_node)
 
static void PickSeeds (ON_RTreePartitionVars *a_parVars)
 
static bool SearchHelper (const ON_RTreeNode *a_node, const ON_RTreeBBox *a_rect, ON_RTreeSearchResult &a_result)
 
static bool SearchHelper (const ON_RTreeNode *a_node, const ON_RTreeBBox *a_rect, ON_RTreeSearchResultCallback &a_result)
 
static bool SearchHelper (const ON_RTreeNode *a_node, const ON_RTreeBBox *a_rect, ON_SimpleArray< int > &a_result)
 
static bool SearchHelper (const ON_RTreeNode *a_node, const ON_RTreeBBox *a_rect, ON_SimpleArray< ON_RTreeLeaf > &a_result)
 
static bool SearchHelper (const ON_RTreeNode *a_node, const ON_RTreeBBox *a_rect, ON_SimpleArray< void * > &a_result)
 
static size_t SizeofBlkLink ()
 

Macro Definition Documentation

◆ ON_RTree_NODE_DIM

#define ON_RTree_NODE_DIM   3

Typedef Documentation

◆ ON_RTreePairSearchCallback

typedef void(* ON_RTreePairSearchCallback) (void *, ON__INT_PTR, ON__INT_PTR)

◆ ON_RTreeSearchCallback

typedef bool(* ON_RTreeSearchCallback) (void *a_context, ON__INT_PTR a_id)

Function Documentation

◆ CalcRectVolumeHelper()

double CalcRectVolumeHelper ( const ON_RTreeBBox * a_rect)
static

◆ ChoosePartition()

static void ChoosePartition ( ON_RTreePartitionVars * a_parVars,
int a_minFill )
static

◆ ClassifyHelper()

void ClassifyHelper ( int a_index,
int a_group,
struct ON_RTreePartitionVars * a_parVars )
static

◆ CombineRectHelper()

ON_RTreeBBox CombineRectHelper ( const ON_RTreeBBox * a_rectA,
const ON_RTreeBBox * a_rectB )
static

◆ CountRec()

static void CountRec ( ON_RTreeNode * a_node,
int & a_count )
static

◆ DisconnectBranch()

static void DisconnectBranch ( ON_RTreeNode * a_node,
int a_index )
static

◆ GetBranches()

static void GetBranches ( ON_RTreeNode * a_node,
ON_RTreeBranch * a_branch,
ON_RTreePartitionVars * a_parVars )
static

◆ InitParVars()

static void InitParVars ( ON_RTreePartitionVars * a_parVars,
int a_maxRects,
int a_minFill )
static

◆ InitRect()

static void InitRect ( ON_RTreeBBox * a_rect)
static

◆ MemPoolBlkSize()

static size_t MemPoolBlkSize ( size_t leaf_count)
static

◆ NodeCountHelper()

static void NodeCountHelper ( const ON_RTreeNode * node,
size_t & node_count,
size_t & wasted_branch_count,
size_t & leaf_count )
static

◆ NodeCover()

static ON_RTreeBBox NodeCover ( ON_RTreeNode * a_node)
static

◆ ON_MemoryPageSize()

size_t ON_MemoryPageSize ( )

◆ OverlapHelper()

bool OverlapHelper ( const ON_RTreeBBox * a_rectA,
const ON_RTreeBBox * a_rectB )
static

◆ PairSearchHelper() [1/6]

static void PairSearchHelper ( const ON_RTreeBranch * a_branchA,
const ON_RTreeNode * a_nodeB,
ON_RTreePairSearchCallbackResult * a_result )
static

◆ PairSearchHelper() [2/6]

static void PairSearchHelper ( const ON_RTreeBranch * a_branchA,
const ON_RTreeNode * a_nodeB,
ON_RTreePairSearchResult * a_result )
static

◆ PairSearchHelper() [3/6]

static void PairSearchHelper ( const ON_RTreeNode * a_nodeA,
const ON_RTreeBranch * a_branchB,
ON_RTreePairSearchCallbackResult * a_result )
static

◆ PairSearchHelper() [4/6]

static void PairSearchHelper ( const ON_RTreeNode * a_nodeA,
const ON_RTreeBranch * a_branchB,
ON_RTreePairSearchResult * a_result )
static

◆ PairSearchHelper() [5/6]

static void PairSearchHelper ( const ON_RTreeNode * a_nodeA,
const ON_RTreeNode * a_nodeB,
ON_RTreePairSearchCallbackResult * a_result )
static

◆ PairSearchHelper() [6/6]

static void PairSearchHelper ( const ON_RTreeNode * a_nodeA,
const ON_RTreeNode * a_nodeB,
ON_RTreePairSearchResult * a_result )
static

◆ PairSearchOverlapHelper()

static bool PairSearchOverlapHelper ( const ON_RTreeBBox * a_rectA,
const ON_RTreeBBox * a_rectB,
double tolerance )
static

◆ PickBranch()

static int PickBranch ( ON_RTreeBBox * a_rect,
ON_RTreeNode * a_node )
static

◆ PickSeeds()

static void PickSeeds ( ON_RTreePartitionVars * a_parVars)
static

◆ SearchHelper() [1/5]

static bool SearchHelper ( const ON_RTreeNode * a_node,
const ON_RTreeBBox * a_rect,
ON_RTreeSearchResult & a_result )
static

◆ SearchHelper() [2/5]

static bool SearchHelper ( const ON_RTreeNode * a_node,
const ON_RTreeBBox * a_rect,
ON_RTreeSearchResultCallback & a_result )
static

◆ SearchHelper() [3/5]

static bool SearchHelper ( const ON_RTreeNode * a_node,
const ON_RTreeBBox * a_rect,
ON_SimpleArray< int > & a_result )
static

◆ SearchHelper() [4/5]

static bool SearchHelper ( const ON_RTreeNode * a_node,
const ON_RTreeBBox * a_rect,
ON_SimpleArray< ON_RTreeLeaf > & a_result )
static

◆ SearchHelper() [5/5]

static bool SearchHelper ( const ON_RTreeNode * a_node,
const ON_RTreeBBox * a_rect,
ON_SimpleArray< void * > & a_result )
static

◆ SizeofBlkLink()

static size_t SizeofBlkLink ( )
static