|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Object
|
+--org.abora.white.xpp.basic.Heaper
|
+--org.abora.white.edge.EdgeManager
Manages the common code for regions which are represented as a sequence of EdgeTransitions. Each coordinate space should define a subclass which implements the appropriate methods, and then use it to do the various region operations. Clients of the region do not need to see any of these classes.
| Constructor Summary | |
protected |
EdgeManager()
|
protected |
EdgeManager(Rcvr rcvr)
|
| Method Summary | |
int |
actualHashForEqual()
Defined by subclasses to produce the value returned by hashForEqual. |
XnRegion |
asSimpleRegion(XnRegion region)
|
XnRegion |
complement(XnRegion region)
|
IntegerValue |
count(XnRegion region)
Because Edge Regions should only be used on infinitely divisible spaces (like rationals), if it's finite then it is bounded on both sides, and all the internal intervals are singletons |
ScruSet |
distinctions(XnRegion region)
|
EdgeAccumulator |
edgeAccumulator(boolean startsInside)
Create an accumulator which takes edges and creates a region |
abstract Position |
edgePosition(TransitionEdge edge)
The position associated with the given edge. |
EdgeStepper |
edgeStepper(XnRegion region)
Create a stepper for iterating through the edges of the region |
Position |
greatestLowerBound(XnRegion region)
The largest position such that no other positions in the region are any less than it. |
boolean |
hasMember(XnRegion region,
Position pos)
|
XnRegion |
intersect(XnRegion meRegion,
XnRegion otherRegion)
|
boolean |
isBoundedLeft(XnRegion region)
Same meaning as IntegerRegion::isBoundedLeft |
boolean |
isBoundedRight(XnRegion region)
Same meaning as IntegerRegion::isBoundedRight |
boolean |
isEmpty(XnRegion region)
|
boolean |
isEqual(Heaper other)
Return true if the two objects are equal. |
boolean |
isFinite(XnRegion region)
Here is one place where the *infinite* of the infinite divisibility assumed by OrderedRegion about the full ordering comes in (see class comment). |
boolean |
isFull(XnRegion region)
|
boolean |
isSimple(XnRegion region)
|
boolean |
isSubsetOf(XnRegion me,
XnRegion other)
|
Position |
leastUpperBound(XnRegion region)
The smallest position such that no other positions in the region are any greater than it. |
TransitionEdge |
lowerEdge(XnRegion region)
|
abstract XnRegion |
makeNew(boolean startsInside,
PtrArray transitions)
Make a new region of the right type |
abstract XnRegion |
makeNew(boolean startsInside,
PtrArray transitions,
int count)
Make a new region of the right type |
abstract PtrArray |
posTransitions(Position pos)
|
void |
printRegionOn(XnRegion region,
java.io.PrintWriter oo)
|
Stepper |
simpleRegions(XnRegion region,
OrderSpec order)
|
XnRegion |
simpleUnion(XnRegion me,
XnRegion other)
|
EdgeStepper |
singleEdgeStepper(Position pos)
Create a stepper for iterating through the edges of the region |
abstract boolean |
startsInside(XnRegion region)
|
abstract PtrArray |
transitions(XnRegion region)
|
abstract int |
transitionsCount(XnRegion region)
|
XnRegion |
unionWith(XnRegion meRegion,
XnRegion otherRegion)
|
TransitionEdge |
upperEdge(XnRegion region)
|
XnRegion |
with(XnRegion meRegion,
Position newPos)
|
| Methods inherited from class org.abora.white.xpp.basic.Heaper |
destroy, destruct, equals, hashForEqual, printContentsOn, printOn, sendSelfTo, toString |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
protected EdgeManager()
protected EdgeManager(Rcvr rcvr)
| Method Detail |
public EdgeAccumulator edgeAccumulator(boolean startsInside)
public EdgeStepper edgeStepper(XnRegion region)
public TransitionEdge lowerEdge(XnRegion region)
public EdgeStepper singleEdgeStepper(Position pos)
public TransitionEdge upperEdge(XnRegion region)
public boolean hasMember(XnRegion region,
Position pos)
public boolean isBoundedLeft(XnRegion region)
public boolean isBoundedRight(XnRegion region)
public boolean isEmpty(XnRegion region)
public boolean isFinite(XnRegion region)
public boolean isFull(XnRegion region)
public boolean isSimple(XnRegion region)
public boolean isSubsetOf(XnRegion me,
XnRegion other)
public IntegerValue count(XnRegion region)
public XnRegion asSimpleRegion(XnRegion region)
public Position greatestLowerBound(XnRegion region)
public Position leastUpperBound(XnRegion region)
public XnRegion simpleUnion(XnRegion me,
XnRegion other)
public void printRegionOn(XnRegion region,
java.io.PrintWriter oo)
public XnRegion complement(XnRegion region)
public ScruSet distinctions(XnRegion region)
public XnRegion intersect(XnRegion meRegion,
XnRegion otherRegion)
public Stepper simpleRegions(XnRegion region,
OrderSpec order)
public XnRegion unionWith(XnRegion meRegion,
XnRegion otherRegion)
public XnRegion with(XnRegion meRegion,
Position newPos)
public abstract Position edgePosition(TransitionEdge edge)
public abstract XnRegion makeNew(boolean startsInside,
PtrArray transitions)
public abstract XnRegion makeNew(boolean startsInside,
PtrArray transitions,
int count)
public abstract PtrArray posTransitions(Position pos)
public abstract boolean startsInside(XnRegion region)
public abstract PtrArray transitions(XnRegion region)
public abstract int transitionsCount(XnRegion region)
public int actualHashForEqual()
Heaper
actualHashForEqual in class Heaperpublic boolean isEqual(Heaper other)
Heaper
isEqual in class Heaper
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||