Package org.jmol.util
Class MeshSurface
- java.lang.Object
-
- org.jmol.util.MeshSurface
-
-
Field Summary
Fields Modifier and Type Field Description javajs.util.T3[]altVerticesBSbsDisplayBSbsPolygonsBSbsSlabDisplayBSbsSlabGhostshortcolixshortcolixBackbooleancolorsExplicitbooleandataOnlybooleanhaveQuadsprotected intiAprotected intiBprotected intiCbooleanisColorSolidbooleanisDrawPolygonbooleanisMergedprivate shortlastColixprivate intlastColorjavajs.util.M4mat4intmergePolygonCount0intmergeVertexCount0java.lang.StringmeshTypeintnormalCountjavajs.util.T3[]normalsjavajs.util.V3[]normalsTempintnormixCountintnSetsjavajs.util.P3offsetstatic intP_CHECKstatic intP_CONTOURstatic intP_EXPLICIT_COLORintpcpolygon countshort[]pcspolygon color index "colix" arrayint[][]pispolygon indexesintpolygonCount0protected static intSEED_COUNTshortslabColixintslabMeshTypejavajs.util.SBslabOptionsprivate MeshSlicerslicerjavajs.util.V3[]spanningVectorsBSsurfaceAtomsBS[]surfaceSetintvcvertex countshort[]vcsvertex color index "colix" arrayintvertexCount0int[]vertexSetsint[]vertexSourcejavajs.util.T3[]vsverticesfloat[]vvsvertex valuesprotected Viewervwr
-
Constructor Summary
Constructors Constructor Description MeshSurface()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intaddPolygon(int[] polygon, BS bs)protected intaddPolygonC(int[] polygon, int color, BS bs, boolean isExplicit)(package private) intaddPolygonV3(int vertexA, int vertexB, int vertexC, int check, int iContour, int color, BS bs)voidaddQuad(int vertexA, int vertexB, int vertexC, int vertexD)voidaddTriangle(int vertexA, int vertexB, int vertexC)intaddTriangleCheck(int vertexA, int vertexB, int vertexC, int check, int iContour, int color)intaddV(javajs.util.T3 vertex, boolean asCopy)intaddVCVal(javajs.util.T3 vertex, float value, boolean asCopy)int[][]getFaces()MeshSlicergetMeshSlicer()floatgetResolution()java.lang.StringgetSlabColor()java.lang.StringgetSlabType()static MeshSurfacegetSphereData(int lvl)Calculates the data (faces, vertices, normals) for a sphere.static floatgetSphericalInterpolationFraction(double r, double valueA, double valueB, double d)javajs.util.T3[]getVertices()voidinvalidatePolygons()static MeshSurfacenewMesh(boolean isAlt, javajs.util.T3[] vertices, int vertexCount, int[][] polygonIndexes, javajs.util.T3[] normals, int nNormals)voidresetSlab()protected int[]setABC(int i)voidsetBoundingBox(javajs.util.P3[] boundBoxPoints)voidsetBox(javajs.util.P3 xyzMin, javajs.util.P3 xyzMax)voidsetColix(short colix)voidsetColixBack(short colix)voidsetPolygonCount(int polygonCount)voidsetTranslucentVertices(BS bsVertices)Must create bsTransPolygons, polygonTranslucencies, and new triangle set for partially translucent polygonsprotected voidslabBrillouin(javajs.util.P3[] unitCellVectors)voidslabPolygonsList(javajs.util.Lst<java.lang.Object[]> slabInfo, boolean allowCap)
-
-
-
Field Detail
-
SEED_COUNT
protected static final int SEED_COUNT
- See Also:
- Constant Field Values
-
P_CHECK
public static final int P_CHECK
- See Also:
- Constant Field Values
-
P_CONTOUR
public static final int P_CONTOUR
- See Also:
- Constant Field Values
-
P_EXPLICIT_COLOR
public static final int P_EXPLICIT_COLOR
- See Also:
- Constant Field Values
-
vwr
protected Viewer vwr
-
slicer
private MeshSlicer slicer
-
spanningVectors
public javajs.util.V3[] spanningVectors
-
meshType
public java.lang.String meshType
-
vc
public int vc
vertex count
-
vs
public javajs.util.T3[] vs
vertices
-
vvs
public float[] vvs
vertex values
-
vertexSource
public int[] vertexSource
-
surfaceAtoms
public BS surfaceAtoms
-
pc
public int pc
polygon count
-
pis
public int[][] pis
polygon indexes
-
colorsExplicit
public boolean colorsExplicit
-
isDrawPolygon
public boolean isDrawPolygon
-
haveQuads
public boolean haveQuads
-
colix
public short colix
-
colixBack
public short colixBack
-
isColorSolid
public boolean isColorSolid
-
offset
public javajs.util.P3 offset
-
altVertices
public javajs.util.T3[] altVertices
-
pcs
public short[] pcs
polygon color index "colix" array
-
vcs
public short[] vcs
vertex color index "colix" array
-
normals
public javajs.util.T3[] normals
-
normalsTemp
public javajs.util.V3[] normalsTemp
-
normalCount
public int normalCount
-
normixCount
public int normixCount
-
bsPolygons
public BS bsPolygons
-
mat4
public javajs.util.M4 mat4
-
surfaceSet
public BS[] surfaceSet
-
vertexSets
public int[] vertexSets
-
nSets
public int nSets
-
dataOnly
public boolean dataOnly
-
lastColor
private int lastColor
-
lastColix
private short lastColix
-
iA
protected int iA
-
iB
protected int iB
-
iC
protected int iC
-
polygonCount0
public int polygonCount0
-
vertexCount0
public int vertexCount0
-
bsSlabDisplay
public BS bsSlabDisplay
-
bsSlabGhost
public BS bsSlabGhost
-
slabMeshType
public int slabMeshType
-
slabColix
public short slabColix
-
bsDisplay
public BS bsDisplay
-
slabOptions
public javajs.util.SB slabOptions
-
mergeVertexCount0
public int mergeVertexCount0
-
mergePolygonCount0
public int mergePolygonCount0
-
isMerged
public boolean isMerged
-
-
Method Detail
-
getMeshSlicer
public MeshSlicer getMeshSlicer()
-
newMesh
public static MeshSurface newMesh(boolean isAlt, javajs.util.T3[] vertices, int vertexCount, int[][] polygonIndexes, javajs.util.T3[] normals, int nNormals)
-
getVertices
public javajs.util.T3[] getVertices()
- Returns:
- The vertices.
-
getFaces
public int[][] getFaces()
- Returns:
- faces, if defined (in exporter), otherwise polygonIndexes
-
setColix
public void setColix(short colix)
-
setColixBack
public void setColixBack(short colix)
-
addV
public int addV(javajs.util.T3 vertex, boolean asCopy)
-
addTriangle
public void addTriangle(int vertexA, int vertexB, int vertexC)
-
addQuad
public void addQuad(int vertexA, int vertexB, int vertexC, int vertexD)
-
setPolygonCount
public void setPolygonCount(int polygonCount)
-
addVCVal
public int addVCVal(javajs.util.T3 vertex, float value, boolean asCopy)
-
addTriangleCheck
public int addTriangleCheck(int vertexA, int vertexB, int vertexC, int check, int iContour, int color)
-
addPolygonV3
int addPolygonV3(int vertexA, int vertexB, int vertexC, int check, int iContour, int color, BS bs)
-
addPolygonC
protected int addPolygonC(int[] polygon, int color, BS bs, boolean isExplicit)
-
addPolygon
public int addPolygon(int[] polygon, BS bs)
-
invalidatePolygons
public void invalidatePolygons()
-
setABC
protected int[] setABC(int i)
-
setTranslucentVertices
public void setTranslucentVertices(BS bsVertices)
Must create bsTransPolygons, polygonTranslucencies, and new triangle set for partially translucent polygons- Parameters:
bsVertices-
-
getSlabColor
public java.lang.String getSlabColor()
-
getSlabType
public java.lang.String getSlabType()
-
resetSlab
public void resetSlab()
-
slabPolygonsList
public void slabPolygonsList(javajs.util.Lst<java.lang.Object[]> slabInfo, boolean allowCap)
-
slabBrillouin
protected void slabBrillouin(javajs.util.P3[] unitCellVectors)
- Parameters:
unitCellVectors-
-
getResolution
public float getResolution()
-
getSphereData
public static MeshSurface getSphereData(int lvl)
Calculates the data (faces, vertices, normals) for a sphere.- Parameters:
lvl-- Returns:
- The data.
-
setBox
public void setBox(javajs.util.P3 xyzMin, javajs.util.P3 xyzMax)
-
setBoundingBox
public void setBoundingBox(javajs.util.P3[] boundBoxPoints)
- Parameters:
boundBoxPoints-
-
getSphericalInterpolationFraction
public static float getSphericalInterpolationFraction(double r, double valueA, double valueB, double d)
-
-