IsoSurface Rendering of an AR Representation

rlaramee
Class Constant

java.lang.Object
  |
  +--rlaramee.Constant

public class Constant
extends java.lang.Object


Field Summary
static int ALLLEVELS
           
static short AR01
           
static short AR02
           
static short AR05
           
static short AR10
           
static short AR15
           
static short AR20
           
static short AR25
           
static byte ARTEST1
           
static byte ARTEST2
           
static byte BACK
           
static int BIG_NEG
          taken from VisAD, used in TriangleVertex.new()
static int BOTTOMARRAYLEVEL
          used in OctreeNode.addNodeFromBottom()
static int BOTTOMLEVEL
           
static byte BRIGHTNESS
           
static byte COARSER
           
static int COARSETOFINE
          used in IsoSurface.findInconsistentVerticesOrSubdivide() and OctreeNode.mapDirectionsFromOctant
static boolean DEBUG
           
static byte DOWN
           
static byte E0
           E = edge
static byte E1
           
static byte E10
           
static byte E11
           
static byte E2
           
static byte E3
           
static byte E4
           
static byte E5
           
static byte E6
           
static byte E7
           
static byte E8
           
static byte E9
           
static double EPSILON
          used in Vertex.isEqual()
static byte ERROR
           
static byte FINER
           
static int FINETOCOARSE
           
static int FROMABOVE
          used by the Octree class (among others)
static int FROMBELOW
          used by the Octree class (among others)
static int FROMLEFT
          used by the Octree class (among others)
static byte FRONT
           
static byte HEAD
           
static int HEIGHT
           
static byte HUE
           
static int INVALID
          used in IsoSurface.getActualVisADcoords() and OctreeNode.removeTriangles()
static byte KNEE
           
static byte LEFT
          used in neighbor finding
static byte LOBSTER
           
static float MAXBLOCKCOORD
           
static float MAXIMUMDATA
           
static float MAXVISADCOORD
           
static float MINBLOCKCOORD
          dimensional constants, used by Vertex class (among others)
static float MINIMUMDATA
          used in Octree.java for the root node
static float MINVISADCOORD
          called from IsoSurface.getActualVisADcoords
static short MR
           
static byte NOERR
           
static byte NULL
          File menu constants
static byte NUMFACES
          used in OctreeARnode.setChainLink()
static byte NUMLEVELS
          used by the Octree class (among others)
static byte O0
           O = octant
static byte O1
           
static byte O2
           
static byte O3
           
static byte O4
           
static byte O5
           
static byte O6
           
static byte O7
           
static byte OPEN
           
static byte P0
           P = point
static byte P1
           
static byte P2
           
static byte P3
           
static byte P4
           
static byte P5
           
static byte P6
           
static byte P7
           
static byte QUIT
           
static float REMOVEDVAL1
          used in Triangle.isWithin() the 2nd method
static float REMOVEDVAL2
           
static short RES1
          ditto ditto These are used for the cube data set resolutions
static short RES128
           
static short RES129
           
static short RES16
           
static short RES17
           
static short RES2
           
static short RES256
           
static short RES257
           
static short RES3
           
static short RES32
           
static short RES33
           
static short RES4
           
static short RES5
           
static short RES64
           
static short RES65
           
static short RES8
           
static short RES9
           
static byte RIGHT
           
static byte SATURATION
           
static byte SPHERE
           
static short TOOBIG
          used in the FromFloatToCube class
static byte TRANSPARENCY
           
static byte UP
           
static byte VARIATE1
           
static byte VARIATE2
           
static int WIDTH
          Default width and height
static byte XAXIS
          Used in Cube Interpolator TriangleVertex Gridded3DMRSet classes
static float XROWS
           
static byte YAXIS
           
static float YCOLUMNS
           
static byte ZAXIS
           
static float ZLAYERS
           
 
Constructor Summary
Constant()
           
 
Method Summary
static byte fromCubeResolutionToLevel(short cubeResolution)
          This method maps a resolution to a "level".
static short fromCubeToFloatResolution(short cubeResolution)
           
static byte fromFloatResolutionToLevel(short floatResolution)
          This method maps a float data set resolution to a "level".
static short fromFloatToCubeResolution(short floatResolution)
           
static short fromLevelToCubeResolution(byte level)
          This is called from IsoSurfaceAdaptive.addAdaptiveNode() It is a sad consequence of the "level" terminology, which hopefully Bob will purge from the code someday
static short nextCoarserResolution(short resolution)
          This is called from BinaryCubeReader.run() and IsoSurfaceAdaptive.process2ndPass()
static short nextFinerResolution(short resolution)
          This is called from IsoSurfaceAdaptive.process2ndPass()
static boolean printDir(byte direction)
           
static byte reverseDir(byte toDirection)
           
static java.lang.String toStringDir(byte direction)
           
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

DEBUG

public static final boolean DEBUG

NUMLEVELS

public static final byte NUMLEVELS
used by the Octree class (among others)

FROMABOVE

public static final int FROMABOVE
used by the Octree class (among others)

FROMLEFT

public static final int FROMLEFT
used by the Octree class (among others)

FROMBELOW

public static final int FROMBELOW
used by the Octree class (among others)

LEFT

public static final byte LEFT
used in neighbor finding
 LEFT/RIGHT -along x axis
 DOWN/UP    -along y axis
 BACK/FRONT -along z axis (this is important)
 

RIGHT

public static final byte RIGHT

DOWN

public static final byte DOWN

UP

public static final byte UP

BACK

public static final byte BACK

FRONT

public static final byte FRONT

NUMFACES

public static final byte NUMFACES
used in OctreeARnode.setChainLink()

COARSER

public static final byte COARSER

FINER

public static final byte FINER

MINBLOCKCOORD

public static final float MINBLOCKCOORD
dimensional constants, used by Vertex class (among others)

MAXBLOCKCOORD

public static final float MAXBLOCKCOORD

XROWS

public static final float XROWS

YCOLUMNS

public static final float YCOLUMNS

ZLAYERS

public static final float ZLAYERS

MINVISADCOORD

public static final float MINVISADCOORD
called from IsoSurface.getActualVisADcoords

MAXVISADCOORD

public static final float MAXVISADCOORD

ALLLEVELS

public static final int ALLLEVELS

BOTTOMLEVEL

public static final int BOTTOMLEVEL

NULL

public static final byte NULL
File menu constants

OPEN

public static final byte OPEN

QUIT

public static final byte QUIT

XAXIS

public static final byte XAXIS
Used in
  1. Cube
  2. Interpolator
  3. TriangleVertex
  4. Gridded3DMRSet
classes

YAXIS

public static final byte YAXIS

ZAXIS

public static final byte ZAXIS

ERROR

public static final byte ERROR

HUE

public static final byte HUE

SATURATION

public static final byte SATURATION

BRIGHTNESS

public static final byte BRIGHTNESS

NOERR

public static final byte NOERR

TRANSPARENCY

public static final byte TRANSPARENCY

WIDTH

public static final int WIDTH
Default width and height

HEIGHT

public static final int HEIGHT

MINIMUMDATA

public static final float MINIMUMDATA
used in Octree.java for the root node

MAXIMUMDATA

public static final float MAXIMUMDATA

EPSILON

public static final double EPSILON
used in Vertex.isEqual()

BIG_NEG

public static final int BIG_NEG
taken from VisAD, used in TriangleVertex.new()

BOTTOMARRAYLEVEL

public static final int BOTTOMARRAYLEVEL
used in OctreeNode.addNodeFromBottom()

INVALID

public static final int INVALID
used in IsoSurface.getActualVisADcoords() and OctreeNode.removeTriangles()

We chose not to use a value of -1 because this causes a problem with vertices that, when transformed from block space to the VisAD view volume, lie on the border of the view volume at z == -1 ( a valid coordinate in the VisAD view volume )


COARSETOFINE

public static final int COARSETOFINE
used in IsoSurface.findInconsistentVerticesOrSubdivide() and OctreeNode.mapDirectionsFromOctant

FINETOCOARSE

public static final int FINETOCOARSE

REMOVEDVAL1

public static final float REMOVEDVAL1
used in Triangle.isWithin() the 2nd method

REMOVEDVAL2

public static final float REMOVEDVAL2

E0

public static final byte E0
E = edge

used in OctreeNode.onCoarseEdge() SharedEdgeVertex.setCoarseEdge()


E1

public static final byte E1

E2

public static final byte E2

E3

public static final byte E3

E4

public static final byte E4

E5

public static final byte E5

E6

public static final byte E6

E7

public static final byte E7

E8

public static final byte E8

E9

public static final byte E9

E10

public static final byte E10

E11

public static final byte E11

O0

public static final byte O0
O = octant

used in OctreeNode.reflect() OctreeNode.adjacent() OctreeARnode.onCoarseEdge()


O1

public static final byte O1

O2

public static final byte O2

O3

public static final byte O3

O4

public static final byte O4

O5

public static final byte O5

O6

public static final byte O6

O7

public static final byte O7

P0

public static final byte P0
P = point

used in Cube.java OctreeNode.java Octree.java IsoSurface.java ASCIIcubeParser.java Triangle.isWithin()


P1

public static final byte P1

P2

public static final byte P2

P3

public static final byte P3

P4

public static final byte P4

P5

public static final byte P5

P6

public static final byte P6

P7

public static final byte P7

HEAD

public static final byte HEAD

LOBSTER

public static final byte LOBSTER

KNEE

public static final byte KNEE

SPHERE

public static final byte SPHERE

ARTEST1

public static final byte ARTEST1

ARTEST2

public static final byte ARTEST2

MR

public static final short MR

AR01

public static final short AR01

AR02

public static final short AR02

AR05

public static final short AR05

AR10

public static final short AR10

AR15

public static final short AR15

AR20

public static final short AR20

AR25

public static final short AR25

RES1

public static final short RES1
ditto ditto These are used for the cube data set resolutions

RES2

public static final short RES2

RES4

public static final short RES4

RES8

public static final short RES8

RES16

public static final short RES16

RES32

public static final short RES32

RES64

public static final short RES64

RES128

public static final short RES128

RES256

public static final short RES256

RES3

public static final short RES3

RES5

public static final short RES5

RES9

public static final short RES9

RES17

public static final short RES17

RES33

public static final short RES33

RES65

public static final short RES65

RES129

public static final short RES129

RES257

public static final short RES257

TOOBIG

public static final short TOOBIG
used in the FromFloatToCube class

VARIATE1

public static final byte VARIATE1

VARIATE2

public static final byte VARIATE2
Constructor Detail

Constant

public Constant()
Method Detail

printDir

public static boolean printDir(byte direction)
Parameters:
direction - one of the directions defined in Constant.java
Returns:
TRUE if the direction printed properly

toStringDir

public static java.lang.String toStringDir(byte direction)
Parameters:
direction - one of the directions defined in Constant.java
Returns:
the string representation of that direction

reverseDir

public static byte reverseDir(byte toDirection)
Parameters:
toDirection - one of the directions defined in Constant.java
Returns:
the opposite direction

nextCoarserResolution

public static short nextCoarserResolution(short resolution)
This is called from BinaryCubeReader.run() and IsoSurfaceAdaptive.process2ndPass()

nextFinerResolution

public static short nextFinerResolution(short resolution)
This is called from IsoSurfaceAdaptive.process2ndPass()

fromCubeToFloatResolution

public static short fromCubeToFloatResolution(short cubeResolution)
Parameters:
a - resolution of cube data
Returns:
the corresponding resolution of float data

fromFloatToCubeResolution

public static short fromFloatToCubeResolution(short floatResolution)
Parameters:
a - resolution of float data
Returns:
the corresponding resolution of cube data

fromCubeResolutionToLevel

public static byte fromCubeResolutionToLevel(short cubeResolution)
This method maps a resolution to a "level". Someday we'll get rid of this level crap. Called from BinaryCubeReader.java and FileHandler.java

Parameters:
cubeResolution - a resolution of data

fromFloatResolutionToLevel

public static byte fromFloatResolutionToLevel(short floatResolution)
This method maps a float data set resolution to a "level". Someday we'll get rid of this level crap. Called from FromFloatToCube.java

Parameters:
floatResolution - a resolution of float data set

fromLevelToCubeResolution

public static short fromLevelToCubeResolution(byte level)
This is called from IsoSurfaceAdaptive.addAdaptiveNode() It is a sad consequence of the "level" terminology, which hopefully Bob will purge from the code someday

IsoSurface Rendering of an AR Representation