mlpack
master
|
Public Types | |
typedef bound::HRectBound< metric::EuclideanDistance, ElemType > | BoundType |
The bound type held by the auxiliary information. More... | |
typedef TreeType::ElemType | ElemType |
The element type held by the tree. More... | |
Public Member Functions | |
RPlusPlusTreeAuxiliaryInformation () | |
Construct the auxiliary information object. More... | |
RPlusPlusTreeAuxiliaryInformation (const TreeType *) | |
Construct this as an auxiliary information for the given node. More... | |
RPlusPlusTreeAuxiliaryInformation (const RPlusPlusTreeAuxiliaryInformation &other, TreeType *tree, bool=true) | |
Create an auxiliary information object by copying from another object. More... | |
RPlusPlusTreeAuxiliaryInformation (RPlusPlusTreeAuxiliaryInformation &&other) | |
Create an auxiliary information object by moving from another node. More... | |
bool | HandleNodeInsertion (TreeType *, TreeType *, bool) |
Some tree types require to save some properties at the insertion process. More... | |
bool | HandleNodeRemoval (TreeType *, const size_t) |
Some tree types require to save some properties at the deletion process. More... | |
bool | HandlePointDeletion (TreeType *, const size_t) |
Some tree types require to save some properties at the deletion process. More... | |
bool | HandlePointInsertion (TreeType *, const size_t) |
Some tree types require to save some properties at the insertion process. More... | |
void | NullifyData () |
Nullify the auxiliary information in order to prevent an invalid free. More... | |
BoundType & | OuterBound () |
Return the maximum bounding rectangle. More... | |
const BoundType & | OuterBound () const |
Modify the maximum bounding rectangle. More... | |
template<typename Archive > | |
void | Serialize (Archive &, const unsigned int) |
Serialize the information. More... | |
void | SplitAuxiliaryInfo (TreeType *treeOne, TreeType *treeTwo, const size_t axis, const ElemType cut) |
The R++ tree requires to split the maximum bounding rectangle of a node that is being split. More... | |
bool | UpdateAuxiliaryInfo (TreeType *) |
Some tree types require to propagate the information upward. More... | |
Private Attributes | |
BoundType | outerBound |
The maximum bounding rectangle. More... | |
Definition at line 24 of file r_plus_plus_tree_auxiliary_information.hpp.
typedef bound::HRectBound<metric::EuclideanDistance, ElemType> mlpack::tree::RPlusPlusTreeAuxiliaryInformation< TreeType >::BoundType |
The bound type held by the auxiliary information.
Definition at line 30 of file r_plus_plus_tree_auxiliary_information.hpp.
typedef TreeType::ElemType mlpack::tree::RPlusPlusTreeAuxiliaryInformation< TreeType >::ElemType |
The element type held by the tree.
Definition at line 28 of file r_plus_plus_tree_auxiliary_information.hpp.
mlpack::tree::RPlusPlusTreeAuxiliaryInformation< TreeType >::RPlusPlusTreeAuxiliaryInformation | ( | ) |
Construct the auxiliary information object.
mlpack::tree::RPlusPlusTreeAuxiliaryInformation< TreeType >::RPlusPlusTreeAuxiliaryInformation | ( | const TreeType * | ) |
Construct this as an auxiliary information for the given node.
node | The node that stores this auxiliary information. |
mlpack::tree::RPlusPlusTreeAuxiliaryInformation< TreeType >::RPlusPlusTreeAuxiliaryInformation | ( | const RPlusPlusTreeAuxiliaryInformation< TreeType > & | other, |
TreeType * | tree, | ||
bool | = true |
||
) |
Create an auxiliary information object by copying from another object.
other | Another auxiliary information object from which the information will be copied. |
tree | The node that holds the auxiliary information. |
deepCopy | If false, the new object uses the same memory (not used here). |
mlpack::tree::RPlusPlusTreeAuxiliaryInformation< TreeType >::RPlusPlusTreeAuxiliaryInformation | ( | RPlusPlusTreeAuxiliaryInformation< TreeType > && | other | ) |
Create an auxiliary information object by moving from another node.
other | The auxiliary information object from which the information will be moved. |
bool mlpack::tree::RPlusPlusTreeAuxiliaryInformation< TreeType >::HandleNodeInsertion | ( | TreeType * | , |
TreeType * | , | ||
bool | |||
) |
Some tree types require to save some properties at the insertion process.
This method allows the auxiliary information the option of manipulating the tree in order to perform the insertion process. If the auxiliary information does that, then the method should return true; if the method returns false the RectangleTree performs its default behavior.
node | The node in which the nodeToInsert is being inserted. |
nodeToInsert | The node being inserted. |
insertionLevel | The level of the tree at which the nodeToInsert should be inserted. |
bool mlpack::tree::RPlusPlusTreeAuxiliaryInformation< TreeType >::HandleNodeRemoval | ( | TreeType * | , |
const size_t | |||
) |
Some tree types require to save some properties at the deletion process.
This method allows the auxiliary information the option of manipulating the tree in order to perform the deletion process. If the auxiliary information does that, then the method should return true; if the method returns false the RectangleTree performs its default behavior.
node | The node from which the node is being deleted. |
nodeIndex | The local index of the node being deleted. |
bool mlpack::tree::RPlusPlusTreeAuxiliaryInformation< TreeType >::HandlePointDeletion | ( | TreeType * | , |
const size_t | |||
) |
Some tree types require to save some properties at the deletion process.
This method allows the auxiliary information the option of manipulating the tree in order to perform the deletion process. If the auxiliary information does that, then the method should return true; if the method returns false the RectangleTree performs its default behavior.
node | The node from which the point is being deleted. |
localIndex | The local index of the point being deleted. |
bool mlpack::tree::RPlusPlusTreeAuxiliaryInformation< TreeType >::HandlePointInsertion | ( | TreeType * | , |
const size_t | |||
) |
Some tree types require to save some properties at the insertion process.
This method allows the auxiliary information the option of manipulating the tree in order to perform the insertion process. If the auxiliary information does that, then the method should return true; if the method returns false the RectangleTree performs its default behavior.
node | The node in which the point is being inserted. |
point | The global number of the point being inserted. |
void mlpack::tree::RPlusPlusTreeAuxiliaryInformation< TreeType >::NullifyData | ( | ) |
Nullify the auxiliary information in order to prevent an invalid free.
|
inline |
Return the maximum bounding rectangle.
Definition at line 146 of file r_plus_plus_tree_auxiliary_information.hpp.
References mlpack::tree::RPlusPlusTreeAuxiliaryInformation< TreeType >::outerBound.
|
inline |
Modify the maximum bounding rectangle.
Definition at line 149 of file r_plus_plus_tree_auxiliary_information.hpp.
References mlpack::tree::RPlusPlusTreeAuxiliaryInformation< TreeType >::outerBound.
void mlpack::tree::RPlusPlusTreeAuxiliaryInformation< TreeType >::Serialize | ( | Archive & | , |
const unsigned | int | ||
) |
Serialize the information.
void mlpack::tree::RPlusPlusTreeAuxiliaryInformation< TreeType >::SplitAuxiliaryInfo | ( | TreeType * | treeOne, |
TreeType * | treeTwo, | ||
const size_t | axis, | ||
const ElemType | cut | ||
) |
The R++ tree requires to split the maximum bounding rectangle of a node that is being split.
This method is intended for that.
treeOne | The first subtree. |
treeTwo | The second subtree. |
axis | The axis along which the split is performed. |
cut | The coordinate at which the node is split. |
bool mlpack::tree::RPlusPlusTreeAuxiliaryInformation< TreeType >::UpdateAuxiliaryInfo | ( | TreeType * | ) |
Some tree types require to propagate the information upward.
This method should return false if this is not the case. If true is returned, the update will be propagated upward.
node | The node in which the auxiliary information being update. |
|
private |
The maximum bounding rectangle.
Definition at line 152 of file r_plus_plus_tree_auxiliary_information.hpp.
Referenced by mlpack::tree::RPlusPlusTreeAuxiliaryInformation< TreeType >::OuterBound().