Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.rdknn
Class RdKNNNode<D extends NumberDistance<D,N>,N extends Number>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.persistent.AbstractPage<N>
      extended by de.lmu.ifi.dbs.elki.index.tree.AbstractNode<N,E>
          extended by de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.AbstractRStarTreeNode<RdKNNNode<D,N>,RdKNNEntry<D,N>>
              extended by de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.rdknn.RdKNNNode<D,N>
Type Parameters:
D - Distance type
N - Number type
All Implemented Interfaces:
Node<RdKNNNode<D,N>,RdKNNEntry<D,N>>, SpatialComparable, SpatialNode<RdKNNNode<D,N>,RdKNNEntry<D,N>>, SpatialObject, Page<RdKNNNode<D,N>>, Externalizable, Serializable

public class RdKNNNode<D extends NumberDistance<D,N>,N extends Number>
extends AbstractRStarTreeNode<RdKNNNode<D,N>,RdKNNEntry<D,N>>

Represents a node in a RDkNN-Tree.

Author:
Elke Achtert
See Also:
Serialized Form

Field Summary
private static long serialVersionUID
           
 
Fields inherited from class de.lmu.ifi.dbs.elki.index.tree.AbstractNode
eclass, entries, isLeaf, numEntries
 
Constructor Summary
RdKNNNode()
          Empty constructor for Externalizable interface.
RdKNNNode(PageFile<RdKNNNode<D,N>> file, int capacity, boolean isLeaf)
          Creates a new RdKNNNode object.
 
Method Summary
 void adjustEntry(RdKNNEntry<D,N> entry)
          Adjusts the parameters of the entry representing this node.
protected  RdKNNNode<D,N> createNewDirectoryNode(int capacity)
          Creates a new directory node with the specified capacity.
protected  RdKNNNode<D,N> createNewLeafNode(int capacity)
          Creates a new leaf node with the specified capacity.
protected  void integrityCheckParameters(RdKNNNode<D,N> parent, int index)
          Tests, if the parameters of the entry representing this node, are correctly set.
protected  D kNNDistance()
          Computes and returns the aggregated knn distance of this node
 
Methods inherited from class de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.AbstractRStarTreeNode
getDimensionality, getMax, getMin, initReInsert, integrityCheck, mbr, readExternal, splitEntries, writeExternal
 
Methods inherited from class de.lmu.ifi.dbs.elki.index.tree.AbstractNode
addDirectoryEntry, addLeafEntry, children, deleteAllEntries, deleteEntry, equals, getCapacity, getEntries, getEntry, getNumEntries, increaseEntries, isLeaf, toString
 
Methods inherited from class de.lmu.ifi.dbs.elki.persistent.AbstractPage
getFile, getID, hashCode, isDirty, setDirty, setFile, setID
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.lmu.ifi.dbs.elki.index.tree.Node
addDirectoryEntry, addLeafEntry, children, getEntry, getNumEntries, isLeaf
 
Methods inherited from interface de.lmu.ifi.dbs.elki.persistent.Page
getID, isDirty, setDirty, setFile, setID
 
Methods inherited from interface de.lmu.ifi.dbs.elki.index.tree.spatial.SpatialObject
getID
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

RdKNNNode

public RdKNNNode()
Empty constructor for Externalizable interface.


RdKNNNode

public RdKNNNode(PageFile<RdKNNNode<D,N>> file,
                 int capacity,
                 boolean isLeaf)
Creates a new RdKNNNode object.

Parameters:
file - the file storing the RdKNN-Tree
capacity - the capacity (maximum number of entries plus 1 for overflow) of this node
isLeaf - indicates whether this node is a leaf node
Method Detail

kNNDistance

protected D kNNDistance()
Computes and returns the aggregated knn distance of this node

Returns:
the aggregated knn distance of this node

createNewLeafNode

protected RdKNNNode<D,N> createNewLeafNode(int capacity)
Creates a new leaf node with the specified capacity.

Specified by:
createNewLeafNode in class AbstractRStarTreeNode<RdKNNNode<D extends NumberDistance<D,N>,N extends Number>,RdKNNEntry<D extends NumberDistance<D,N>,N extends Number>>
Parameters:
capacity - the capacity of the new node
Returns:
a new leaf node

createNewDirectoryNode

protected RdKNNNode<D,N> createNewDirectoryNode(int capacity)
Creates a new directory node with the specified capacity.

Specified by:
createNewDirectoryNode in class AbstractRStarTreeNode<RdKNNNode<D extends NumberDistance<D,N>,N extends Number>,RdKNNEntry<D extends NumberDistance<D,N>,N extends Number>>
Parameters:
capacity - the capacity of the new node
Returns:
a new directory node

adjustEntry

public void adjustEntry(RdKNNEntry<D,N> entry)
Description copied from class: AbstractRStarTreeNode
Adjusts the parameters of the entry representing this node.

Overrides:
adjustEntry in class AbstractRStarTreeNode<RdKNNNode<D extends NumberDistance<D,N>,N extends Number>,RdKNNEntry<D extends NumberDistance<D,N>,N extends Number>>
Parameters:
entry - the entry representing this node

integrityCheckParameters

protected void integrityCheckParameters(RdKNNNode<D,N> parent,
                                        int index)
Tests, if the parameters of the entry representing this node, are correctly set. Subclasses may need to overwrite this method.

Overrides:
integrityCheckParameters in class AbstractRStarTreeNode<RdKNNNode<D extends NumberDistance<D,N>,N extends Number>,RdKNNEntry<D extends NumberDistance<D,N>,N extends Number>>
Parameters:
parent - the parent holding the entry representing this node
index - the index of the entry in the parents child array

Release 0.3 (2010-03-31_1612)