public static class DoubleKDTree.KDTreeNode extends Object
Modifier and Type | Field and Description |
---|---|
double |
discriminant
Splitting value
|
int |
discriminantDimension
Splitting dimension
|
int[] |
indices
The leaf only holds the indices of the original data
|
DoubleKDTree.KDTreeNode |
left
Node to the left
|
double[] |
maxBounds
The maximum bounds of this node
|
double[] |
minBounds
The minimum bounds of this node
|
DoubleKDTree.KDTreeNode |
right
Node to the right
|
Constructor and Description |
---|
KDTreeNode(double[][] pnts,
IntArrayView inds,
DoubleKDTree.SplitChooser split)
Construct a new node with the given data
|
Modifier and Type | Method and Description |
---|---|
boolean |
isContainedBy(double[] lowerExtreme,
double[] upperExtreme)
Test whether the bounds of this node are fully contained by the
hyperrectangle described by the given bounds.
|
boolean |
isDisjointFrom(double[] lowerExtreme,
double[] upperExtreme)
Test whether the bounds of this node are disjoint from the
hyperrectangle described by the given bounds.
|
boolean |
isLeaf()
Test to see if this node is a leaf node (i.e.
|
public DoubleKDTree.KDTreeNode left
public DoubleKDTree.KDTreeNode right
public double discriminant
public int discriminantDimension
public double[] minBounds
public double[] maxBounds
public int[] indices
public KDTreeNode(double[][] pnts, IntArrayView inds, DoubleKDTree.SplitChooser split)
pnts
- the data for the node and its childreninds
- a list of indices that point to the relevant parts of the
pnts array that should be usedsplit
- the DoubleKDTree.SplitChooser
to use when constructing
the treepublic boolean isLeaf()
indices
!= null
)public boolean isDisjointFrom(double[] lowerExtreme, double[] upperExtreme)
lowerExtreme
- the lower bounds of the hyperrectangleupperExtreme
- the upper bounds of the hyperrectanglepublic boolean isContainedBy(double[] lowerExtreme, double[] upperExtreme)
lowerExtreme
- the lower bounds of the hyperrectangleupperExtreme
- the upper bounds of the hyperrectangle