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,javajs.util.V3> |
assocGridPointNormals |
(package private) BS |
bsVdw |
(package private) java.lang.Object |
calculatedArea |
(package private) java.lang.Object |
calculatedVolume |
(package private) javajs.util.P3[] |
centers |
ColorEncoder |
colorEncoder |
boolean |
colorPhased |
(package private) short[] |
contourColixes |
(package private) float[] |
contourValues |
int |
dataType |
int |
firstRealVertex |
boolean |
hasGridPoints |
(package private) java.lang.Object |
info |
JvxlData |
jvxlData |
private int |
mergeAssociatedNormalCount |
int |
vertexIncrement |
atomIndex, bsTemp, cappingObject, checkByteCount, color, colorCommand, colorDensity, colorType, connections, diameter, drawTriangles, fillTriangles, frontOnly, havePlanarContours, haveXyPoints, index, insideOut, isTwoSided, isValid, lattice, lighting, lineData, linkedMesh, meshColix, modelIndex, normixes, PREVIOUS_MESH_ID, ptCenter, recalcAltVertices, scale3d, scriptCommand, showContourLines, showPoints, showTriangles, slabbingObject, symopColixes, symopNormixes, symops, thisID, title, unitCell, useColix, vAB, vertexColorMap, visibilityFlags, visible, volumeRenderPointSize, vTemp, width
altVertices, bsDisplay, bsPolygons, bsSlabDisplay, bsSlabGhost, colix, colixBack, colorsExplicit, dataOnly, haveQuads, iA, iB, iC, isColorSolid, isMerged, isTriangleSet, mat4, mergePolygonCount0, mergeVertexCount0, meshType, normalCount, normals, normalsTemp, normixCount, nSets, offset, P_CHECK, P_CONTOUR, P_EXPLICIT_COLOR, pc, pcs, pis, polygonCount0, SEED_COUNT, slabColix, slabMeshType, slabOptions, spanningVectors, surfaceSet, vc, vcs, vertexCount0, vertexSets, vertexSource, vs, vvs, vwr
Constructor and Description |
---|
IsosurfaceMesh(Viewer vwr,
java.lang.String thisID,
short colix,
int index) |
Modifier and Type | Method and Description |
---|---|
private static void |
addColorToMap(java.util.Map<java.lang.String,BS> colorMap,
java.lang.String color,
BS bs)
adds a set of specifically-colored vertices to the map,
ensuring that no vertex is in two maps.
|
static void |
addContourPoints(javajs.util.Lst<java.lang.Object> v,
BS bsContour,
int i,
javajs.util.SB fData,
javajs.util.T3[] vertices,
float[] vertexValues,
int iA,
int iB,
int iC,
float value) |
(package private) int |
addVertexCopy(javajs.util.T3 vertex,
float value,
int assocVertex,
boolean associateNormals,
boolean asCopy) |
(package private) void |
allocVertexColixes() |
(package private) void |
checkAllocColixes() |
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 |
clearType(java.lang.String meshType,
boolean iAddGridPoints) |
(package private) void |
colorVertices(short colix,
BS bs,
boolean isAtoms)
color a specific set of vertices a specific color
|
(package private) void |
deleteContours() |
(package private) void |
fixLattice() |
private static void |
get3dContour(IsosurfaceMesh m,
javajs.util.Lst<java.lang.Object> v,
float value,
short colix) |
javajs.util.P3[] |
getBoundingBox() |
(package private) javajs.util.P3[] |
getCenters() |
(package private) java.util.Map<java.lang.String,java.lang.Object> |
getContourList(Viewer vwr) |
private static javajs.util.P3 |
getContourPoint(javajs.util.T3[] vertices,
int i,
int j,
float f) |
javajs.util.Lst<java.lang.Object>[] |
getContours()
create a set of contour data.
|
protected float |
getMinDistance2ForVertexGrouping() |
float |
getResolution() |
SymmetryInterface |
getUnitCell() |
BS |
getVisibleVertexBitSet() |
protected void |
merge(MeshData m) |
private static int |
mergePolygons(MeshSurface m,
int ipt,
int vertexCount,
int[][] newPolygons) |
void |
reinitializeLightingAndColor(Viewer vwr) |
(package private) void |
remapColors(Viewer vwr,
ColorEncoder ce,
float translucentLevel)
remaps colors based on a new color scheme or translucency level
|
void |
setBoundingBox(javajs.util.P3[] pts) |
(package private) void |
setColorCommand()
just sets the color command for this isosurface.
|
(package private) boolean |
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(javajs.util.Lst<java.lang.Object> v,
int nPolygons,
BS bsContour,
float value,
short colix,
int color,
javajs.util.SB 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) |
(package private) void |
setVertexColixesForAtoms(Viewer vwr,
short[] colixes,
int[] atomMap,
BS bs) |
(package private) void |
setVertexColorMap() |
protected void |
sumVertexNormals(javajs.util.T3[] vertices,
javajs.util.V3[] vectorSums) |
void |
updateCoordinates(javajs.util.M4 m,
BS bs)
bs will be null if this is a set from the new isosurface MOVE [mat4] command
|
checkWithin, clear, clearMesh, getNormals, getNormalsTemp, getOffsetVertices, getRendering, getState, getVertexIndexFromNumber, getVisibleVBS, initialize, mesh1, rotateTranslate, setLighting, setNormixes, setShowWithin, setTokenProperty, setVisibilityFlags, sumVertexNormals2
addPolygon, addPolygonC, addQuad, addTriangle, addTriangleCheck, addV, addVCVal, getFaces, getMeshSlicer, getSlabColor, getSlabType, getSphereData, getSphericalInterpolationFraction, getVertices, invalidatePolygons, newMesh, resetSlab, setABC, setBox, setColix, setColixBack, setPolygonCount, setTranslucentVertices, slabBrillouin, slabPolygonsList
public JvxlData jvxlData
public int vertexIncrement
public int firstRealVertex
public int dataType
public 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,javajs.util.V3> assocGridPointNormals
private int mergeAssociatedNormalCount
javajs.util.P3[] centers
float[] contourValues
short[] contourColixes
public ColorEncoder colorEncoder
BS bsVdw
public boolean colorPhased
IsosurfaceMesh(Viewer vwr, java.lang.String thisID, short colix, int index)
vwr
- thisID
- colix
- index
- public float getResolution()
getResolution
in class MeshSurface
void clearType(java.lang.String meshType, boolean iAddGridPoints)
void allocVertexColixes()
int addVertexCopy(javajs.util.T3 vertex, float value, int assocVertex, boolean associateNormals, boolean asCopy)
public void setTranslucent(boolean isTranslucent, float iLevel)
setTranslucent
in class Mesh
public void setMerged(boolean TF)
protected void sumVertexNormals(javajs.util.T3[] vertices, javajs.util.V3[] vectorSums)
sumVertexNormals
in class Mesh
javajs.util.P3[] getCenters()
public javajs.util.Lst<java.lang.Object>[] getContours()
private static void get3dContour(IsosurfaceMesh m, javajs.util.Lst<java.lang.Object> v, float value, short colix)
public static void setContourVector(javajs.util.Lst<java.lang.Object> v, int nPolygons, BS bsContour, float value, short colix, int color, javajs.util.SB fData)
public static void addContourPoints(javajs.util.Lst<java.lang.Object> v, BS bsContour, int i, javajs.util.SB fData, javajs.util.T3[] 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 javajs.util.P3 getContourPoint(javajs.util.T3[] 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 vwr)
vwr
- void deleteContours()
void setVertexColorMap()
void setVertexColixesForAtoms(Viewer vwr, short[] colixes, int[] atomMap, BS bs)
void colorVertices(short colix, BS bs, boolean isAtoms)
colix
- bs
- isAtoms
- void checkAllocColixes()
private static void addColorToMap(java.util.Map<java.lang.String,BS> colorMap, java.lang.String color, BS bs)
colorMap
- color
- bs
- void setJvxlColorMap(boolean isAll)
isAll
- void setColorCommand()
boolean setColorsFromJvxlData(int colorRgb)
colorRgb
- void setJvxlDataRendering()
void remapColors(Viewer vwr, ColorEncoder ce, float translucentLevel)
vwr
- ce
- translucentLevel
- public void reinitializeLightingAndColor(Viewer vwr)
public javajs.util.P3[] getBoundingBox()
getBoundingBox
in class Mesh
public void setBoundingBox(javajs.util.P3[] pts)
setBoundingBox
in class MeshSurface
protected void merge(MeshData m)
private static int mergePolygons(MeshSurface m, int ipt, int vertexCount, int[][] newPolygons)
public SymmetryInterface getUnitCell()
getUnitCell
in class Mesh
void fixLattice()
protected float getMinDistance2ForVertexGrouping()
getMinDistance2ForVertexGrouping
in class Mesh
public BS getVisibleVertexBitSet()
getVisibleVertexBitSet
in class Mesh
public void updateCoordinates(javajs.util.M4 m, BS bs)
m
- bs
-