JmolRendererInterface
Date: 2019-10-22

org.jmol.api

## Interface JmolRendererInterface

- All Superinterfaces:
    JmolGraphicsInterface
  All Known Implementing Classes:
    Export3D, Graphics3D

      public interface JmolRendererInterface
      extends JmolGraphicsInterface

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addRenderer(int tok)`
    `boolean` | `checkTranslucent(boolean isAlphaTranslucent)`
    `void` | `drawAtom(Atom atom, float radius)`
    `void` | `drawBond(javajs.util.P3 atomA, javajs.util.P3 atomB, short colixA, short colixB, byte endcaps, short mad, int bondOrder)`
    `void` | `drawDashedLineBits(int run, int rise, javajs.util.P3 screenA, javajs.util.P3 screenB)`
    `boolean` | `drawEllipse(javajs.util.P3 ptAtom, javajs.util.P3 ptX, javajs.util.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, javajs.util.P3 s0, javajs.util.P3 s1, javajs.util.P3 s2, javajs.util.P3 s3)`
    `void` | `drawHermite7(boolean fill, boolean border, int tension, javajs.util.P3 s0, javajs.util.P3 s1, javajs.util.P3 s2, javajs.util.P3 s3, javajs.util.P3 s4, javajs.util.P3 s5, javajs.util.P3 s6, javajs.util.P3 s7, int aspectRatio, short colixBack)`
    `void` | `drawImage(java.lang.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(javajs.util.P3 pointA, javajs.util.P3 pointB)`
    `void` | `drawLineBits(short colixA, short colixB, javajs.util.P3 pointA, javajs.util.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(java.lang.String str, Font font3d, int xBaseline, int yBaseline, int z, int zSlab, short bgColix)` draws the specified string in the current font.
    `void` | `drawStringNoSlab(java.lang.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(javajs.util.P3i screenA, short colixA, javajs.util.P3i screenB, short colixB, javajs.util.P3i screenC, short colixC, int check)`
    `void` | `fillConeScreen3f(byte endcap, int screenDiameter, javajs.util.P3 screenBase, javajs.util.P3 screenTip, boolean isBarb)`
    `void` | `fillCylinder(byte endcaps, int diameter, javajs.util.P3i screenA, javajs.util.P3i screenB)`
    `void` | `fillCylinderBits(byte endcaps, int diameter, javajs.util.P3 screenA, javajs.util.P3 screenB)`
    `void` | `fillCylinderBits2(short colixA, short colixB, byte endcaps, int diameter, javajs.util.P3 screenA, javajs.util.P3 screenB)`
    `void` | `fillCylinderScreen3I(byte endcaps, int diameter, javajs.util.P3 s0f, javajs.util.P3 s1f, javajs.util.P3 pt0f, javajs.util.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(javajs.util.P3 center, javajs.util.P3[] points, int x, int y, int z, int diameter, javajs.util.M3 mToEllipsoidal, double[] coef, javajs.util.M4 mDeriv, int selectedOctant, javajs.util.P3[] octantPoints)`
    `void` | `fillHermite(int tension, int diameterBeg, int diameterMid, int diameterEnd, javajs.util.P3 s0, javajs.util.P3 s1, javajs.util.P3 s2, javajs.util.P3 s3)`
    `void` | `fillQuadrilateral(javajs.util.P3 screenA, javajs.util.P3 screenB, javajs.util.P3 screenC, javajs.util.P3 screenD, boolean isSolid)`
    `void` | `fillSphereBits(int diameter, javajs.util.P3 center)` fills a solid sphere
    `void` | `fillSphereI(int diameter, javajs.util.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(javajs.util.P3i screenA, short colixA, short normixA, javajs.util.P3i screenB, short colixB, short normixB, javajs.util.P3i screenC, short colixC, short normixC)`
    `void` | `fillTriangle3CNBits(javajs.util.P3 pA, short colixA, short nA, javajs.util.P3 pB, short colixB, short nB, javajs.util.P3 pC, short colixC, short nC, boolean twoSided)`
    `void` | `fillTriangle3f(javajs.util.P3 screenA, javajs.util.P3 screenB, javajs.util.P3 screenC, boolean setNoisy)`
    `void` | `fillTriangle3i(javajs.util.P3 screenA, javajs.util.P3 screenB, javajs.util.P3 screenC, javajs.util.T3 ptA, javajs.util.T3 ptB, javajs.util.T3 ptC, boolean doShade)`
    `void` | `fillTriangleTwoSided(short normix, javajs.util.P3 a, javajs.util.P3 b, javajs.util.P3 c)`
    `java.lang.String` | `finalizeOutput()`
    `java.lang.String` | `getExportName()`
    `int` | `getExportType()`
    `boolean` | `haveTranslucentObjects()`
    `java.lang.Object` | `initializeExporter(Viewer vwr, double privateKey, GData gdata, java.util.Map<java.lang.String,java.lang.Object> params)`
    `boolean` | `initializeOutput(Viewer vwr, double privateKey, java.util.Map<java.lang.String,java.lang.Object> params)`
    `boolean` | `isWebGL()`
    `void` | `plotImagePixel(int argb, int x, int y, int z, byte shade, int bgargb, int width, int height, int[] zbuf, java.lang.Object pixel, int transpLog)`
    `void` | `plotPixelClippedP3i(javajs.util.P3i a)`
    `void` | `renderBackground(JmolRendererInterface jre)`
    `void` | `renderCrossHairs(int[] minMax, int screenWidth, int screenHeight, javajs.util.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 org.jmol.api.JmolGraphicsInterface

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

- - ### Method Detail

    - #### addRenderer

          void addRenderer(int tok)

    - #### checkTranslucent

          boolean checkTranslucent(boolean isAlphaTranslucent)

    - #### drawAtom

          void drawAtom(Atom atom,
                        float radius)

    - #### drawBond

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

    - #### drawDashedLineBits

          void drawDashedLineBits(int run,
                                  int rise,
                                  javajs.util.P3 screenA,
                                  javajs.util.P3 screenB)

    - #### drawEllipse

          boolean drawEllipse(javajs.util.P3 ptAtom,
                              javajs.util.P3 ptX,
                              javajs.util.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,
                            javajs.util.P3 s0,
                            javajs.util.P3 s1,
                            javajs.util.P3 s2,
                            javajs.util.P3 s3)

    - #### drawHermite7

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

    - #### drawImage

          void drawImage(java.lang.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(javajs.util.P3 pointA,
                          javajs.util.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(java.lang.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(java.lang.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(javajs.util.P3i screenA,
                              short colixA,
                              javajs.util.P3i screenB,
                              short colixB,
                              javajs.util.P3i screenC,
                              short colixC,
                              int check)

    - #### fillConeScreen3f

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

    - #### fillCylinder

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

    - #### fillCylinderBits

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

    - #### fillCylinderScreen3I

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

    - #### fillCylinderBits2

          void fillCylinderBits2(short colixA,
                                 short colixB,
                                 byte endcaps,
                                 int diameter,
                                 javajs.util.P3 screenA,
                                 javajs.util.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(javajs.util.P3 center,
                             javajs.util.P3[] points,
                             int x,
                             int y,
                             int z,
                             int diameter,
                             javajs.util.M3 mToEllipsoidal,
                             double[] coef,
                             javajs.util.M4 mDeriv,
                             int selectedOctant,
                             javajs.util.P3[] octantPoints)

    - #### fillHermite

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

    - #### fillQuadrilateral

          void fillQuadrilateral(javajs.util.P3 screenA,
                                 javajs.util.P3 screenB,
                                 javajs.util.P3 screenC,
                                 javajs.util.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,
                              javajs.util.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,
                           javajs.util.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(javajs.util.P3i screenA,
                               short colixA,
                               short normixA,
                               javajs.util.P3i screenB,
                               short colixB,
                               short normixB,
                               javajs.util.P3i screenC,
                               short colixC,
                               short normixC)

    - #### fillTriangle3f

          void fillTriangle3f(javajs.util.P3 screenA,
                              javajs.util.P3 screenB,
                              javajs.util.P3 screenC,
                              boolean setNoisy)

    - #### fillTriangle3i

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

    - #### fillTriangleTwoSided

          void fillTriangleTwoSided(short normix,
                                    javajs.util.P3 a,
                                    javajs.util.P3 b,
                                    javajs.util.P3 c)

    - #### finalizeOutput

          java.lang.String finalizeOutput()

    - #### getExportName

          java.lang.String getExportName()

    - #### isWebGL

          boolean isWebGL()

    - #### getExportType

          int getExportType()

    - #### haveTranslucentObjects

          boolean haveTranslucentObjects()

    - #### initializeExporter

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

    - #### initializeOutput

          boolean initializeOutput(Viewer vwr,
                                   double privateKey,
                                   java.util.Map<java.lang.String,java.lang.Object> params)

    - #### plotImagePixel

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

    - #### plotPixelClippedP3i

          void plotPixelClippedP3i(javajs.util.P3i a)

    - #### renderBackground

          void renderBackground(JmolRendererInterface jre)

    - #### renderCrossHairs

          void renderCrossHairs(int[] minMax,
                                int screenWidth,
                                int screenHeight,
                                javajs.util.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(javajs.util.P3 pA,
                                   short colixA,
                                   short nA,
                                   javajs.util.P3 pB,
                                   short colixB,
                                   short nB,
                                   javajs.util.P3 pC,
                                   short colixC,
                                   short nC,
                                   boolean twoSided)

    - #### drawLineBits

          void drawLineBits(short colixA,
                            short colixB,
                            javajs.util.P3 pointA,
                            javajs.util.P3 pointB)