Package org.jmol.export
Class _VrmlExporter
- java.lang.Object
-
- org.jmol.export.___Exporter
-
- org.jmol.export.__CartesianExporter
-
- org.jmol.export._VrmlExporter
-
- Direct Known Subclasses:
_StlExporter,_X3dExporter
public class _VrmlExporter extends __CartesianExporter
A basic VRML generator. Modified 10/2016 to no longer use high-level objects Cone, Sphere, and Cylinder. Makes substantial use of DEF and USE to reduce file size hugely.- Author:
- Bob Hanson
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringfontChildprotected java.lang.StringfontFaceprotected floatfontSizeprotected java.lang.StringfontStyleprivate java.util.Map<java.lang.String,java.lang.Boolean>htSpheresRenderedprivate int[][]oneFaceprivate short[]plateColixesprivate int[][]plateIndicesprivate javajs.util.T3[]plateVerticesprotected javajs.util.P3tempQ1protected javajs.util.P3tempQ2protected javajs.util.P3tempQ3private javajs.util.P3[]threeVerticesprotected UseTableuseTable-
Fields 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 Constructor Description _VrmlExporter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.StringgetDef(java.lang.String key)protected floatgetViewpoint()protected voidoutput(javajs.util.T3 pt)protected voidoutputAppearance(short colix, boolean isText)protected voidoutputAttr(java.lang.String attr, float x, float y, float z)protected voidoutputAttrPt(java.lang.String attr, javajs.util.T3 pt)protected voidoutputChildClose()protected voidoutputChildShapeClose()protected voidoutputChildShapeStart()protected voidoutputChildStart()protected voidoutputCircle(javajs.util.P3 pt1, javajs.util.P3 pt2, float radius, short colix, boolean doFill)protected voidoutputCloseTag()protected voidoutputColorIndices(int[][] indices, int nPolygons, BS bsPolygons, int faceVertexMax, java.util.Map<java.lang.Short,java.lang.Integer> htColixes, short[] colixes, short[] polygonColixes)protected voidoutputColors(javajs.util.Lst<java.lang.Short> colorList)protected voidoutputCone(javajs.util.P3 ptBase, javajs.util.P3 ptTip, float radius, short colix)private voidoutputConeGeometry(boolean addBase)protected booleanoutputCylinder(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 voidoutputCylinderChildScaled(short colix, byte endcaps)private voidoutputCylinderGeometry(int endcaps)protected voidoutputDefChildFaceSet(java.lang.String child)protected voidoutputEllipsoid(javajs.util.P3 ptCenter, javajs.util.P3[] points, short colix)protected voidoutputFace(int[] face, int[] map, int faceVertexMax)protected voidoutputFaceSetClose()protected voidoutputFaceSetStart()protected voidoutputFooter()protected voidoutputGeometry(javajs.util.T3[] vertices, javajs.util.T3[] normals, short[] colixes, int[][] indices, short[] polygonColixes, int nVertices, int nPolygons, BS bsPolygons, int faceVertexMax, javajs.util.Lst<java.lang.Short> colorList, java.util.Map<java.lang.Short,java.lang.Integer> htColixes, javajs.util.P3 offset)protected voidoutputHeader()protected voidoutputInitialTransform()protected voidoutputNormals(javajs.util.Lst<java.lang.String> vNormals)protected voidoutputQuaternionFrame(javajs.util.P3 ptCenter, javajs.util.P3 ptX, javajs.util.P3 ptY, javajs.util.P3 ptZ, float xScale, float yScale, float zScale)protected voidoutputRotation(javajs.util.A4 a)protected voidoutputShapeClose()protected voidoutputShapeStart()protected voidoutputSolidPlate(javajs.util.P3 tempP1, javajs.util.P3 tempP2, javajs.util.P3 tempP3, short colix)protected voidoutputSphere(javajs.util.P3 ptCenter, float radius, short colix, boolean checkRadius)private voidoutputSphereChildScaled(javajs.util.P3 ptCenter, float radius, javajs.util.P3[] points, short colix)private voidoutputSphereGeometry()protected voidoutputSurface(javajs.util.T3[] vertices, javajs.util.T3[] normals, short[] colixes, int[][] indices, short[] polygonColixes, int nVertices, int nPolygons, int nTriangles, BS bsPolygons, int faceVertexMax, short colix, javajs.util.Lst<java.lang.Short> colorList, java.util.Map<java.lang.Short,java.lang.Integer> htColixes, javajs.util.P3 offset)protected voidoutputTextPixel(javajs.util.P3 pt, int argb)protected voidoutputTransRot(javajs.util.P3 pt1, javajs.util.P3 pt2, int x, int y, int z)protected voidoutputTriangle(javajs.util.T3 pt1, javajs.util.T3 pt2, javajs.util.T3 pt3, short colix)private voidoutputTriangleGeometry(javajs.util.T3 pt1, javajs.util.T3 pt2, javajs.util.T3 pt3, short colix)protected voidoutputUseChildClose(java.lang.String child)(package private) voidplotText(int x, int y, int z, short colix, java.lang.String text, javajs.awt.Font font3d)protected voidpopMatrix()protected voidpushMatrix()private voidsetFont(short colix, java.lang.String text, javajs.awt.Font font3d)-
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, plotImage, 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 Detail
-
useTable
protected UseTable useTable
-
htSpheresRendered
private java.util.Map<java.lang.String,java.lang.Boolean> htSpheresRendered
-
plateVertices
private javajs.util.T3[] plateVertices
-
plateIndices
private int[][] plateIndices
-
plateColixes
private short[] plateColixes
-
tempQ1
protected javajs.util.P3 tempQ1
-
tempQ2
protected javajs.util.P3 tempQ2
-
tempQ3
protected javajs.util.P3 tempQ3
-
oneFace
private int[][] oneFace
-
threeVertices
private javajs.util.P3[] threeVertices
-
fontSize
protected float fontSize
-
fontFace
protected java.lang.String fontFace
-
fontStyle
protected java.lang.String fontStyle
-
fontChild
protected java.lang.String fontChild
-
-
Method Detail
-
output
protected void output(javajs.util.T3 pt)
- Specified by:
outputin class___Exporter
-
outputHeader
protected void outputHeader()
- Specified by:
outputHeaderin class___Exporter
-
outputInitialTransform
protected void outputInitialTransform()
-
getViewpoint
protected float getViewpoint()
-
outputFooter
protected void outputFooter()
- Overrides:
outputFooterin class___Exporter
-
outputAppearance
protected void outputAppearance(short colix, boolean isText)
-
pushMatrix
protected void pushMatrix()
-
popMatrix
protected void popMatrix()
-
outputAttrPt
protected void outputAttrPt(java.lang.String attr, javajs.util.T3 pt)
-
outputAttr
protected void outputAttr(java.lang.String attr, float x, float y, float z)
-
outputRotation
protected void outputRotation(javajs.util.A4 a)
-
outputTransRot
protected void outputTransRot(javajs.util.P3 pt1, javajs.util.P3 pt2, int x, int y, int z)
-
outputQuaternionFrame
protected void outputQuaternionFrame(javajs.util.P3 ptCenter, javajs.util.P3 ptX, javajs.util.P3 ptY, javajs.util.P3 ptZ, float xScale, float yScale, float zScale)
-
outputChildShapeStart
protected void outputChildShapeStart()
-
outputChildStart
protected void outputChildStart()
-
outputShapeStart
protected void outputShapeStart()
-
outputDefChildFaceSet
protected void outputDefChildFaceSet(java.lang.String child)
-
outputFaceSetStart
protected void outputFaceSetStart()
-
outputFaceSetClose
protected void outputFaceSetClose()
-
outputUseChildClose
protected void outputUseChildClose(java.lang.String child)
-
outputChildShapeClose
protected void outputChildShapeClose()
-
outputChildClose
protected void outputChildClose()
-
outputShapeClose
protected void outputShapeClose()
-
outputCloseTag
protected void outputCloseTag()
-
outputCircle
protected void outputCircle(javajs.util.P3 pt1, javajs.util.P3 pt2, float radius, short colix, boolean doFill)- Specified by:
outputCirclein class__CartesianExporter
-
outputCone
protected void outputCone(javajs.util.P3 ptBase, javajs.util.P3 ptTip, float radius, short colix)- Specified by:
outputConein class__CartesianExporter
-
outputConeGeometry
private void outputConeGeometry(boolean addBase)
-
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:
outputCylinderin class__CartesianExporter
-
outputCylinderChildScaled
protected void outputCylinderChildScaled(short colix, byte endcaps)
-
outputCylinderGeometry
private void outputCylinderGeometry(int endcaps)
-
outputSphere
protected void outputSphere(javajs.util.P3 ptCenter, float radius, short colix, boolean checkRadius)- Specified by:
outputSpherein class__CartesianExporter
-
outputEllipsoid
protected void outputEllipsoid(javajs.util.P3 ptCenter, javajs.util.P3[] points, short colix)- Specified by:
outputEllipsoidin class__CartesianExporter
-
outputSphereChildScaled
private void outputSphereChildScaled(javajs.util.P3 ptCenter, float radius, javajs.util.P3[] points, short colix)
-
outputSphereGeometry
private void outputSphereGeometry()
-
outputSolidPlate
protected void outputSolidPlate(javajs.util.P3 tempP1, javajs.util.P3 tempP2, javajs.util.P3 tempP3, short colix)- Overrides:
outputSolidPlatein class__CartesianExporter
-
outputSurface
protected void outputSurface(javajs.util.T3[] vertices, javajs.util.T3[] normals, short[] colixes, int[][] indices, short[] polygonColixes, int nVertices, int nPolygons, int nTriangles, BS bsPolygons, int faceVertexMax, short colix, javajs.util.Lst<java.lang.Short> colorList, java.util.Map<java.lang.Short,java.lang.Integer> htColixes, javajs.util.P3 offset)- Overrides:
outputSurfacein class___Exporter- Parameters:
vertices- generally unique vertices [0:nVertices)normals- one per vertexcolixes- 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
-
outputGeometry
protected void outputGeometry(javajs.util.T3[] vertices, javajs.util.T3[] normals, short[] colixes, int[][] indices, short[] polygonColixes, int nVertices, int nPolygons, BS bsPolygons, int faceVertexMax, javajs.util.Lst<java.lang.Short> colorList, java.util.Map<java.lang.Short,java.lang.Integer> htColixes, javajs.util.P3 offset)
-
outputFace
protected void outputFace(int[] face, int[] map, int faceVertexMax)- Specified by:
outputFacein class__CartesianExporter
-
outputNormals
protected void outputNormals(javajs.util.Lst<java.lang.String> vNormals)
-
outputColors
protected void outputColors(javajs.util.Lst<java.lang.Short> colorList)
-
outputColorIndices
protected void outputColorIndices(int[][] indices, int nPolygons, BS bsPolygons, int faceVertexMax, java.util.Map<java.lang.Short,java.lang.Integer> htColixes, short[] colixes, short[] polygonColixes)
-
outputTriangle
protected void outputTriangle(javajs.util.T3 pt1, javajs.util.T3 pt2, javajs.util.T3 pt3, short colix)- Specified by:
outputTrianglein class__CartesianExporter
-
outputTriangleGeometry
private void outputTriangleGeometry(javajs.util.T3 pt1, javajs.util.T3 pt2, javajs.util.T3 pt3, short colix)
-
outputTextPixel
protected void outputTextPixel(javajs.util.P3 pt, int argb)- Specified by:
outputTextPixelin class__CartesianExporter
-
plotText
void plotText(int x, int y, int z, short colix, java.lang.String text, javajs.awt.Font font3d)- Overrides:
plotTextin class__CartesianExporter
-
setFont
private void setFont(short colix, java.lang.String text, javajs.awt.Font font3d)
-
getDef
protected java.lang.String getDef(java.lang.String key)
-
-