26#ifndef __TERRALIB_SAM_KDTREE_INTERNAL_NODE_H 
   27#define __TERRALIB_SAM_KDTREE_INTERNAL_NODE_H 
   61      template<
class NodeKey, 
class NodeData, 
class NodeDataItem, 
class NodeDataTag = kd_node_m_datasingle_tag> 
class Node 
  154            std::size_t totalLeft  = 0;
 
  155            std::size_t totalRight = 0;
 
  163            return totalLeft + totalRight;
 
  309            std::size_t totalLeft  = 0;
 
  310            std::size_t totalRight = 0;
 
  318            return totalLeft + totalRight;
 
A class that represents an Kd-tree node.
 
NodeData & getData()
It returns a reference to data node.
 
AdaptativeNode * getRight() const
It gets the right child.
 
const double & getKey() const
It returns a reference to node key.
 
std::size_t descendants() const
It counts the number of nodes below this.
 
NodeKey kdKey
Export key type.
 
NodeData m_data
The data stored in this record.
 
AdaptativeNode(const AdaptativeNode &rhs)
No copy constructor allowed.
 
AdaptativeNode * getLeft() const
It gets the left child.
 
double m_key
The key used to access this record.
 
void setRight(AdaptativeNode *node)
It sets the right child pointer.
 
AdaptativeNode * m_right
Pointer to the right sub-tree.
 
void setDiscriminator(const char &d)
It sets the data in the node.
 
const char & getDiscriminator() const
It returns a reference to discriminator.
 
bool isLeaf() const
It returns true if this node is a leaf node.
 
void setData(const NodeData &data)
It sets the data in the node.
 
char m_discriminator
The discriminator used in partition.
 
bool hasLeft() const
It checks if this node has a left child.
 
NodeDataItem kdDataItem
Export data item type.
 
void setLeft(AdaptativeNode *node)
It sets the left child pointer.
 
bool hasRight() const
It checks if this node has a right child.
 
void setKey(const double &k)
It sets the key to the node.
 
NodeData kdData
Export data type.
 
AdaptativeNode(const double &k)
Constructor.
 
AdaptativeNode & operator=(const AdaptativeNode &rhs)
No assignment operator allowed.
 
AdaptativeNode * m_left
Pointer to the left sub-tree.
 
A class that represents an Kd-tree node.
 
Node * m_right
Pointer to the right sub-tree.
 
NodeDataItem m_data
The data stored in this record.
 
NodeDataItem kdDataItem
Export data item type.
 
Node(const Node &rhs)
No copy constructor allowed.
 
void setLeft(Node *node)
It sets the left child pointer.
 
NodeDataTag kdDataTag
Export data type.
 
Node(const NodeKey &k)
Constructor.
 
Node * getLeft() const
It gets the left child.
 
void setKey(const NodeKey &k)
It sets the key to the node.
 
bool hasRight() const
It checks if this node has a right child.
 
NodeKey kdKey
Export key type.
 
NodeData kdData
Export data type.
 
bool hasLeft() const
It checks if this node has a left child.
 
Node & operator=(const Node &rhs)
No assignment operator allowed.
 
bool isLeaf() const
It returns true if this node is a leaf node.
 
void setData(const NodeDataItem &data)
It sets the data in the node.
 
std::size_t descendants() const
It counts the number of nodes below this.
 
Node * getRight() const
It gets the right child.
 
NodeKey m_key
The key used to access this record.
 
const NodeKey & getKey() const
It returns a reference to node key.
 
NodeDataItem & getData()
It returns a reference to data node.
 
Node * m_left
Pointer to the left sub-tree.
 
void setRight(Node *node)
It sets the right child pointer.
 
Kd-Tree node type for nodes with multuple elements (used by template instantiation).
 
Kd-tree node type for nodes with single elements (used by template instantiation).