Package org.jmol.export
Class JSExporter
java.lang.Object
org.jmol.export.___Exporter
org.jmol.export.__CartesianExporter
org.jmol.export.JSExporter
A class to output WebGL graphics.
Only minimally fleshed out. No text, for instance.
This class demonstrates a way of interacting with JavaScript
that other classes in Jmol do not use. The methods here that start
with "js" -- jsInitExport, jsEndExport, etc., are all implemented
in JSmolGLmol.js -- that is, they are overridden in the JavaScript.
The advantage to this is that this code references just the one
line of JavaScript below, which is a static call and serves
to extend the prototype. extendJSExporter is in JSmolGLmol.js.
-
Field Summary
FieldsFields inherited from class org.jmol.export.__CartesianExporter
canCapCylinders, noColor, sphereMatrix, viewpoint
Fields inherited from class org.jmol.export.___Exporter
apertureAngle, backgroundColix, cameraDistance, cameraPosition, center, commandLineOptions, commentChar, degreesPerRadian, depthZ, export3D, exportScale, exportType, fileName, fixedRotationCenter, gdata, lightSource, lineWidthMad, out, privateKey, referenceCenter, scalePixelsPerAngstrom, screenHeight, screenWidth, slabZ, solidOnly, tempP1, tempP2, tempP3, tempV1, tempV2, tm, vwr
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate Integer
getColor
(short colix) private int[]
getColors
(short[] colixes) private void
jsCylinder
(Object applet, String id, boolean isNew, javajs.util.P3 pt1, javajs.util.P3 pt2, Object[] o) private void
jsEndExport
(Object applet) private void
jsInitExport
(Object applet) private void
protected void
jsSurface
(Object applet, javajs.util.T3[] vertices, javajs.util.T3[] normals, int[][] indices, int nVertices, int nPolygons, int nFaces, javajs.util.BS bsPolygons, int faceVertexMax, int color, int[] vertexColors, int[] polygonColors) (package private) void
jsTriangle
(Object applet, int color, javajs.util.T3 pt1, javajs.util.T3 pt2, javajs.util.T3 pt3) protected void
output
(javajs.util.T3 pt) protected void
outputCircle
(javajs.util.P3 pt1, javajs.util.P3 pt2, float radius, short colix, boolean doFill) protected void
outputCone
(javajs.util.P3 ptBase, javajs.util.P3 ptTip, float radius, short colix) protected boolean
outputCylinder
(javajs.util.P3 ptCenter, javajs.util.P3 pt1, javajs.util.P3 pt2, short colix, byte endcaps, float radius, javajs.util.P3 ptX, javajs.util.P3 ptY, boolean checkRadius) protected void
outputEllipsoid
(javajs.util.P3 center, javajs.util.P3[] points, short colix) protected void
outputFace
(int[] is, int[] coordMap, int faceVertexMax) protected void
protected void
protected void
outputSphere
(javajs.util.P3 ptCenter, float radius, short colix, boolean checkRadius) protected void
outputSurface
(javajs.util.T3[] vertices, javajs.util.T3[] normals, short[] vertexColixes, int[][] indices, short[] polygonColixes, int nVertices, int nPolygons, int nTriangles, javajs.util.BS bsPolygons, int faceVertexMax, short colix, javajs.util.Lst<Short> colorList, Map<Short, Integer> htColixes, javajs.util.P3 offset) protected void
outputTextPixel
(javajs.util.P3 pt, int argb) protected void
outputTriangle
(javajs.util.T3 pt1, javajs.util.T3 pt2, javajs.util.T3 pt3, short colix) (package private) void
(package private) void
Methods inherited from class org.jmol.export.__CartesianExporter
drawAtom, drawCircle, drawCylinder, drawEllipse, drawPixel, drawTextPixel, fillConeScreen, fillCylinderScreen, fillCylinderScreenMad, fillEllipsoid, fillSphere, fillTriangle, getCameraPosition, getCoordinateMap, getModelCenter, getNormalMap, outputIndices, outputSolidPlate, setSphereMatrix
Methods inherited from class org.jmol.export.___Exporter
drawFilledCircle, drawSurface, finalizeOutput, finalizeOutput2, fixScreenZ, getByteCount, getColorList, getConeMesh, getExportDate, getJmolPerspective, getRotationMatrix, getRotationMatrix, getTriad, getTriadC, initializeOutput, initOutput, opacityFractionalFromArgb, opacityFractionalFromColix, output, outputComment, outputJmolPerspective, outputVertex, outputVertices, rgbFractionalFromArgb, rgbFractionalFromColix, round, round, setTempVertex, translucencyFractionalFromColix
-
Field Details
-
htSpheresRendered
-
htObjects
-
html5Applet
Object html5Applet -
useTable
-
ret
-
-
Constructor Details
-
JSExporter
public JSExporter()
-
-
Method Details
-
jsInitExport
- Parameters:
applet
-
-
jsEndExport
- Parameters:
applet
-
-
jsCylinder
private void jsCylinder(Object applet, String id, boolean isNew, javajs.util.P3 pt1, javajs.util.P3 pt2, Object[] o) - Parameters:
applet
-id
-isNew
-pt1
-pt2
-o
-
-
jsSphere
- Parameters:
applet
-id
-isNew
-pt
-o
-
-
jsSurface
protected void jsSurface(Object applet, javajs.util.T3[] vertices, javajs.util.T3[] normals, int[][] indices, int nVertices, int nPolygons, int nFaces, javajs.util.BS bsPolygons, int faceVertexMax, int color, int[] vertexColors, int[] polygonColors) - Parameters:
applet
-vertices
-normals
-indices
-nVertices
-nPolygons
-nFaces
-bsPolygons
-faceVertexMax
-color
-vertexColors
-polygonColors
-
-
jsTriangle
void jsTriangle(Object applet, int color, javajs.util.T3 pt1, javajs.util.T3 pt2, javajs.util.T3 pt3) - Parameters:
applet
-color
-pt1
-pt2
-pt3
-
-
outputHeader
protected void outputHeader()- Specified by:
outputHeader
in class___Exporter
-
outputSphere
protected void outputSphere(javajs.util.P3 ptCenter, float radius, short colix, boolean checkRadius) - Specified by:
outputSphere
in class__CartesianExporter
-
outputCylinder
protected boolean outputCylinder(javajs.util.P3 ptCenter, javajs.util.P3 pt1, javajs.util.P3 pt2, short colix, byte endcaps, float radius, javajs.util.P3 ptX, javajs.util.P3 ptY, boolean checkRadius) - Specified by:
outputCylinder
in class__CartesianExporter
-
outputCircle
protected void outputCircle(javajs.util.P3 pt1, javajs.util.P3 pt2, float radius, short colix, boolean doFill) - Specified by:
outputCircle
in class__CartesianExporter
-
outputEllipsoid
protected void outputEllipsoid(javajs.util.P3 center, javajs.util.P3[] points, short colix) - Specified by:
outputEllipsoid
in class__CartesianExporter
-
outputCone
protected void outputCone(javajs.util.P3 ptBase, javajs.util.P3 ptTip, float radius, short colix) - Specified by:
outputCone
in class__CartesianExporter
-
getColor
-
outputSurface
protected void outputSurface(javajs.util.T3[] vertices, javajs.util.T3[] normals, short[] vertexColixes, int[][] indices, short[] polygonColixes, int nVertices, int nPolygons, int nTriangles, javajs.util.BS bsPolygons, int faceVertexMax, short colix, javajs.util.Lst<Short> colorList, Map<Short, Integer> htColixes, javajs.util.P3 offset) - Overrides:
outputSurface
in class___Exporter
- Parameters:
vertices
- generally unique vertices [0:nVertices)normals
- one per vertexvertexColixes
- one per vertex, or nullindices
- one per triangular or quad polygon; may have additional elements beyond vertex indices if faceVertexMax = 3 triangular if faceVertexMax == 3; 3 or 4 if face VertexMax = 4polygonColixes
- face-based colixesnVertices
- vertices[nVertices-1] is last vertexnPolygons
- indices[nPolygons - 1] is last polygonnTriangles
- number of triangular faces requiredbsPolygons
- number of polygons (triangles or quads)faceVertexMax
- (3) triangles only, indices[][i] may have more elements (4) triangles and quads; indices[][i].length determinescolix
- overall (solid) color indexcolorList
- list of unique color IDshtColixes
- map of color IDs to colorList
-
outputTriangle
protected void outputTriangle(javajs.util.T3 pt1, javajs.util.T3 pt2, javajs.util.T3 pt3, short colix) - Specified by:
outputTriangle
in class__CartesianExporter
-
outputTextPixel
protected void outputTextPixel(javajs.util.P3 pt, int argb) - Specified by:
outputTextPixel
in class__CartesianExporter
-
outputFace
protected void outputFace(int[] is, int[] coordMap, int faceVertexMax) - Specified by:
outputFace
in class__CartesianExporter
-
output
protected void output(javajs.util.T3 pt) - Specified by:
output
in class___Exporter
-
plotImage
- Overrides:
plotImage
in class__CartesianExporter
-
plotText
- Overrides:
plotText
in class__CartesianExporter
-
getColors
private int[] getColors(short[] colixes)
-