org.jmol.jvxl.calc
Class MarchingSquares

java.lang.Object
  extended by org.jmol.jvxl.calc.MarchingSquares

public class MarchingSquares
extends Object


Nested Class Summary
private static class MarchingSquares.ContourVertex
           
private  class MarchingSquares.Triangle
           
 
Field Summary
static int CONTOUR_POINT
           
private  boolean contourFromZero
           
(package private)  float contourPlaneMaximumValue
           
(package private)  float contourPlaneMinimumValue
           
private  float[] contoursDiscrete
           
private  int contourType
           
private  float[] contourValuesUsed
           
 int contourVertexCount
           
(package private)  MarchingSquares.ContourVertex[] contourVertexes
           
static int defaultContourCount
           
static int EDGE_POINT
           
(package private)  Hashtable htPts
           
private static int nContourMax
           
private  int nContourSegments
           
(package private)  Point3f pointA
           
(package private)  Point3f pointB
           
(package private)  Point3f ptTemp
           
(package private)  VertexDataServer surfaceReader
           
(package private)  int thisContour
           
private  int triangleCount
           
private  MarchingSquares.Triangle[] triangles
           
private  float valueMax
           
private  float valueMin
           
static int VERTEX_POINT
           
(package private)  VolumeData volumeData
           
 
Constructor Summary
MarchingSquares(VertexDataServer surfaceReader, VolumeData volumeData, Point4f thePlane, float[] contoursDiscrete, int nContours, int thisContour, boolean contourFromZero)
           
 
Method Summary
private  void addAllTriangles()
           
 int addContourVertex(int x, int y, int z, Point3i offsets, Point3f vertexXYZ, float value)
           
 int addTriangle(int iA, int iB, int iC, int check, int check2)
           
(package private)  float calcContourPoint(float cutoff, float valueA, float valueB, Point3f pt)
           
private  boolean createContours(float min, float max, float zeroOffset)
           
 int generateContourData(boolean haveData, float zeroOffset)
           
 int getContourType()
           
 float[] getContourValues()
           
 float[] getMinMax()
           
private  void getVertexValues(boolean haveData)
           
 void setContourData(int i, float value)
           
 void setMinMax(float valueMin, float valueMax)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONTOUR_POINT

public static final int CONTOUR_POINT
See Also:
Constant Field Values

VERTEX_POINT

public static final int VERTEX_POINT
See Also:
Constant Field Values

EDGE_POINT

public static final int EDGE_POINT
See Also:
Constant Field Values

surfaceReader

VertexDataServer surfaceReader

volumeData

VolumeData volumeData

nContourMax

private static final int nContourMax
See Also:
Constant Field Values

defaultContourCount

public static final int defaultContourCount
See Also:
Constant Field Values

nContourSegments

private int nContourSegments

contourType

private int contourType

thisContour

int thisContour

valueMin

private float valueMin

valueMax

private float valueMax

pointA

final Point3f pointA

pointB

final Point3f pointB

contourFromZero

private boolean contourFromZero

contoursDiscrete

private float[] contoursDiscrete

contourVertexCount

public int contourVertexCount

contourVertexes

MarchingSquares.ContourVertex[] contourVertexes

contourPlaneMinimumValue

float contourPlaneMinimumValue

contourPlaneMaximumValue

float contourPlaneMaximumValue

contourValuesUsed

private float[] contourValuesUsed

ptTemp

final Point3f ptTemp

triangleCount

private int triangleCount

triangles

private MarchingSquares.Triangle[] triangles

htPts

Hashtable htPts
Constructor Detail

MarchingSquares

public MarchingSquares(VertexDataServer surfaceReader,
                       VolumeData volumeData,
                       Point4f thePlane,
                       float[] contoursDiscrete,
                       int nContours,
                       int thisContour,
                       boolean contourFromZero)
Parameters:
surfaceReader -
volumeData -
thePlane - NOT USED
contoursDiscrete -
nContours -
thisContour -
contourFromZero -
Method Detail

getContourType

public int getContourType()

setMinMax

public void setMinMax(float valueMin,
                      float valueMax)

addContourVertex

public int addContourVertex(int x,
                            int y,
                            int z,
                            Point3i offsets,
                            Point3f vertexXYZ,
                            float value)

setContourData

public void setContourData(int i,
                           float value)

getContourValues

public float[] getContourValues()

calcContourPoint

float calcContourPoint(float cutoff,
                       float valueA,
                       float valueB,
                       Point3f pt)

addTriangle

public int addTriangle(int iA,
                       int iB,
                       int iC,
                       int check,
                       int check2)
Parameters:
iA -
iB -
iC -
check -
check2 -
Returns:
0

generateContourData

public int generateContourData(boolean haveData,
                               float zeroOffset)

getVertexValues

private void getVertexValues(boolean haveData)

createContours

private boolean createContours(float min,
                               float max,
                               float zeroOffset)

getMinMax

public float[] getMinMax()

addAllTriangles

private void addAllTriangles()