|
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.IsoYvertex
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 short |
ycoordinate
need 1 higher precision coord than cube |
private byte |
zcoordinate
|
| Fields inherited from class rlaramee.TriangleVertex |
error, resolution |
| Constructor Summary | |
IsoYvertex(float[] coordinates,
byte edge)
Use 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 short ycoordinate
private byte zcoordinate
| Constructor Detail |
public IsoYvertex(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 on| Method 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 TriangleVertexpublic float getYcoord()
TriangleVertexgetYcoord in class TriangleVertexpublic float getZcoord()
TriangleVertexgetZcoord in class TriangleVertexpublic float[] getCoords()
public void setXcoord(float newX)
setXcoord in class TriangleVertexnewX - the x coordinate of this vertexpublic void setYcoord(float newY)
TriangleVertexsetYcoord in class TriangleVertexnewY - the y coordinate of this vertexpublic void setZcoord(float newZ)
TriangleVertexsetZcoord in class TriangleVertexnewZ - the z coordinate of this vertexpublic java.lang.String toString(Cube cube)
toString in class TriangleVertexcube - 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 | |||||||