|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sourceforge.olduvai.accordiondrawer.AbstractRangeList
net.sourceforge.olduvai.treejuxtaposer.drawer.RangeList
public class RangeList
A class representing a list of RangeInTrees. A RangeInTree represents ordered pair (min,max)) of TreeNodes. This class is a helper class for TreeJuxtaposer and keeps a resizeable array of RangeInTree's. Note that each RangeInTrees item in a RangeList can be associated with a different Tree.
RangeInTree
,
TreeNode
Field Summary | |
---|---|
private int |
groupID
group ID: key refers to priority, this is for reference to groups by well known static assigned integers to constants. |
static RangeInTree |
matchRange
Accessor storage for comparator in RangeInTree . |
static boolean |
returnObject
Accessor flag for comparator in RangeInTree . |
private boolean |
thisTreeOnly
Only highlight group items for this tree, not all the others |
Fields inherited from class net.sourceforge.olduvai.accordiondrawer.AbstractRangeList |
---|
color, enabled, key, ranges |
Constructor Summary | |
---|---|
RangeList(int i,
int groupID)
Constuctor for a range list, for storing details about marked groups of nodes. |
Method Summary | |
---|---|
void |
addRange(int min,
int max,
AccordionTreeDrawer t)
Add a range to the list of ranges. |
void |
clear()
Reset rangeList |
AbstractRangeList |
flipRangeToShrink(int xy,
AccordionDrawer ad)
Invert this range list to perform a shrink operation (which is actually a grow on the unmarked ranges). |
RangeInTree |
getFirst()
Get the first range in the set. |
int |
getNumRanges()
Get the number of ranges in this list. |
java.util.Set |
getRanges()
Get the whole Set of ranges |
double[] |
getSizesOfAllRanges(SplitAxis splitLine,
int frameNum)
Collate range sizes into an array of doubles. |
int[] |
getSplitIndices(boolean horizontal)
Collate split line indices into an array of integers. |
double |
getUnshrinkableTotal(AccordionDrawer ad,
SplitAxis splitAxis,
int frameNum)
Accumulate the unshrinkable total for this set of ranges. |
int |
groupID()
Group ID accessor. |
boolean |
isThisRangeInList(int min,
int max,
AccordionTreeDrawer atd)
Determines if the given range of min,max is overlapping with this rangelist |
boolean |
isThisTreeOnly()
Flag access to thisTreeOnly . |
RangeList |
nodeKeyToSplitLine(int xy,
boolean horiz)
Return a list of ranges of split line indices. |
AbstractRangeList |
onlyThisAD(AccordionDrawer d)
Prune the range list and return only a range list of ranges for the given drawer. |
void |
removeRange(int min,
int max,
AccordionTreeDrawer t)
Find and remove a given range. |
void |
setThisTreeOnly(boolean on)
|
java.lang.String |
toString()
Debugging output function. |
Methods inherited from class net.sourceforge.olduvai.accordiondrawer.AbstractRangeList |
---|
getColor, getKey, getSplitLines, isEnabled, setColor, setEnabled, setKey, size |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private int groupID
public static boolean returnObject
RangeInTree
.
public static RangeInTree matchRange
RangeInTree
.
private boolean thisTreeOnly
Constructor Detail |
---|
public RangeList(int i, int groupID)
i
- key for this range list.groupID
- groupID for this range list.Method Detail |
---|
public void addRange(int min, int max, AccordionTreeDrawer t)
min
- min index of new rangemax
- max index of new ranget
- drawer for new rangepublic void removeRange(int min, int max, AccordionTreeDrawer t)
min
- min index of the range to removemax
- max index of the range to removet
- drawer for the range to remove.public void clear()
public boolean isThisTreeOnly()
thisTreeOnly
.
thisTreeOnly
public void setThisTreeOnly(boolean on)
public java.util.Set getRanges()
public RangeInTree getFirst()
public int getNumRanges()
public java.lang.String toString()
toString
in class java.lang.Object
public int[] getSplitIndices(boolean horizontal)
getSplitIndices
in class AbstractRangeList
horizontal
- true for horizontal/X, false for vertical/Y
public double[] getSizesOfAllRanges(SplitAxis splitLine, int frameNum)
getSizesOfAllRanges
in class AbstractRangeList
splitLine
- Split axis for this range.frameNum
- current frame
public AbstractRangeList onlyThisAD(AccordionDrawer d)
onlyThisAD
in class AbstractRangeList
d
- drawer of interest for ranges, all other drawers will not have their ranges added to the return value
public RangeList nodeKeyToSplitLine(int xy, boolean horiz)
xy
- X for horizontal, Y for verticalhoriz
- redundant? ever different from xy in use?
public AbstractRangeList flipRangeToShrink(int xy, AccordionDrawer ad)
flipRangeToShrink
in class AbstractRangeList
xy
- Axis for this list of rangesad
- drawer for this range list
public boolean isThisRangeInList(int min, int max, AccordionTreeDrawer atd)
min
- min of range to testmax
- max of range to testatd
- drawer of testing range
public double getUnshrinkableTotal(AccordionDrawer ad, SplitAxis splitAxis, int frameNum)
getUnshrinkableTotal
in class AbstractRangeList
ad
- Drawer for this rangelistsplitAxis
- Axis that this range list is onframeNum
- current frame number
public int groupID()
groupID()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |