public class IsosurfaceMesh extends Mesh
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.Integer,java.lang.Integer> |
assocGridPointMap |
private java.util.Map<java.lang.Integer,javax.vecmath.Vector3f> |
assocGridPointNormals |
(package private) java.util.BitSet |
bsVdw |
(package private) java.lang.Object |
calculatedArea |
(package private) java.lang.Object |
calculatedVolume |
(package private) javax.vecmath.Point3f[] |
centers |
(package private) ColorEncoder |
colorEncoder |
boolean |
colorPhased |
(package private) short[] |
contourColixes |
(package private) float[] |
contourValues |
(package private) int |
dataType |
(package private) int |
firstRealVertex |
(package private) boolean |
hasGridPoints |
(package private) java.lang.Object |
info |
(package private) JvxlData |
jvxlData |
private int |
mergeAssociatedNormalCount |
(package private) int |
vertexIncrement |
(package private) float |
volumeRenderPointSize |
atomIndex, cappingObject, checkByteCount, color, colorCommand, colorDensity, connections, diameter, drawTriangles, fillTriangles, frontOnly, havePlanarContours, haveXyPoints, index, insideOut, isTwoSided, isValid, lattice, lighting, lineData, linkedMesh, meshColix, modelIndex, normixes, PREVIOUS_MESH_ID, ptCenter, recalcAltVertices, scale, scale3d, scriptCommand, showContourLines, showPoints, showTriangles, slabbingObject, thisID, title, unitCell, vAB, vAC, vertexColorMap, visibilityFlags, visible, vTemp, width, xmlProperties
altVertices, bsDisplay, bsPolygons, bsSlabDisplay, bsSlabGhost, colix, haveQuads, iA, iB, iC, isColorSolid, isMerged, isTriangleSet, mat4, mergePolygonCount0, mergeVertexCount0, meshType, normalCount, normals, normalsTemp, normixCount, nSets, offset, polygonColixes, polygonCount, polygonCount0, polygonIndexes, SEED_COUNT, slabColix, slabMeshType, slabOptions, spanningVectors, surfaceSet, vertexColixes, vertexCount, vertexCount0, vertexSets, vertexSource, vertexValues, vertices
Constructor and Description |
---|
IsosurfaceMesh(java.lang.String thisID,
Graphics3D g3d,
short colix,
int index) |
Modifier and Type | Method and Description |
---|---|
private static void |
addColorToMap(java.util.Map<java.lang.String,java.util.BitSet> colorMap,
java.lang.String color,
java.util.BitSet bs)
adds a set of specifically-colored vertices to the map,
ensuring that no vertex is in two maps.
|
static void |
addContourPoints(java.util.List<java.lang.Object> v,
java.util.BitSet bsContour,
int i,
java.lang.StringBuffer fData,
javax.vecmath.Point3f[] vertices,
float[] vertexValues,
int iA,
int iB,
int iC,
float value) |
(package private) int |
addVertexCopy(javax.vecmath.Point3f vertex,
float value,
int assocVertex,
boolean associateNormals) |
(package private) void |
allocVertexColixes() |
private static float |
checkPt(float[] vertexValues,
int i,
int j,
float v)
two values -- v1, and v2, which need not be ordered v1 < v2.
|
(package private) void |
clear(java.lang.String meshType,
boolean iAddGridPoints) |
(package private) void |
colorAtoms(short colix,
java.util.BitSet bs)
color a specific set of vertices based on a set of atoms
|
(package private) void |
colorVertices(short colix,
java.util.BitSet bs)
color a specific set of vertices
|
private void |
colorVertices(short colix,
java.util.BitSet bs,
boolean isAtoms)
color a specific set of vertices a specific color
|
(package private) void |
deleteContours() |
private void |
get3dContour(java.util.List<java.lang.Object> v,
float value,
short colix) |
javax.vecmath.Point3f[] |
getBoundingBox() |
(package private) javax.vecmath.Point3f[] |
getCenters() |
(package private) java.util.Map<java.lang.String,java.lang.Object> |
getContourList(Viewer viewer) |
private static javax.vecmath.Point3f |
getContourPoint(javax.vecmath.Point3f[] vertices,
int i,
int j,
float f) |
(package private) java.util.List<java.lang.Object>[] |
getContours()
create a set of contour data.
|
(package private) javax.vecmath.Point4f |
getFacePlane(int i,
javax.vecmath.Vector3f vNorm) |
protected float |
getMinDistanceForVertexGrouping() |
SymmetryInterface |
getUnitCell() |
java.util.BitSet |
getVisibleVertexBitSet() |
protected void |
merge(MeshData m) |
private static int |
mergePolygons(MeshSurface m,
int ipt,
int vertexCount,
int[][] newPolygons) |
void |
reinitializeLightingAndColor() |
(package private) void |
remapColors(ColorEncoder ce,
float translucentLevel)
remaps colors based on a new color scheme or translucency level
|
private void |
resetBoundingBox() |
(package private) void |
setColorCommand()
just sets the color command for this isosurface.
|
(package private) void |
setColorsFromJvxlData(int colorRgb)
from Isosurface.notifySurfaceGenerationCompleted()
starting with Jmol 12.1.50, JVXL files contain color, translucency, color
scheme information, and vertex color mappings (as from COLOR ISOSURFACE
{hydrophobic} WHITE), returning these settings when the JVXL file is
opened.
|
static void |
setContourVector(java.util.List<java.lang.Object> v,
int nPolygons,
java.util.BitSet bsContour,
float value,
short colix,
int color,
java.lang.StringBuffer fData) |
void |
setDiscreteColixes(float[] values,
short[] colixes) |
(package private) void |
setJvxlColorMap(boolean isAll)
set up the jvxlData fields needed for either just the
header (isAll = false) or the full file (isAll = true)
|
(package private) void |
setJvxlDataRendering() |
void |
setMerged(boolean TF) |
void |
setTranslucent(boolean isTranslucent,
float iLevel) |
protected void |
slabBrillouin(javax.vecmath.Point3f[] unitCellPoints)
"slabs" an isosurface into the first Brillouin zone moving points as
necessary.
|
protected void |
sumVertexNormals(javax.vecmath.Point3f[] vertices,
javax.vecmath.Vector3f[] vectorSums) |
void |
updateCoordinates(javax.vecmath.Matrix4f m,
java.util.BitSet bs)
bs will be null if this is a set from the new isosurface MOVE [mat4] command
|
checkWithin, clear, getNormals, getNormalsTemp, getOffsetVertices, getRendering, getState, getVertexIndexFromNumber, initialize, rotateTranslate, setLighting, setNormixes, setShowWithin, setTokenProperty, setVisibilityFlags
addIntersectionVertex, addPolygon, addQuad, addTriangle, addTriangleCheck, addVertexCopy, addVertexCopy, addVertexCopy, getCapSlabObject, getFaces, getIntersection, getSlabColor, getSlabObject, getSlabTranslucency, getSlabType, getSlabWithinRange, getSphericalInterpolationFraction, getVertices, invalidatePolygons, resetSlab, setABC, setColix, setPolygonCount, setSlab, slabPolygons, slabPolygons
JvxlData jvxlData
int vertexIncrement
int firstRealVertex
int dataType
boolean hasGridPoints
java.lang.Object calculatedArea
java.lang.Object calculatedVolume
java.lang.Object info
private java.util.Map<java.lang.Integer,java.lang.Integer> assocGridPointMap
private java.util.Map<java.lang.Integer,javax.vecmath.Vector3f> assocGridPointNormals
private int mergeAssociatedNormalCount
javax.vecmath.Point3f[] centers
float[] contourValues
short[] contourColixes
ColorEncoder colorEncoder
float volumeRenderPointSize
java.util.BitSet bsVdw
public boolean colorPhased
IsosurfaceMesh(java.lang.String thisID, Graphics3D g3d, short colix, int index)
void clear(java.lang.String meshType, boolean iAddGridPoints)
void allocVertexColixes()
int addVertexCopy(javax.vecmath.Point3f vertex, float value, int assocVertex, boolean associateNormals)
public void setTranslucent(boolean isTranslucent, float iLevel)
setTranslucent
in class Mesh
public void setMerged(boolean TF)
protected void sumVertexNormals(javax.vecmath.Point3f[] vertices, javax.vecmath.Vector3f[] vectorSums)
sumVertexNormals
in class Mesh
javax.vecmath.Point3f[] getCenters()
javax.vecmath.Point4f getFacePlane(int i, javax.vecmath.Vector3f vNorm)
java.util.List<java.lang.Object>[] getContours()
private void get3dContour(java.util.List<java.lang.Object> v, float value, short colix)
public static void setContourVector(java.util.List<java.lang.Object> v, int nPolygons, java.util.BitSet bsContour, float value, short colix, int color, java.lang.StringBuffer fData)
public static void addContourPoints(java.util.List<java.lang.Object> v, java.util.BitSet bsContour, int i, java.lang.StringBuffer fData, javax.vecmath.Point3f[] vertices, float[] vertexValues, int iA, int iB, int iC, float value)
private static float checkPt(float[] vertexValues, int i, int j, float v)
vertexValues
- i
- j
- v
- private static javax.vecmath.Point3f getContourPoint(javax.vecmath.Point3f[] vertices, int i, int j, float f)
public void setDiscreteColixes(float[] values, short[] colixes)
java.util.Map<java.lang.String,java.lang.Object> getContourList(Viewer viewer)
viewer
- void deleteContours()
void colorAtoms(short colix, java.util.BitSet bs)
colix
- bs
- void colorVertices(short colix, java.util.BitSet bs)
colix
- bs
- private void colorVertices(short colix, java.util.BitSet bs, boolean isAtoms)
colix
- bs
- isAtoms
- private static void addColorToMap(java.util.Map<java.lang.String,java.util.BitSet> colorMap, java.lang.String color, java.util.BitSet bs)
colorMap
- color
- bs
- void setJvxlColorMap(boolean isAll)
isAll
- void setColorCommand()
void setColorsFromJvxlData(int colorRgb)
colorRgb
- void setJvxlDataRendering()
void remapColors(ColorEncoder ce, float translucentLevel)
ce
- translucentLevel
- public void reinitializeLightingAndColor()
public javax.vecmath.Point3f[] getBoundingBox()
getBoundingBox
in class Mesh
private void resetBoundingBox()
protected void merge(MeshData m)
private static int mergePolygons(MeshSurface m, int ipt, int vertexCount, int[][] newPolygons)
public SymmetryInterface getUnitCell()
getUnitCell
in class Mesh
protected void slabBrillouin(javax.vecmath.Point3f[] unitCellPoints)
slabBrillouin
in class MeshSurface
protected float getMinDistanceForVertexGrouping()
getMinDistanceForVertexGrouping
in class Mesh
public java.util.BitSet getVisibleVertexBitSet()
getVisibleVertexBitSet
in class Mesh
public void updateCoordinates(javax.vecmath.Matrix4f m, java.util.BitSet bs)
m
- bs
-