org.jmol.shapesurface
Class IsosurfaceMesh

java.lang.Object
  extended by org.jmol.shape.Mesh
      extended by org.jmol.shapesurface.IsosurfaceMesh

public class IsosurfaceMesh
extends Mesh


Field Summary
(package private)  java.util.Hashtable assocGridPointMap
           
(package private)  java.util.Hashtable assocGridPointNormals
           
(package private)  java.lang.Object calculatedArea
           
(package private)  java.lang.Object calculatedVolume
           
(package private)  javax.vecmath.Point3f[] centers
           
static int CONTOUR_BITSET
           
static int CONTOUR_COLOR
           
static int CONTOUR_FDATA
           
static int CONTOUR_NPOLYGONS
           
static int CONTOUR_POINTS
           
static int CONTOUR_VALUE
           
(package private)  int dataType
           
(package private)  int firstRealVertex
           
(package private)  boolean hasGridPoints
           
private  int iA
           
private  int iB
           
private  int iC
           
 boolean isSolvent
           
(package private)  JvxlData jvxlData
           
private  short lastColix
           
private  int lastColor
           
(package private)  int nSets
           
 short[] polygonColixes
           
(package private)  java.util.BitSet[] surfaceSet
           
(package private)  int thisSet
           
 short[] vertexColixes
           
(package private)  int vertexIncrement
           
(package private)  int[] vertexSets
           
 float[] vertexValues
           
 
Fields inherited from class org.jmol.shape.Mesh
atomIndex, bitsets, colix, colorCommand, data1, data2, diameter, drawTriangles, fillTriangles, frontOnly, haveCheckByte, havePlanarContours, haveXyPoints, index, insideOut, isColorSolid, isTwoSided, isValid, lighting, linkedMesh, meshType, modelIndex, normixes, polygonCount, polygonIndexes, PREVIOUS_MESH_ID, ptCenter, scale, scriptCommand, SEED_COUNT, showContourLines, showPoints, showTriangles, thisID, title, vAB, vAC, vertexCount, vertices, visibilityFlags, visible, vTemp, width
 
Constructor Summary
IsosurfaceMesh(java.lang.String thisID, Graphics3D g3d, short colix, int index)
           
 
Method Summary
(package private)  void addTriangleCheck(int vertexA, int vertexB, int vertexC, int check, int color)
           
(package private)  int addVertexCopy(javax.vecmath.Point3f vertex, float value)
           
(package private)  int addVertexCopy(javax.vecmath.Point3f vertex, float value, int assocVertex, boolean associateNormals)
           
(package private)  void allocVertexColixes()
           
(package private)  java.lang.Object calculateArea()
           
(package private)  java.lang.Object calculateVolume()
           
private  float checkPt(int i, int j, float f)
           
(package private)  void clear(java.lang.String meshType, boolean iAddGridPoints)
           
private  void dumpData()
           
private  void get3dContour(java.util.Vector v, float value, int color)
           
(package private)  javax.vecmath.Point3f[] getCenters()
           
static javax.vecmath.Point3f getContourPoint(javax.vecmath.Point3f[] vertices, int i, int j, float f)
           
(package private)  java.util.Vector[] getContours()
          create a set of contour data.
(package private)  javax.vecmath.Point4f getFacePlane(int i, javax.vecmath.Vector3f vNorm)
           
(package private)  void invalidateTriangles()
           
private  boolean setABC(int i)
           
static void setContourVector(java.util.Vector v, int nPolygons, java.util.BitSet bsContour, float value, int color, java.lang.StringBuffer fData)
           
 void setTranslucent(boolean isTranslucent, float iLevel)
           
 void sumVertexNormals(javax.vecmath.Vector3f[] vectorSums)
           
 
Methods inherited from class org.jmol.shape.Mesh
addQuad, addTriangle, addVertexCopy, clear, getState, getVertexNormals, initialize, initializeNormixes, setColix, setLighting, setPolygonCount, setVisibilityFlags
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

jvxlData

JvxlData jvxlData

vertexIncrement

int vertexIncrement

firstRealVertex

int firstRealVertex

dataType

int dataType

hasGridPoints

boolean hasGridPoints

calculatedArea

java.lang.Object calculatedArea

calculatedVolume

java.lang.Object calculatedVolume

isSolvent

public boolean isSolvent

vertexValues

public float[] vertexValues

vertexColixes

public short[] vertexColixes

assocGridPointMap

java.util.Hashtable assocGridPointMap

assocGridPointNormals

java.util.Hashtable assocGridPointNormals

polygonColixes

public short[] polygonColixes

lastColor

private int lastColor

lastColix

private short lastColix

iA

private int iA

iB

private int iB

iC

private int iC

surfaceSet

java.util.BitSet[] surfaceSet

vertexSets

int[] vertexSets

nSets

int nSets

thisSet

int thisSet

centers

javax.vecmath.Point3f[] centers

CONTOUR_NPOLYGONS

public static final int CONTOUR_NPOLYGONS
See Also:
Constant Field Values

CONTOUR_BITSET

public static final int CONTOUR_BITSET
See Also:
Constant Field Values

CONTOUR_VALUE

public static final int CONTOUR_VALUE
See Also:
Constant Field Values

CONTOUR_COLOR

public static final int CONTOUR_COLOR
See Also:
Constant Field Values

CONTOUR_FDATA

public static final int CONTOUR_FDATA
See Also:
Constant Field Values

CONTOUR_POINTS

public static final int CONTOUR_POINTS
See Also:
Constant Field Values
Constructor Detail

IsosurfaceMesh

IsosurfaceMesh(java.lang.String thisID,
               Graphics3D g3d,
               short colix,
               int index)
Method Detail

clear

void clear(java.lang.String meshType,
           boolean iAddGridPoints)

allocVertexColixes

void allocVertexColixes()

addVertexCopy

int addVertexCopy(javax.vecmath.Point3f vertex,
                  float value,
                  int assocVertex,
                  boolean associateNormals)

addVertexCopy

int addVertexCopy(javax.vecmath.Point3f vertex,
                  float value)

setTranslucent

public void setTranslucent(boolean isTranslucent,
                           float iLevel)
Overrides:
setTranslucent in class Mesh

addTriangleCheck

void addTriangleCheck(int vertexA,
                      int vertexB,
                      int vertexC,
                      int check,
                      int color)

invalidateTriangles

void invalidateTriangles()

setABC

private boolean setABC(int i)

calculateArea

java.lang.Object calculateArea()

calculateVolume

java.lang.Object calculateVolume()

sumVertexNormals

public void sumVertexNormals(javax.vecmath.Vector3f[] vectorSums)
Overrides:
sumVertexNormals in class Mesh

getCenters

javax.vecmath.Point3f[] getCenters()

getFacePlane

javax.vecmath.Point4f getFacePlane(int i,
                                   javax.vecmath.Vector3f vNorm)

getContours

java.util.Vector[] getContours()
create a set of contour data. Each contour is a Vector containing: 0 Integer number of polygons (length of BitSet) 1 BitSet of critical triangles 2 Float value 3 int[] [colorArgb] 4 StringBuffer containing encoded data for each segment: char type ('3', '6', '5') indicating which two edges of the triangle are connected: '3' 0x011 AB-BC '5' 0x101 AB-CA '6' 0x110 BC-CA char fraction along first edge (jvxlFractionToCharacter) char fraction along second edge (jvxlFractionToCharacter) 5- stream of pairs of points for rendering

Returns:
contour vector set

setContourVector

public static void setContourVector(java.util.Vector v,
                                    int nPolygons,
                                    java.util.BitSet bsContour,
                                    float value,
                                    int color,
                                    java.lang.StringBuffer fData)

get3dContour

private void get3dContour(java.util.Vector v,
                          float value,
                          int color)

checkPt

private float checkPt(int i,
                      int j,
                      float f)

getContourPoint

public static javax.vecmath.Point3f getContourPoint(javax.vecmath.Point3f[] vertices,
                                                    int i,
                                                    int j,
                                                    float f)

dumpData

private void dumpData()