org.abora.white.spaces.cross
Class CrossSpace

java.lang.Object
  |
  +--org.abora.white.xpp.basic.Heaper
        |
        +--org.abora.white.spaces.basic.CoordinateSpace
              |
              +--org.abora.white.spaces.cross.CrossSpace
Direct Known Subclasses:
GenericCrossSpace

public abstract class CrossSpace
extends CoordinateSpace

Represents the cross of several coordinate spaces.


Field Summary
protected  PtrArray mySubSpaces
           
 
Fields inherited from class org.abora.white.spaces.basic.CoordinateSpace
myAscending, myDescending, myEmptyRegion, myFullRegion, myIdentityDsp
 
Constructor Summary
CrossSpace()
           
CrossSpace(PtrArray subSpaces)
           
 
Method Summary
 int actualHashForEqual()
          Defined by subclasses to produce the value returned by hashForEqual.
 PtrArray axes()
          Essential.
 CoordinateSpace axis(int dimension)
          The sub coordinate space on the given axis
 int axisCount()
          The number of dimensions in this space
 Mapping crossOfMappings()
           
abstract  Mapping crossOfMappings(PtrArray subMappings)
          Essential.
 CrossOrderSpec crossOfOrderSpecs()
           
 CrossOrderSpec crossOfOrderSpecs(PtrArray subOrderings)
           
abstract  CrossOrderSpec crossOfOrderSpecs(PtrArray subOrderings, PrimIntArray subSpaceOrdering)
          Essential.
abstract  Tuple crossOfPositions(PtrArray coordinates)
          Essential.
abstract  CrossRegion crossOfRegions(PtrArray subRegions)
          Essential.
abstract  CrossRegion extrusion(int dimension, XnRegion subRegion)
          Return a region whose projection is 'subRegion' along 'dimension', but is full on all other dimensions
static void info()
          {PtrArray CLIENT of: CoordinateSpace} axes {CoordinateSpace CLIENT} axis: dimension {Int32} {Int32 CLIENT} axisCount {Mapping CLIENT} crossOfMappings {Mapping CLIENT} crossOfMappings: subMappings {(PtrArray of: Mapping | NULL) default: NULL} {CrossOrderSpec CLIENT} crossOfOrderSpecs {CrossOrderSpec CLIENT} crossOfOrderSpecs: subOrderings {(PtrArray of: OrderSpec | NULL) default: NULL} {CrossOrderSpec CLIENT} crossOfOrderSpecs: subOrderings {(PtrArray of: OrderSpec | NULL) default: NULL} with: subSpaceOrdering {Int32Array default: NULL} {Tuple CLIENT} crossOfPositions: coordinates {PtrArray of: Position} {CrossRegion CLIENT} crossOfRegions: subRegions {PtrArray of: XuRegion | NULL} {CrossRegion CLIENT} extrusion: dimension {Int32} with: subRegion {XuRegion}
 boolean isEqual(Heaper other)
          Return true if the two objects are equal.
static CrossSpace make(CoordinateSpace zeroSpace, CoordinateSpace oneSpace)
          Cross two sub spaces
static CrossSpace make(PtrArray subSpaces)
          Make a cross space with the given list of subspaces
 PtrArray secretSubSpaces()
          The actual array of sub spaces.
 
Methods inherited from class org.abora.white.spaces.basic.CoordinateSpace
ascending, completeMapping, descending, emptyRegion, fetchAscending, fetchDescending, finishCreate, fullRegion, getAscending, getDescending, identityDsp, identityMapping, verify
 
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
 

Field Detail

mySubSpaces

protected PtrArray mySubSpaces
Constructor Detail

CrossSpace

public CrossSpace()

CrossSpace

public CrossSpace(PtrArray subSpaces)
Method Detail

axes

public PtrArray axes()
Essential. The base spaces that I am a cross of.


axis

public CoordinateSpace axis(int dimension)
The sub coordinate space on the given axis


axisCount

public int axisCount()
The number of dimensions in this space


actualHashForEqual

public int actualHashForEqual()
Description copied from class: Heaper
Defined by subclasses to produce the value returned by hashForEqual.

Overrides:
actualHashForEqual in class CoordinateSpace

isEqual

public boolean isEqual(Heaper other)
Description copied from class: Heaper
Return true if the two objects are equal.

Specified by:
isEqual in class CoordinateSpace

crossOfMappings

public abstract Mapping crossOfMappings(PtrArray subMappings)
Essential. Map each coordinate according to the mapping from its space. NULLs mean 'use the identity mapping'


crossOfOrderSpecs

public abstract CrossOrderSpec crossOfOrderSpecs(PtrArray subOrderings,
                                                 PrimIntArray subSpaceOrdering)
Essential. Make a lexical ordering of all elements in the space, using the given ordering for each sub space. If no sub space ordering is given, then it is in the order they are in the array. subSpaceOrdering lists the lexicographic order in which each dimension should be processed. Every dimension should be listed exactly one, from most significant (at index 0) to least significant. subOrderings are indexed by *dimension*, not by lexicographic order. In order to index by lex order, look up the dimension in subSpaceOrdering, and then look up the resulting dimension number in subOrderings.


crossOfPositions

public abstract Tuple crossOfPositions(PtrArray coordinates)
Essential. Make an individual position


crossOfRegions

public abstract CrossRegion crossOfRegions(PtrArray subRegions)
Essential. Make a 'rectangular' region as a cross of all the given regions


extrusion

public abstract CrossRegion extrusion(int dimension,
                                      XnRegion subRegion)
Return a region whose projection is 'subRegion' along 'dimension', but is full on all other dimensions


crossOfMappings

public Mapping crossOfMappings()

crossOfOrderSpecs

public CrossOrderSpec crossOfOrderSpecs()

crossOfOrderSpecs

public CrossOrderSpec crossOfOrderSpecs(PtrArray subOrderings)

secretSubSpaces

public PtrArray secretSubSpaces()
The actual array of sub spaces. DO NOT MODIFY


make

public static CrossSpace make(PtrArray subSpaces)
Make a cross space with the given list of subspaces


make

public static CrossSpace make(CoordinateSpace zeroSpace,
                              CoordinateSpace oneSpace)
Cross two sub spaces


info

public static void info()
{PtrArray CLIENT of: CoordinateSpace} axes {CoordinateSpace CLIENT} axis: dimension {Int32} {Int32 CLIENT} axisCount {Mapping CLIENT} crossOfMappings {Mapping CLIENT} crossOfMappings: subMappings {(PtrArray of: Mapping | NULL) default: NULL} {CrossOrderSpec CLIENT} crossOfOrderSpecs {CrossOrderSpec CLIENT} crossOfOrderSpecs: subOrderings {(PtrArray of: OrderSpec | NULL) default: NULL} {CrossOrderSpec CLIENT} crossOfOrderSpecs: subOrderings {(PtrArray of: OrderSpec | NULL) default: NULL} with: subSpaceOrdering {Int32Array default: NULL} {Tuple CLIENT} crossOfPositions: coordinates {PtrArray of: Position} {CrossRegion CLIENT} crossOfRegions: subRegions {PtrArray of: XuRegion | NULL} {CrossRegion CLIENT} extrusion: dimension {Int32} with: subRegion {XuRegion}



Copyright © 2003 David G Jones. All Rights Reserved.
Original Udanax-Gold - Copyright © 1979-1999 Udanax.com. All rights reserved.