# Class Export3D

java.lang.Object
org.jmol.export.Export3D

All Implemented Interfaces:
  `JmolGraphicsInterface, JmolRendererInterface`

public class Export3D extends Object implements JmolRendererInterface

## Field Summary

Fields
Modifier and Type
Field
Description
`protected ___Exporter`
`exporter`

## Constructor Summary

Constructors
Constructor
Description
`Export3D()`

## Method Summary

Modifier and Type
Method
Description
`void`
`addRenderer(int tok)`
`boolean`
`checkTranslucent(boolean isAlphaTranslucent)`
`int`
`clipCode(int x, int y, int z)`
`void`
`drawAtom(Atom atom, float radius)`
`void`
`drawBond(P3 atomA, P3 atomB, short colixA, short colixB, byte endcaps, short mad, int bondOrder)`
`void`
`drawCircle(short colix, int diameter, int x, int y, int z, boolean doFill)`
draws a simple circle (draw circle)
`void`
`drawDashedLineBits(int run, int rise, P3 pointA, P3 pointB)`
`boolean`
`drawEllipse(P3 ptAtom, P3 ptX, P3 ptY, boolean fillArc, boolean wireframeOnly)`
`void`
`drawFilledCircle(short colixRing, short colixFill, int diameter, int x, int y, int z)`
draws a screened circle ...
`void`
`drawHermite4(int tension, P3 s0, P3 s1, P3 s2, P3 s3)`
`void`
`drawHermite7(boolean fill, boolean border, int tension, P3 s0, P3 s1, P3 s2, P3 s3, P3 s4, P3 s5, P3 s6, P3 s7, int aspectRatio, short colixBack)`
`void`
`drawImage(Object objImage, int x, int y, int z, int zSlab, short bgcolix, int width, int height)`
`void`
`drawLine(short colixA, short colixB, int xA, int yA, int zA, int xB, int yB, int zB)`
`void`
`drawLineAB(P3 pointA, P3 pointB)`
`void`
`drawLineBits(short colixA, short colixB, P3 pointA, P3 pointB)`
`void`
`drawLineBits(P3 screenA, P3 screenB, short colixA, short colixB)`
`void`
`drawLinePixels(P3i sA, P3i sB, int z, int zslab)`
`void`
`drawLineXYZ(int x1, int y1, int z1, int x2, int y2, int z2)`
`void`
`drawPixel(int x, int y, int z)`
`void`
`drawPoints(int count, int[] coordinates, int scale)`
`void`
`drawRect(int x, int y, int z, int zSlab, int rWidth, int rHeight)`
draws a rectangle
`void`
`drawString(String str, Font font3d, int xBaseline, int yBaseline, int z, int zSlab, short bgcolix)`
draws the specified string in the current font.
`void`
`drawStringNoSlab(String str, Font font3d, int xBaseline, int yBaseline, int z, short bgcolix)`
draws the specified string in the current font.
`void`
`drawSurface(MeshSurface meshSurface, short colix)`
`void`
`drawTriangle3C(P3i screenA, short colixA, P3i screenB, short colixB, P3i screenC, short colixC, int check)`
`void`
`fillConeScreen3f(byte endcap, int screenDiameter, P3 pointBase, P3 screenTip, boolean isBarb)`
`void`
`fillCylinder(byte endcaps, int diameter, P3i pointA, P3i pointB)`
`void`
`fillCylinderBits(byte endcaps, int diameter, P3 pointA, P3 pointB)`
`void`
`fillCylinderBits2(short colixA, short colixB, byte endcaps, int mad, P3 screenA, P3 screenB)`
`void`
`fillCylinderScreen3I(byte endcaps, int diameter, P3 pointA, P3 pointB, P3 pt0f, P3 pt1f, float radius)`
`void`
`fillCylinderXYZ(short colixA, short colixB, byte endcaps, int mad, int xA, int yA, int zA, int xB, int yB, int zB)`
`void`
`fillEllipsoid(P3 center, P3[] points, int x, int y, int z, int diameter, M3 mToEllipsoidal, double[] coef, M4 mDeriv, int selectedOctant, P3[] octantPoints)`
`void`
`fillHermite(int tension, int diameterBeg, int diameterMid, int diameterEnd, P3 s0, P3 s1, P3 s2, P3 s3)`
`void`
`fillQuadrilateral(P3 pointA, P3 pointB, P3 pointC, P3 pointD, boolean isSolid)`
`void`
`fillSphereBits(int diameter, P3 center)`
fills a solid sphere
`void`
`fillSphereI(int diameter, P3i center)`
fills a solid sphere
`void`
`fillSphereXYZ(int diameter, int x, int y, int z)`
fills a solid sphere
`void`
`fillTextRect(int x, int y, int z, int zSlab, int widthFill, int heightFill)`
fills background rectangle for label
`void`
`fillTriangle3CN(P3i pointA, short colixA, short normixA, P3i pointB, short colixB, short normixB, P3i pointC, short colixC, short normixC)`
`void`
`fillTriangle3CNBits(P3 pA, short colixA, short nA, P3 pB, short colixB, short nB, P3 pC, short colixC, short nC, boolean twoSided)`
`void`
`fillTriangle3f(P3 pointA, P3 pointB, P3 pointC, boolean setNoisy)`
`void`
`fillTriangle3i(P3 screenA, P3 screenB, P3 screenC, T3 ptA0, T3 ptB0, T3 ptC0, boolean doShade)`
`void`
`fillTriangleTwoSided(short normix, P3 a, P3 b, P3 c)`
`String`
`finalizeOutput()`
`String`
`getExportName()`
`int`
`getExportType()`
`double`
`getPrivateKey()`
`boolean`
`haveTranslucentObjects()`
`Object`
`initializeExporter(Viewer vwr, double privateKey, GData gdata, Map<String,Object> params)`
`boolean`
`initializeOutput(Viewer vwr, double privateKey, Map<String,Object> params)`
`boolean`
`isAntialiased()`
is full scene / oversampling antialiasing in effect
`protected boolean`
`isClipped(int x, int y)`
`boolean`
`isClipped(int x, int y, int z)`
`boolean`
`isClippedXY(int diameter, int x, int y)`
`boolean`
`isInDisplayRange(int x, int y)`
`boolean`
`isWebGL()`
`void`
`plotImagePixel(int argb, int x, int y, int z, byte shade, int bgargb, int width, int height, int[] pbuf, Object p, int transpLog)`
`void`
`plotPixelClippedP3i(P3i screen)`
`void`
`renderAllStrings(Object jr)`
`void`
`renderBackground(JmolRendererInterface me)`
`void`
`renderCrossHairs(int[] minMax, int screenWidth, int screenHeight, P3 navigationOffset, float navigationDepthPercent)`
`boolean`
`setC(short colix)`
sets current color from colix color index
`void`
`setSlab(int slabValue)`
`void`
`setSlabAndZShade(int slabValue, int depthValue, int zSlab, int zDepth, int zPower)`
`void`
`volumeRender(boolean TF)`
`void`
`volumeRender4(int diam, int x, int y, int z)`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### exporter

protected ___Exporter exporter

## Constructor Details

### Export3D

public Export3D()

## Method Details

### isWebGL

public boolean isWebGL()

Specified by:
  `isWebGL` in interface `JmolRendererInterface`

### initializeExporter

public Object initializeExporter(Viewer vwr, double privateKey, GData gdata, Map<String,Object> params)

Specified by:
  `initializeExporter` in interface `JmolRendererInterface`

### initializeOutput

public boolean initializeOutput(Viewer vwr, double privateKey, Map<String,Object> params)

Specified by:
  `initializeOutput` in interface `JmolRendererInterface`

### getExportType

public int getExportType()

Specified by:
  `getExportType` in interface `JmolRendererInterface`

### getExportName

public String getExportName()

Specified by:
  `getExportName` in interface `JmolRendererInterface`

### finalizeOutput

public String finalizeOutput()

Specified by:
  `finalizeOutput` in interface `JmolRendererInterface`

### setSlab

public void setSlab(int slabValue)

Specified by:
  `setSlab` in interface `JmolGraphicsInterface`

### setSlabAndZShade

public void setSlabAndZShade(int slabValue, int depthValue, int zSlab, int zDepth, int zPower)

Specified by:
  `setSlabAndZShade` in interface `JmolGraphicsInterface`

### renderBackground

public void renderBackground(JmolRendererInterface me)

Specified by:
  `renderBackground` in interface `JmolRendererInterface`

### drawAtom

public void drawAtom(Atom atom, float radius)

Specified by:
  `drawAtom` in interface `JmolRendererInterface`

### drawRect

public void drawRect(int x, int y, int z, int zSlab, int rWidth, int rHeight)
draws a rectangle

Specified by:
  `drawRect` in interface `JmolRendererInterface`
Parameters:
  `x` - upper left x
  `y` - upper left y
  `z` - upper left z
  `zSlab` - z for slab check (for set labelsFront)
  `rWidth` - pixel count
  `rHeight` - pixel count

### drawFilledCircle

public void drawFilledCircle(short colixRing, short colixFill, int diameter, int x, int y, int z)
draws a screened circle ... every other dot is turned on

Specified by:
  `drawFilledCircle` in interface `JmolRendererInterface`
Parameters:
  `colixRing` -
  `colixFill` -
  `diameter` -
  `x` - center x
  `y` - center y
  `z` - center z

### drawCircle

public void drawCircle(short colix, int diameter, int x, int y, int z, boolean doFill)
draws a simple circle (draw circle)

Parameters:
  `colix` - the color index
  `diameter` - the pixel diameter
  `x` - center x
  `y` - center y
  `z` - center z
  `doFill` - (not implemented in exporters)

### fillSphereXYZ

public void fillSphereXYZ(int diameter, int x, int y, int z)
fills a solid sphere

Specified by:
  `fillSphereXYZ` in interface `JmolRendererInterface`
Parameters:
  `diameter` - pixel count
  `x` - center x
  `y` - center y
  `z` - center z

### fillSphereI

public void fillSphereI(int diameter, P3i center)
fills a solid sphere

Specified by:
  `fillSphereI` in interface `JmolRendererInterface`
Parameters:
  `diameter` - pixel count
  `center` - javax.vecmath.Point3i defining the center

### fillSphereBits

public void fillSphereBits(int diameter, P3 center)
fills a solid sphere

Specified by:
  `fillSphereBits` in interface `JmolRendererInterface`
Parameters:
  `diameter` - pixel count
  `center` - a javax.vecmath.Point3f ... floats are casted to ints

### fillTextRect

public void fillTextRect(int x, int y, int z, int zSlab, int widthFill, int heightFill)
fills background rectangle for label

Specified by:
  `fillTextRect` in interface `JmolRendererInterface`
Parameters:
  `x` - upper left x
  `y` - upper left y
  `z` - upper left z
  `zSlab` - z value for slabbing
  `widthFill` - pixel count
  `heightFill` - pixel count

### drawString

public void drawString(String str, Font font3d, int xBaseline, int yBaseline, int z, int zSlab, short bgcolix)
draws the specified string in the current font. no line wrapping -- axis, labels, measures

Specified by:
  `drawString` in interface `JmolRendererInterface`
Parameters:
  `str` - the String
  `font3d` - the Font3D
  `xBaseline` - baseline x
  `yBaseline` - baseline y
  `z` - baseline z
  `zSlab` - z for slab calculation
  `bgcolix` -

### drawStringNoSlab

public void drawStringNoSlab(String str, Font font3d, int xBaseline, int yBaseline, int z, short bgcolix)
draws the specified string in the current font. no line wrapping -- echo, frank, hover, molecularOrbital, uccage

Specified by:
  `drawStringNoSlab` in interface `JmolRendererInterface`
Parameters:
  `str` - the String
  `font3d` - the Font3D
  `xBaseline` - baseline x
  `yBaseline` - baseline y
  `z` - baseline z
  `bgcolix` -

### drawImage

public void drawImage(Object objImage, int x, int y, int z, int zSlab, short bgcolix, int width, int height)

Specified by:
  `drawImage` in interface `JmolRendererInterface`

### drawPixel

public void drawPixel(int x, int y, int z)

Specified by:
  `drawPixel` in interface `JmolRendererInterface`

### plotPixelClippedP3i

public void plotPixelClippedP3i(P3i screen)

Specified by:
  `plotPixelClippedP3i` in interface `JmolRendererInterface`

### drawPoints

public void drawPoints(int count, int[] coordinates, int scale)

Specified by:
  `drawPoints` in interface `JmolRendererInterface`

### drawDashedLineBits

public void drawDashedLineBits(int run, int rise, P3 pointA, P3 pointB)

Specified by:
  `drawDashedLineBits` in interface `JmolRendererInterface`

### drawLineXYZ

public void drawLineXYZ(int x1, int y1, int z1, int x2, int y2, int z2)

Specified by:
  `drawLineXYZ` in interface `JmolRendererInterface`

### drawLine

public void drawLine(short colixA, short colixB, int xA, int yA, int zA, int xB, int yB, int zB)

Specified by:
  `drawLine` in interface `JmolRendererInterface`

### drawLineBits

public void drawLineBits(short colixA, short colixB, P3 pointA, P3 pointB)

Specified by:
  `drawLineBits` in interface `JmolRendererInterface`

### drawLineAB

public void drawLineAB(P3 pointA, P3 pointB)

Specified by:
  `drawLineAB` in interface `JmolRendererInterface`

### drawBond

public void drawBond(P3 atomA, P3 atomB, short colixA, short colixB, byte endcaps, short mad, int bondOrder)

Specified by:
  `drawBond` in interface `JmolRendererInterface`

### fillCylinderXYZ

public void fillCylinderXYZ(short colixA, short colixB, byte endcaps, int mad, int xA, int yA, int zA, int xB, int yB, int zB)

Specified by:
  `fillCylinderXYZ` in interface `JmolRendererInterface`

### fillCylinderScreen3I

public void fillCylinderScreen3I(byte endcaps, int diameter, P3 pointA, P3 pointB, P3 pt0f, P3 pt1f, float radius)

Specified by:
  `fillCylinderScreen3I` in interface `JmolRendererInterface`

### fillCylinder

public void fillCylinder(byte endcaps, int diameter, P3i pointA, P3i pointB)

Specified by:
  `fillCylinder` in interface `JmolRendererInterface`

### fillCylinderBits

public void fillCylinderBits(byte endcaps, int diameter, P3 pointA, P3 pointB)

Specified by:
  `fillCylinderBits` in interface `JmolRendererInterface`

### fillConeScreen3f

public void fillConeScreen3f(byte endcap, int screenDiameter, P3 pointBase, P3 screenTip, boolean isBarb)

Specified by:
  `fillConeScreen3f` in interface `JmolRendererInterface`

### drawHermite4

public void drawHermite4(int tension, P3 s0, P3 s1, P3 s2, P3 s3)

Specified by:
  `drawHermite4` in interface `JmolRendererInterface`

### fillHermite

public void fillHermite(int tension, int diameterBeg, int diameterMid, int diameterEnd, P3 s0, P3 s1, P3 s2, P3 s3)

Specified by:
  `fillHermite` in interface `JmolRendererInterface`

### drawTriangle3C

public void drawTriangle3C(P3i screenA, short colixA, P3i screenB, short colixB, P3i screenC, short colixC, int check)

Specified by:
  `drawTriangle3C` in interface `JmolRendererInterface`

### drawLineBits

public void drawLineBits(P3 screenA, P3 screenB, short colixA, short colixB)

### fillCylinderBits2

public void fillCylinderBits2(short colixA, short colixB, byte endcaps, int mad, P3 screenA, P3 screenB)

Specified by:
  `fillCylinderBits2` in interface `JmolRendererInterface`

### fillTriangle3CNBits

public void fillTriangle3CNBits(P3 pA, short colixA, short nA, P3 pB, short colixB, short nB, P3 pC, short colixC, short nC, boolean twoSided)

Specified by:
  `fillTriangle3CNBits` in interface `JmolRendererInterface`

### fillTriangle3CN

public void fillTriangle3CN(P3i pointA, short colixA, short normixA, P3i pointB, short colixB, short normixB, P3i pointC, short colixC, short normixC)

Specified by:
  `fillTriangle3CN` in interface `JmolRendererInterface`

### fillTriangleTwoSided

public void fillTriangleTwoSided(short normix, P3 a, P3 b, P3 c)

Specified by:
  `fillTriangleTwoSided` in interface `JmolRendererInterface`

### fillTriangle3f

public void fillTriangle3f(P3 pointA, P3 pointB, P3 pointC, boolean setNoisy)

Specified by:
  `fillTriangle3f` in interface `JmolRendererInterface`

### fillTriangle3i

public void fillTriangle3i(P3 screenA, P3 screenB, P3 screenC, T3 ptA0, T3 ptB0, T3 ptC0, boolean doShade)

Specified by:
  `fillTriangle3i` in interface `JmolRendererInterface`

### fillQuadrilateral

public void fillQuadrilateral(P3 pointA, P3 pointB, P3 pointC, P3 pointD, boolean isSolid)

Specified by:
  `fillQuadrilateral` in interface `JmolRendererInterface`

### drawSurface

public void drawSurface(MeshSurface meshSurface, short colix)

Specified by:
  `drawSurface` in interface `JmolRendererInterface`

### fillEllipsoid

public void fillEllipsoid(P3 center, P3[] points, int x, int y, int z, int diameter, M3 mToEllipsoidal, double[] coef, M4 mDeriv, int selectedOctant, P3[] octantPoints)

Specified by:
  `fillEllipsoid` in interface `JmolRendererInterface`

### drawEllipse

public boolean drawEllipse(P3 ptAtom, P3 ptX, P3 ptY, boolean fillArc, boolean wireframeOnly)

Specified by:
  `drawEllipse` in interface `JmolRendererInterface`

### isAntialiased

public boolean isAntialiased()
is full scene / oversampling antialiasing in effect

Specified by:
  `isAntialiased` in interface `JmolGraphicsInterface`
Returns:
  the answer

### checkTranslucent

public boolean checkTranslucent(boolean isAlphaTranslucent)

Specified by:
  `checkTranslucent` in interface `JmolRendererInterface`

### haveTranslucentObjects

public boolean haveTranslucentObjects()

Specified by:
  `haveTranslucentObjects` in interface `JmolRendererInterface`

### setC

public boolean setC(short colix)
sets current color from colix color index

Specified by:
  `setC` in interface `JmolRendererInterface`
Parameters:
  `colix` - the color index
Returns:
  true or false if this is the right pass

### isInDisplayRange

public boolean isInDisplayRange(int x, int y)

Specified by:
  `isInDisplayRange` in interface `JmolGraphicsInterface`

### clipCode

public int clipCode(int x, int y, int z)

### isClippedXY

public boolean isClippedXY(int diameter, int x, int y)

Specified by:
  `isClippedXY` in interface `JmolGraphicsInterface`

### isClipped

public boolean isClipped(int x, int y, int z)

### isClipped

protected boolean isClipped(int x, int y)

### getPrivateKey

public double getPrivateKey()

### volumeRender4

public void volumeRender4(int diam, int x, int y, int z)

Specified by:
  `volumeRender4` in interface `JmolRendererInterface`

### renderCrossHairs

public void renderCrossHairs(int[] minMax, int screenWidth, int screenHeight, P3 navigationOffset, float navigationDepthPercent)

Specified by:
  `renderCrossHairs` in interface `JmolRendererInterface`

### volumeRender

public void volumeRender(boolean TF)

Specified by:
  `volumeRender` in interface `JmolRendererInterface`

### addRenderer

public void addRenderer(int tok)

Specified by:
  `addRenderer` in interface `JmolRendererInterface`

### plotImagePixel

public void plotImagePixel(int argb, int x, int y, int z, byte shade, int bgargb, int width, int height, int[] pbuf, Object p, int transpLog)

Specified by:
  `plotImagePixel` in interface `JmolRendererInterface`

### drawHermite7

public void drawHermite7(boolean fill, boolean border, int tension, P3 s0, P3 s1, P3 s2, P3 s3, P3 s4, P3 s5, P3 s6, P3 s7, int aspectRatio, short colixBack)

Specified by:
  `drawHermite7` in interface `JmolRendererInterface`

### renderAllStrings

public void renderAllStrings(Object jr)

Specified by:
  `renderAllStrings` in interface `JmolGraphicsInterface`

### drawLinePixels

public void drawLinePixels(P3i sA, P3i sB, int z, int zslab)

Specified by:
  `drawLinePixels` in interface `JmolGraphicsInterface`