|
||||||||
| 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.spaces.basic.XnRegion
|
+--org.abora.white.spaces.cross.CrossRegion
A cross region is a distinction if 1) it is empty, 2) it is full, or 3) it is the rectangular cross of full regions and one distinction. Note that case 3 actually subsumes 1 and 2. Since the simple regions of a space are the intersections of a finite number of distinctions of a space, this implies that A cross region is simple if it is the rectangular cross of simple regions. In other words, a simple region is identical to the cross of its projections.
| Constructor Summary | |
protected |
CrossRegion()
|
protected |
CrossRegion(Rcvr rcvr)
|
| Method Summary | |
int |
actualHashForEqual()
To avoid overly burdensome canonicalization rules, my hash is calculated from the hash of my projections |
abstract Stepper |
actualStepper(OrderSpec order)
Only called if I've already said I'm enumerable in the originally stated order. |
abstract XnRegion |
asSimpleRegion()
Return a simple region containing all positions contained by myself. |
abstract Stepper |
boxes()
Essential. |
abstract XnRegion |
complement()
Essential. |
abstract CoordinateSpace |
coordinateSpace()
Essential. |
abstract IntegerValue |
count()
How many positions do I contain? If I am not 'isFinite', then this message will BLAST. |
abstract ScruSet |
distinctions()
Break it up into a set of non-full distinctions. |
abstract boolean |
hasMember(Position atPos)
Do I contain this position? More than anything else, the behavior of this message is the defining characteristic of an XuRegion. |
static void |
info()
{Stepper CLIENT of: CrossRegion} boxes {BooleanVar CLIENT} isBox {XuRegion CLIENT} projection: index {Int32} {PtrArray CLIENT of: XuRegion} projections |
abstract XnRegion |
intersect(XnRegion other)
Essential. |
abstract boolean |
isBox()
Whether this Region is a box, i.e. |
abstract boolean |
isEmpty()
Every coordinate space has exactly one empty region. |
abstract boolean |
isEnumerable(OrderSpec order)
See comment in XuRegion::stepper. |
abstract boolean |
isEqual(Heaper other)
Two regions are equal iff they contain exactly the same set of positions |
abstract boolean |
isFinite()
Essential. |
abstract boolean |
isSimple()
Am I a simple region. |
XnRegion |
projection(int index)
The answer is the projection of this region into the specified dimension of the cross space |
abstract PtrArray |
projections()
Essential. |
abstract Stepper |
simpleRegions(OrderSpec order)
Break myself up into a finite set of non-empty simple regions which, when unionWith'ed together will yield me. |
XnRegion |
simpleUnion(XnRegion other)
The result must contain all positions contained by either of the two original regions, and the result must be simple. |
abstract XnRegion |
unionWith(XnRegion other)
The result has as members exactly those positions which are members of either of the original two regions. |
| Methods inherited from class org.abora.white.spaces.basic.XnRegion |
chooseMany, chooseMany, chooseOne, chooseOne, delta, disjointSimpleRegions, disjointSimpleRegions, immuSet, intersects, isDistinction, isEnumerable, isFull, isSubsetOf, minus, simpleRegions, stepper, stepper, theOne, with, without |
| 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 CrossRegion()
protected CrossRegion(Rcvr rcvr)
| Method Detail |
public int actualHashForEqual()
actualHashForEqual in class XnRegionpublic abstract boolean hasMember(Position atPos)
XnRegion
hasMember in class XnRegionpublic abstract boolean isEmpty()
XnRegion
isEmpty in class XnRegionpublic abstract boolean isEnumerable(OrderSpec order)
XnRegion
isEnumerable in class XnRegionpublic abstract boolean isEqual(Heaper other)
XnRegion
isEqual in class XnRegionpublic abstract boolean isFinite()
XnRegion
isFinite in class XnRegionpublic abstract boolean isSimple()
XnRegion
isSimple in class XnRegionpublic abstract Stepper boxes()
public abstract IntegerValue count()
XnRegion
count in class XnRegionpublic abstract ScruSet distinctions()
XnRegion
distinctions in class XnRegionpublic abstract boolean isBox()
public abstract Stepper simpleRegions(OrderSpec order)
XnRegion
simpleRegions in class XnRegionpublic abstract XnRegion asSimpleRegion()
XnRegion
asSimpleRegion in class XnRegionpublic abstract XnRegion complement()
XnRegion
complement in class XnRegionpublic abstract XnRegion intersect(XnRegion other)
XnRegion
intersect in class XnRegionpublic XnRegion simpleUnion(XnRegion other)
XnRegiona->simpleUnion(b) satisfies the same specification
as (a->unionWith(b))->asSimpleRegion(). However, the two results do
not have to be the same region.
simpleUnion in class XnRegionpublic abstract XnRegion unionWith(XnRegion other)
XnRegion
unionWith in class XnRegionpublic abstract CoordinateSpace coordinateSpace()
XnRegion
coordinateSpace in class XnRegionpublic XnRegion projection(int index)
public abstract PtrArray projections()
public abstract Stepper actualStepper(OrderSpec order)
XnRegion
actualStepper in class XnRegionpublic static void info()
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||