|
||||||||
| 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.Mapping
|
+--org.abora.white.spaces.basic.Dsp
A Dsp is a mapping from a coordinate space to itself that preserves simple regions. Every coordinate space must have an identity Dsp (which maps all positions of that space onto themselves). Dsps are necessarily invertable and composable. (Removed from CoordinateSpace because Dsps are still internal.: Dsp -- The transformations that can be applied to positions and regions of this cordinate space. A Dsp is necessarily invertible but generally not order-preserving. The composition of two Dsps is always a Dsp. If you can subtract two Dsps, the result will be another Dsp. The Dsp of a Position in this space is always another Position in this space. The Dsp of a simple region is always another simple region.) Considering a Mapping as a set of pairs, a Dsp is one for which each position appears exactly once in the first elements of the pairs, and exactly once in the second elements. Composition of Dsps isn''t necessarily commutative, though there are currently no counter-examples. Therefore we must be extra careful to avoid embodying commutativity assumptions in our code, as we currently have no way of finding such bugs.
| Constructor Summary | |
protected |
Dsp()
|
protected |
Dsp(Rcvr rcvr)
|
| Method Summary | |
Mapping |
appliedAfter(Dsp dsp)
For Dsp's, it is identical to compose. |
abstract Dsp |
compose(Dsp other)
Return the composition of the two Dsps. |
abstract CoordinateSpace |
coordinateSpace()
the coordinate space of the domain and range of the Dsp |
XnRegion |
domain()
Must be valid everywhere in the domain for a Dsp. |
Mapping |
fetchCombine(Mapping mapping)
if I know how to combine the two into a single mapping, then I do so |
Dsp |
fetchDsp()
if this is a Dsp or a Dsp retricted to some domain, return the underlying Dsp. |
abstract Mapping |
inverse()
Return the inverse of this transformation. |
Dsp |
inverseCompose(Dsp other)
Return the composition of my inverse with the other. |
Position |
inverseOf(Position pos)
Since Dsps always represent a unique mapping in either direction, the permission to BLAST in the Mapping constract no longer applies. |
XnRegion |
inverseOfAll(XnRegion reg)
Inverse transform a region. |
boolean |
isComplete()
Essential. |
abstract boolean |
isIdentity()
Says whether this Dsp maps every Position onto itself |
abstract Dsp |
minus(Dsp other)
Return the difference of the two Dsps. |
Position |
of(Position pos)
Since Dsps always represent a unique mapping in either direction, the permission to BLAST in the Mapping constract no longer applies. |
abstract XnRegion |
ofAll(XnRegion reg)
If 'reg' is a simple region, then the result must also be simple |
Mapping |
preCompose(Dsp dsp)
a->compose(b) is the same as b->preCompose(a). |
XnRegion |
range()
Essential. |
CoordinateSpace |
rangeSpace()
Same as the domain space |
Mapping |
restrict(XnRegion region)
Essential. |
Mapping |
restrictRange(XnRegion region)
Restrict the range. |
ImmuSet |
simpleMappings()
A Dsp is a simpleMapping already, so this just returns the singleton set containing me |
ImmuSet |
simpleRegionMappings()
The domain of a Dsp is the simple region covering the whole coordinate space, so I just return a singleton set containing myself |
Mapping |
transformedBy(Dsp dsp)
For Dsp's, it is identical to preCompose. |
| Methods inherited from class org.abora.white.spaces.basic.Mapping |
actualHashForEqual, combine, domainSpace, info, inverseOfInt, make, make, make, ofInt, simplerMappings, unrestricted |
| Methods inherited from class org.abora.white.xpp.basic.Heaper |
destroy, destruct, equals, hashForEqual, isEqual, printContentsOn, printOn, sendSelfTo, toString |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
protected Dsp()
protected Dsp(Rcvr rcvr)
| Method Detail |
public Mapping appliedAfter(Dsp dsp)
appliedAfter in class Mappingpublic abstract CoordinateSpace coordinateSpace()
coordinateSpace in class Mappingpublic XnRegion domain()
domain in class Mappingpublic Dsp fetchDsp()
Mapping
fetchDsp in class Mappingpublic boolean isComplete()
Mapping
isComplete in class Mappingpublic abstract boolean isIdentity()
isIdentity in class Mappingpublic Mapping preCompose(Dsp dsp)
preCompose in class Mappingpublic XnRegion range()
Mapping
range in class Mappingpublic CoordinateSpace rangeSpace()
rangeSpace in class Mappingpublic ImmuSet simpleMappings()
simpleMappings in class Mappingpublic ImmuSet simpleRegionMappings()
simpleRegionMappings in class Mappingpublic Mapping transformedBy(Dsp dsp)
transformedBy in class Mappingpublic abstract Dsp compose(Dsp other)
public abstract Mapping inverse()
inverse in class Mappingpublic abstract Dsp minus(Dsp other)
public abstract XnRegion ofAll(XnRegion reg)
ofAll in class Mappingpublic Mapping restrict(XnRegion region)
Mapping
restrict in class Mappingpublic Mapping restrictRange(XnRegion region)
Mapping
restrictRange in class Mappingpublic Mapping fetchCombine(Mapping mapping)
Mapping
fetchCombine in class Mappingpublic Position inverseOf(Position pos)
inverseOf in class Mappingpublic XnRegion inverseOfAll(XnRegion reg)
inverseOfAll in class Mappingpublic Position of(Position pos)
of in class Mappingpublic Dsp inverseCompose(Dsp other)
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||