mlpack  master
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
mlpack::tree::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 unsigned int)
 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...
 

Private Attributes

HilbertValueType< ElemTypehilbertValue
 The largest Hilbert value of a point enclosed by the node. 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

template<typename TreeType , template< typename > class HilbertValueType>
typedef TreeType::ElemType mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::ElemType

The element type held by the tree.

Definition at line 26 of file hilbert_r_tree_auxiliary_information.hpp.

Constructor & Destructor Documentation

template<typename TreeType , template< typename > class HilbertValueType>
mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::HilbertRTreeAuxiliaryInformation ( )

Default constructor.

template<typename TreeType , template< typename > class HilbertValueType>
mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::HilbertRTreeAuxiliaryInformation ( const TreeType *  node)

Construct this as an auxiliary information for the given node.

Parameters
nodeThe node that stores this auxiliary information.
template<typename TreeType , template< typename > class HilbertValueType>
mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::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).
template<typename TreeType , template< typename > class HilbertValueType>
mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::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

template<typename TreeType , template< typename > class HilbertValueType>
static const std::vector<TreeType*> mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::Children ( const TreeType *  tree)
inlinestatic

Return the children vector of the tree.

Definition at line 124 of file hilbert_r_tree_auxiliary_information.hpp.

template<typename TreeType , template< typename > class HilbertValueType>
bool mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::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.
template<typename TreeType , template< typename > class HilbertValueType>
bool mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::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.
template<typename TreeType , template< typename > class HilbertValueType>
bool mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::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.
template<typename TreeType , template< typename > class HilbertValueType>
bool mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::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.
template<typename TreeType , template< typename > class HilbertValueType>
const HilbertValueType<ElemType>& mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::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.

References mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::hilbertValue.

template<typename TreeType , template< typename > class HilbertValueType>
HilbertValueType<ElemType>& mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::HilbertValue ( )
inline
template<typename TreeType , template< typename > class HilbertValueType>
void mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::NullifyData ( )

Clear memory.

template<typename TreeType , template< typename > class HilbertValueType>
HilbertRTreeAuxiliaryInformation& mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::operator= ( const HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType > &  other)

Copy the auxiliary information.

Parameters
otherThe object from which the information will be moved.
template<typename TreeType , template< typename > class HilbertValueType>
template<typename Archive >
void mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::Serialize ( Archive &  ar,
const unsigned  int 
)
template<typename TreeType , template< typename > class HilbertValueType>
bool mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::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.

Member Data Documentation

template<typename TreeType , template< typename > class HilbertValueType>
HilbertValueType<ElemType> mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::hilbertValue
private

The largest Hilbert value of a point enclosed by the node.

Definition at line 129 of file hilbert_r_tree_auxiliary_information.hpp.

Referenced by mlpack::tree::HilbertRTreeAuxiliaryInformation< TreeType, HilbertValueType >::HilbertValue().


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