|
IsoSurface Rendering of an AR Representation | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--rlaramee.Vertex | +--rlaramee.TriangleVertex | +--rlaramee.IsoZvertex
Description: The idea behind IsoXvertex , IsoYvertex , and IsoZvertex is to save memory. Marching Cubes generates interpolated vertices. Of the x,y,z coordinates of a vertex, only 1 dimension is interpolated. That is, we only interpolate along 1 axis either x,y,z. That being the case, we only need 1 higher precision coordinate. The other 2 can be stored using only a byte value since these other 2 are still the same as the cube coordinates from which the new interpolated vertex is derived. And cube vertices range only from 0-128 so they are stored as byte values (a byte values range is from -128 to 127 inclusive)
start date Wed 12 Apr 2000
Field Summary | |
private byte |
xcoordinate
|
private byte |
ycoordinate
|
private short |
zcoordinate
need 1 higher precision coord than cube |
Fields inherited from class rlaramee.TriangleVertex |
error, resolution |
Constructor Summary | |
IsoZvertex(float[] coordinates,
byte edge)
This constructor when deriving a new cube. |
Method Summary | |
float[] |
getCoords()
|
float |
getXcoord()
get() methods |
float |
getYcoord()
This method must be over-ridden by IsoXvertex, IsoYvertex, and IsoZvertex. |
float |
getZcoord()
This method must be over-ridden by IsoXvertex, IsoYvertex, and IsoZvertex. |
void |
setXcoord(float newX)
set() methods |
void |
setYcoord(float newY)
This method must be over-ridden by IsoXvertex, IsoYvertex, and IsoZvertex. |
void |
setZcoord(float newZ)
This method must be over-ridden by IsoXvertex, IsoYvertex, and IsoZvertex. |
java.lang.String |
toString(Cube cube)
|
Methods inherited from class rlaramee.TriangleVertex |
fromBlockSpaceToVisAD, getError, getNativeEdge, getNumSharedPolygons, getPolygonList, getResolution, isValid, oldSetPolygonList, onFace, setError, setNativeEdge, setNumSharedPolygons, setPolygonList, setResolution, sharedXaxis, sharedYaxis, sharedZaxis, updateWith |
Methods inherited from class rlaramee.Vertex |
isEqual |
Methods inherited from class java.lang.Object |
|
Field Detail |
private byte xcoordinate
private byte ycoordinate
private short zcoordinate
Constructor Detail |
public IsoZvertex(float[] coordinates, byte edge)
The vertices do not need to be transformed since they are interpolated from cube vertices that have already been transformed.
coordinates
- the x, y, and z coordinates of this TriangleVertexedge
- the cube edge that this vertex lies onMethod Detail |
public float getXcoord()
We multiply the lower precision coordinates which range from 0 to 128 to the lower half of a byte value, -128 to 0. Multiplying by -1 makes for a simple mapping.
getXcoord
in class TriangleVertex
public float getYcoord()
TriangleVertex
getYcoord
in class TriangleVertex
public float getZcoord()
TriangleVertex
getZcoord
in class TriangleVertex
public float[] getCoords()
public void setXcoord(float newX)
setXcoord
in class TriangleVertex
the
- z coordinate of this vertexpublic void setYcoord(float newY)
TriangleVertex
setYcoord
in class TriangleVertex
the
- y coordinate of this vertexpublic void setZcoord(float newZ)
TriangleVertex
setZcoord
in class TriangleVertex
the
- z coordinate of this vertexpublic java.lang.String toString(Cube cube)
toString
in class TriangleVertex
cube
- the cube that contains this triangle vertex w/in it's
volume
|
IsoSurface Rendering of an AR Representation | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |