A Rectangle Tree has new points inserted at the bottom.
More...
|
template<typename TreeType > |
static void | SplitLeafNode (TreeType *tree, std::vector< bool > &relevels) |
| Split a leaf node using the "default" algorithm. More...
|
|
template<typename TreeType > |
static bool | SplitNonLeafNode (TreeType *tree, std::vector< bool > &relevels) |
| Split a non-leaf node using the "default" algorithm. More...
|
|
|
template<typename TreeType > |
static void | AssignNodeDestNode (TreeType *oldTree, TreeType *treeOne, TreeType *treeTwo, const int intI, const int intJ) |
| Assign nodes to the two new nodes. More...
|
|
template<typename TreeType > |
static void | AssignPointDestNode (TreeType *oldTree, TreeType *treeOne, TreeType *treeTwo, const int intI, const int intJ) |
| Assign points to the two new nodes. More...
|
|
template<typename TreeType > |
static void | GetBoundSeeds (const TreeType *tree, int &i, int &j) |
| Get the seeds for splitting a non-leaf node. More...
|
|
template<typename TreeType > |
static void | GetPointSeeds (const TreeType *tree, int &i, int &j) |
| Get the seeds for splitting a leaf node. More...
|
|
template<typename TreeType > |
static void | InsertNodeIntoTree (TreeType *destTree, TreeType *srcNode) |
| Insert a node into another node. More...
|
|
A Rectangle Tree has new points inserted at the bottom.
When these nodes overflow, we split them, moving up the tree and splitting nodes as necessary.
Definition at line 26 of file r_tree_split.hpp.
template<typename TreeType >
static void mlpack::tree::RTreeSplit::AssignNodeDestNode |
( |
TreeType * |
oldTree, |
|
|
TreeType * |
treeOne, |
|
|
TreeType * |
treeTwo, |
|
|
const int |
intI, |
|
|
const int |
intJ |
|
) |
| |
|
staticprivate |
Assign nodes to the two new nodes.
template<typename TreeType >
static void mlpack::tree::RTreeSplit::AssignPointDestNode |
( |
TreeType * |
oldTree, |
|
|
TreeType * |
treeOne, |
|
|
TreeType * |
treeTwo, |
|
|
const int |
intI, |
|
|
const int |
intJ |
|
) |
| |
|
staticprivate |
Assign points to the two new nodes.
template<typename TreeType >
static void mlpack::tree::RTreeSplit::GetBoundSeeds |
( |
const TreeType * |
tree, |
|
|
int & |
i, |
|
|
int & |
j |
|
) |
| |
|
staticprivate |
Get the seeds for splitting a non-leaf node.
template<typename TreeType >
static void mlpack::tree::RTreeSplit::GetPointSeeds |
( |
const TreeType * |
tree, |
|
|
int & |
i, |
|
|
int & |
j |
|
) |
| |
|
staticprivate |
Get the seeds for splitting a leaf node.
template<typename TreeType >
static void mlpack::tree::RTreeSplit::InsertNodeIntoTree |
( |
TreeType * |
destTree, |
|
|
TreeType * |
srcNode |
|
) |
| |
|
staticprivate |
Insert a node into another node.
template<typename TreeType >
static void mlpack::tree::RTreeSplit::SplitLeafNode |
( |
TreeType * |
tree, |
|
|
std::vector< bool > & |
relevels |
|
) |
| |
|
static |
Split a leaf node using the "default" algorithm.
If necessary, this split will propagate upwards through the tree.
template<typename TreeType >
static bool mlpack::tree::RTreeSplit::SplitNonLeafNode |
( |
TreeType * |
tree, |
|
|
std::vector< bool > & |
relevels |
|
) |
| |
|
static |
Split a non-leaf node using the "default" algorithm.
If this is a root node, the tree increases in depth.
The documentation for this class was generated from the following file: