public class CASHInterval extends HyperBoundingBox implements Comparable<CASHInterval>
Modifier and Type | Field and Description |
---|---|
private double |
d_max
The maximum distance value.
|
private double |
d_min
The minimum distance value.
|
private static int |
ID
Used for id assignment.
|
private ModifiableDBIDs |
ids
Holds the ids of the objects associated with this interval.
|
private Integer |
intervalID
Holds the unique id of this interval.
|
private CASHInterval |
leftChild
Holds the left child.
|
private int |
level
The level of this interval, 0 indicates the root level.
|
private int |
maxSplitDimension
Holds the maximum dimension which has already been split.
|
private CASHInterval |
rightChild
Holds the right child.
|
private static long |
serialVersionUID
Serial version number.
|
private CASHIntervalSplit |
split
The object to perform interval splitting.
|
Constructor and Description |
---|
CASHInterval()
Empty constructor for Externalizable interface.
|
CASHInterval(double[] min,
double[] max,
CASHIntervalSplit split,
ModifiableDBIDs ids,
int maxSplitDimension,
int level,
double d_min,
double d_max)
Provides a unique interval represented by its id, a hyper bounding box and
a set of objects ids associated with this interval.
|
Modifier and Type | Method and Description |
---|---|
int |
compareTo(CASHInterval other)
Compares this object with the specified object for order.
|
boolean |
equals(Object o) |
double |
getD_max()
Returns the maximum distance value.
|
double |
getD_min()
Returns the minimum distance value.
|
ModifiableDBIDs |
getIDs()
Returns the set of ids of the objects associated with this interval.
|
CASHInterval |
getLeftChild()
Returns the left child of this interval.
|
int |
getLevel()
Returns the level of this interval.
|
int |
getMaxSplitDimension()
Returns the maximum split dimension.
|
CASHInterval |
getRightChild()
Returns the right child of this interval.
|
boolean |
hasChildren()
Returns true if this interval has children.
|
int |
hashCode() |
int |
numObjects()
Returns the number of objects associated with this interval.
|
int |
priority()
Returns the priority of this interval (used as key in the heap).
|
void |
removeIDs(DBIDs ids2)
Removes the specified ids from this interval.
|
void |
split()
Splits this interval into 2 children.
|
String |
toString()
Returns a String representation of the HyperBoundingBox.
|
getDimensionality, getMax, getMin, readExternal, toString, writeExternal
private static final long serialVersionUID
private static int ID
private final Integer intervalID
private int level
private double d_min
private double d_max
private ModifiableDBIDs ids
private int maxSplitDimension
private CASHInterval leftChild
private CASHInterval rightChild
private CASHIntervalSplit split
public CASHInterval()
public CASHInterval(double[] min, double[] max, CASHIntervalSplit split, ModifiableDBIDs ids, int maxSplitDimension, int level, double d_min, double d_max)
min
- the coordinates of the minimum hyper pointmax
- the coordinates of the maximum hyper pointsplit
- the object to perform interval splittingids
- the ids of the objects associated with this intervalmaxSplitDimension
- the maximum dimension which has already been splitlevel
- the level of this interval, 0 indicates the root leveld_min
- the minimum distance valued_max
- the maximum distance valuepublic ModifiableDBIDs getIDs()
public void removeIDs(DBIDs ids2)
ids2
- the set of ids to be removedpublic int numObjects()
public String toString()
toString
in class HyperBoundingBox
public int priority()
public int getMaxSplitDimension()
public int getLevel()
public CASHInterval getLeftChild()
public CASHInterval getRightChild()
public double getD_min()
public double getD_max()
public int compareTo(CASHInterval other)
compareTo
in interface Comparable<CASHInterval>
other
- Object to compare topublic boolean equals(Object o)
equals
in class HyperBoundingBox
public int hashCode()
hashCode
in class HyperBoundingBox
public boolean hasChildren()
public void split()
Copyright © 2015 ELKI Development Team, Lehr- und Forschungseinheit für Datenbanksysteme, Ludwig-Maximilians-Universität München. License information.