HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType > Class Template Reference

Public Types

typedef TreeType::ElemType ElemType
 The element type held by the tree. More...

 

Public Member Functions

 HilbertRTreeAuxiliaryInformation ()
 Default constructor. More...

 
 HilbertRTreeAuxiliaryInformation (const TreeType *node)
 Construct this as an auxiliary information for the given node. More...

 
 HilbertRTreeAuxiliaryInformation (const HilbertRTreeAuxiliaryInformation &other, TreeType *tree=NULL, bool deepCopy=true)
 Create an auxiliary information object by copying from another object. More...

 
 HilbertRTreeAuxiliaryInformation (HilbertRTreeAuxiliaryInformation &&other)
 Create an auxiliary information object by moving from the other node. More...

 
bool HandleNodeInsertion (TreeType *node, TreeType *nodeToInsert, bool insertionLevel)
 The Hilbert R tree requires to insert nodes according to their Hilbert value. More...

 
bool HandleNodeRemoval (TreeType *node, const size_t nodeIndex)
 The Hilbert R tree requires all nodes to be arranged according to their Hilbert value. More...

 
bool HandlePointDeletion (TreeType *node, const size_t localIndex)
 The Hilbert R tree requires all points to be arranged according to their Hilbert value. More...

 
bool HandlePointInsertion (TreeType *node, const size_t point)
 The Hilbert R tree requires to insert points according to their Hilbert value. More...

 
const HilbertValueType< ElemType > & HilbertValue () const
 Return the largest Hilbert value of a point covered by the node. More...

 
HilbertValueType< ElemType > & HilbertValue ()
 Modify the largest Hilbert value of a point covered by the node. More...

 
void NullifyData ()
 Clear memory. More...

 
HilbertRTreeAuxiliaryInformationoperator= (const HilbertRTreeAuxiliaryInformation &other)
 Copy the auxiliary information. More...

 
template
<
typename
Archive
>
void serialize (Archive &ar, const uint32_t)
 Serialize the information. More...

 
bool UpdateAuxiliaryInfo (TreeType *node)
 Update the auxiliary information in the node. More...

 

Static Public Member Functions

static const std::vector< TreeType * > Children (const TreeType *tree)
 Return the children vector of the tree. More...

 

Detailed Description


template
<
typename
TreeType
,
template
<
typename
>
class
HilbertValueType
>

class mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >

Definition at line 22 of file hilbert_r_tree_auxiliary_information.hpp.

Member Typedef Documentation

◆ ElemType

typedef TreeType::ElemType ElemType

The element type held by the tree.

Definition at line 26 of file hilbert_r_tree_auxiliary_information.hpp.

Constructor & Destructor Documentation

◆ HilbertRTreeAuxiliaryInformation() [1/4]

Default constructor.

◆ HilbertRTreeAuxiliaryInformation() [2/4]

HilbertRTreeAuxiliaryInformation ( const TreeType *  node)

Construct this as an auxiliary information for the given node.

Parameters
nodeThe node that stores this auxiliary information.

◆ HilbertRTreeAuxiliaryInformation() [3/4]

HilbertRTreeAuxiliaryInformation ( const HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType > &  other,
TreeType *  tree = NULL,
bool  deepCopy = true 
)

Create an auxiliary information object by copying from another object.

Parameters
otherAnother auxiliary information object from which the information will be copied.
treeThe node that holds the auxiliary information.
deepCopyIf false, the new object uses the same memory (not used here).

◆ HilbertRTreeAuxiliaryInformation() [4/4]

HilbertRTreeAuxiliaryInformation ( HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType > &&  other)

Create an auxiliary information object by moving from the other node.

Parameters
otherThe object from which the information will be moved.

Member Function Documentation

◆ Children()

static const std::vector<TreeType*> Children ( const TreeType *  tree)
inlinestatic

Return the children vector of the tree.

Definition at line 124 of file hilbert_r_tree_auxiliary_information.hpp.

◆ HandleNodeInsertion()

bool HandleNodeInsertion ( TreeType *  node,
TreeType *  nodeToInsert,
bool  insertionLevel 
)

The Hilbert R tree requires to insert nodes according to their Hilbert value.

This method should take care of it. It returns false if it does nothing and true if it handles the insertion process.

Parameters
nodeThe node in which the nodeToInsert is being inserted.
nodeToInsertThe node being inserted.
insertionLevelThe level of the tree at which the nodeToInsert should be inserted.

◆ HandleNodeRemoval()

bool HandleNodeRemoval ( TreeType *  node,
const size_t  nodeIndex 
)

The Hilbert R tree requires all nodes to be arranged according to their Hilbert value.

This method should take care of saving this property after the deletion process. It returns false if it does nothing and true if it handles the deletion process.

Parameters
nodeThe node from which the node is being deleted.
nodeIndexThe index of the node being deleted.

◆ HandlePointDeletion()

bool HandlePointDeletion ( TreeType *  node,
const size_t  localIndex 
)

The Hilbert R tree requires all points to be arranged according to their Hilbert value.

This method should take care of saving this property after the deletion process. It returns false if it does nothing and true if it handles the deletion process.

Parameters
nodeThe node from which the point is being deleted.
localIndexThe index of the point being deleted.

◆ HandlePointInsertion()

bool HandlePointInsertion ( TreeType *  node,
const size_t  point 
)

The Hilbert R tree requires to insert points according to their Hilbert value.

This method should take care of it. It returns false if it does nothing and true if it handles the insertion process.

Parameters
nodeThe node in which the point is being inserted.
pointThe number of the point being inserted.

◆ HilbertValue() [1/2]

const HilbertValueType<ElemType>& HilbertValue ( ) const
inline

Return the largest Hilbert value of a point covered by the node.

Definition at line 133 of file hilbert_r_tree_auxiliary_information.hpp.

◆ HilbertValue() [2/2]

HilbertValueType<ElemType>& HilbertValue ( )
inline

Modify the largest Hilbert value of a point covered by the node.

Definition at line 136 of file hilbert_r_tree_auxiliary_information.hpp.

References HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::serialize().

◆ NullifyData()

void NullifyData ( )

Clear memory.

◆ operator=()

HilbertRTreeAuxiliaryInformation& operator= ( const HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType > &  other)

Copy the auxiliary information.

Parameters
otherThe object from which the information will be moved.

◆ serialize()

void serialize ( Archive &  ar,
const uint32_t   
)

◆ UpdateAuxiliaryInfo()

bool UpdateAuxiliaryInfo ( TreeType *  node)

Update the auxiliary information in the node.

The method returns true if the update should be propagated downward.

Parameters
nodeThe node in which the auxiliary information being update.

The documentation for this class was generated from the following file: