# Interface JmolRendererInterface

All Superinterfaces:
  `JmolGraphicsInterface`

All Known Implementing Classes:
  `Export3D, Graphics3D`

public interface JmolRendererInterface extends JmolGraphicsInterface

## Method Summary

Modifier and Type
Method
Description
`void`
`addRenderer(int tok)`
`boolean`
`checkTranslucent(boolean isAlphaTranslucent)`
`void`
`drawAtom(Atom atom, float radius)`
`void`
`drawBond(P3 atomA, P3 atomB, short colixA, short colixB, byte endcaps, short mad, int bondOrder)`
`void`
`drawDashedLineBits(int run, int rise, P3 screenA, P3 screenB)`
`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 ring and filled circle (halos, draw CIRCLE, draw handles)
`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 image, int x, int y, int z, int zslab, short bgcolix, int width, int height)`
`void`
`drawLine(short colixA, short colixB, int x1, int y1, int z1, int x2, int y2, int z2)`
`void`
`drawLineAB(P3 pointA, P3 pointB)`
`void`
`drawLineBits(short colixA, short colixB, P3 pointA, P3 pointB)`
`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 screenBase, P3 screenTip, boolean isBarb)`
`void`
`fillCylinder(byte endcaps, int diameter, P3i screenA, P3i screenB)`
`void`
`fillCylinderBits(byte endcaps, int diameter, P3 screenA, P3 screenB)`
`void`
`fillCylinderBits2(short colixA, short colixB, byte endcaps, int diameter, P3 screenA, P3 screenB)`
`void`
`fillCylinderScreen3I(byte endcaps, int diameter, P3 s0f, P3 s1f, P3 pt0f, P3 pt1f, float radius)`
`void`
`fillCylinderXYZ(short colixA, short colixB, byte endcaps, int diameter, 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 screenA, P3 screenB, P3 screenC, P3 screenD, 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 screenA, short colixA, short normixA, P3i screenB, short colixB, short normixB, P3i screenC, 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 screenA, P3 screenB, P3 screenC, boolean setNoisy)`
`void`
`fillTriangle3i(P3 screenA, P3 screenB, P3 screenC, T3 ptA, T3 ptB, T3 ptC, boolean doShade)`
`void`
`fillTriangleTwoSided(short normix, P3 a, P3 b, P3 c)`
`String`
`finalizeOutput()`
`String`
`getExportName()`
`int`
`getExportType()`
`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`
`isWebGL()`
`void`
`plotImagePixel(int argb, int x, int y, int z, byte shade, int bgargb, int width, int height, int[] zbuf, Object pixel, int transpLog)`
`void`
`plotPixelClippedP3i(P3i a)`
`void`
`renderBackground(JmolRendererInterface jre)`
`void`
`renderCrossHairs(int[] minMax, int screenWidth, int screenHeight, P3 navigationOffset, float navigationDepthPercent)`
`boolean`
`setC(short colix)`
sets current color from colix color index
`void`
`volumeRender(boolean TF)`
`void`
`volumeRender4(int diam, int x, int y, int z)`

### Methods inherited from interface JmolGraphicsInterface

`drawLinePixels, isAntialiased, isClippedXY, isInDisplayRange, renderAllStrings, setSlab, setSlabAndZShade`

## Method Details

### addRenderer

void addRenderer(int tok)

### checkTranslucent

boolean checkTranslucent(boolean isAlphaTranslucent)

### drawAtom

void drawAtom(Atom atom, float radius)

### drawBond

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

### drawDashedLineBits

void drawDashedLineBits(int run, int rise, P3 screenA, P3 screenB)

### drawEllipse

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

### drawFilledCircle

void drawFilledCircle(short colixRing, short colixFill, int diameter, int x, int y, int z)
draws a ring and filled circle (halos, draw CIRCLE, draw handles)

Parameters:
  `colixRing` -
  `colixFill` -
  `diameter` -
  `x` - center x
  `y` - center y
  `z` - center z

### drawHermite4

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

### drawHermite7

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)

### drawImage

void drawImage(Object image, int x, int y, int z, int zslab, short bgcolix, int width, int height)

### drawLine

void drawLine(short colixA, short colixB, int x1, int y1, int z1, int x2, int y2, int z2)

### drawLineAB

void drawLineAB(P3 pointA, P3 pointB)

### drawLineXYZ

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

### drawPixel

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

### drawPoints

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

### drawRect

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

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

### drawString

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

Parameters:
  `str` - the String
  `font3d` - the Font3D
  `xBaseline` - baseline x
  `yBaseline` - baseline y
  `z` - baseline z
  `zSlab` - z for slab calculation
  `bgColix` - TODO

### drawStringNoSlab

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

Parameters:
  `str` - the String
  `font3d` - the Font3D
  `xBaseline` - baseline x
  `yBaseline` - baseline y
  `z` - baseline z
  `bgColix` - TODO

### drawSurface

void drawSurface(MeshSurface meshSurface, short colix)

### drawTriangle3C

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

### fillConeScreen3f

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

### fillCylinder

void fillCylinder(byte endcaps, int diameter, P3i screenA, P3i screenB)

### fillCylinderBits

void fillCylinderBits(byte endcaps, int diameter, P3 screenA, P3 screenB)

### fillCylinderScreen3I

void fillCylinderScreen3I(byte endcaps, int diameter, P3 s0f, P3 s1f, P3 pt0f, P3 pt1f, float radius)

### fillCylinderBits2

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

### fillCylinderXYZ

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

### fillEllipsoid

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

### fillHermite

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

### fillQuadrilateral

void fillQuadrilateral(P3 screenA, P3 screenB, P3 screenC, P3 screenD, boolean isSolid)

### fillTextRect

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

Parameters:
  `x` - upper left x
  `y` - upper left y
  `z` - upper left z
  `zSlab` - z value for slabbing
  `widthFill` - pixel count
  `heightFill` - pixel count

### fillSphereBits

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

Parameters:
  `diameter` - pixel count
  `center` - a javax.vecmath.Point3f ... floats are casted to ints

### fillSphereI

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

Parameters:
  `diameter` - pixel count
  `center` - javax.vecmath.Point3i defining the center

### fillSphereXYZ

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

Parameters:
  `diameter` - pixel count
  `x` - center x
  `y` - center y
  `z` - center z

### fillTriangle3CN

void fillTriangle3CN(P3i screenA, short colixA, short normixA, P3i screenB, short colixB, short normixB, P3i screenC, short colixC, short normixC)

### fillTriangle3f

void fillTriangle3f(P3 screenA, P3 screenB, P3 screenC, boolean setNoisy)

### fillTriangle3i

void fillTriangle3i(P3 screenA, P3 screenB, P3 screenC, T3 ptA, T3 ptB, T3 ptC, boolean doShade)

### fillTriangleTwoSided

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

### finalizeOutput

String finalizeOutput()

### getExportName

String getExportName()

### isWebGL

boolean isWebGL()

### getExportType

int getExportType()

### haveTranslucentObjects

boolean haveTranslucentObjects()

### initializeExporter

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

### initializeOutput

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

### plotImagePixel

void plotImagePixel(int argb, int x, int y, int z, byte shade, int bgargb, int width, int height, int[] zbuf, Object pixel, int transpLog)

### plotPixelClippedP3i

void plotPixelClippedP3i(P3i a)

### renderBackground

void renderBackground(JmolRendererInterface jre)

### renderCrossHairs

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

### setC

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

Parameters:
  `colix` - the color index
Returns:
  true or false if this is the right pass

### volumeRender

void volumeRender(boolean TF)

### volumeRender4

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

### fillTriangle3CNBits

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

### drawLineBits

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