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