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
    private short
     
    private int
     
    protected ___Exporter
     
    (package private) String
     
    private GData
     
    private int
     
     
    private boolean
     
    private double
     
    private javajs.util.P3
     
    private javajs.util.P3
     
    private javajs.util.P3
     
    private javajs.util.P3
     
    private int
     
    private boolean
     
    private int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • 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(javajs.util.P3 atomA, javajs.util.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, javajs.util.P3 pointA, javajs.util.P3 pointB)
     
    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 screened circle ...
    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)
     
    private void
    drawHLine(int x, int y, int z, int w)
     
    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(javajs.util.P3 pointA, javajs.util.P3 pointB)
     
    void
    drawLineBits(short colixA, short colixB, javajs.util.P3 pointA, javajs.util.P3 pointB)
     
    void
    drawLineBits(javajs.util.P3 screenA, javajs.util.P3 screenB, short colixA, short colixB)
     
    void
    drawLinePixels(javajs.util.P3i sA, javajs.util.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(javajs.util.P3i screenA, short colixA, javajs.util.P3i screenB, short colixB, javajs.util.P3i screenC, short colixC, int check)
     
    private void
    drawVLine(int x, int y, int z, int h)
     
    void
    fillConeScreen3f(byte endcap, int screenDiameter, javajs.util.P3 pointBase, javajs.util.P3 screenTip, boolean isBarb)
     
    void
    fillCylinder(byte endcaps, int diameter, javajs.util.P3i pointA, javajs.util.P3i pointB)
     
    void
    fillCylinderBits(byte endcaps, int diameter, javajs.util.P3 pointA, javajs.util.P3 pointB)
     
    void
    fillCylinderBits2(short colixA, short colixB, byte endcaps, int mad, javajs.util.P3 screenA, javajs.util.P3 screenB)
     
    void
    fillCylinderScreen3I(byte endcaps, int diameter, javajs.util.P3 pointA, javajs.util.P3 pointB, javajs.util.P3 pt0f, javajs.util.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(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 pointA, javajs.util.P3 pointB, javajs.util.P3 pointC, javajs.util.P3 pointD, 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 pointA, short colixA, short normixA, javajs.util.P3i pointB, short colixB, short normixB, javajs.util.P3i pointC, 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 pointA, javajs.util.P3 pointB, javajs.util.P3 pointC, boolean setNoisy)
     
    void
    fillTriangle3i(javajs.util.P3 screenA, javajs.util.P3 screenB, javajs.util.P3 screenC, javajs.util.T3 ptA0, javajs.util.T3 ptB0, javajs.util.T3 ptC0, boolean doShade)
     
    void
    fillTriangleTwoSided(short normix, javajs.util.P3 a, javajs.util.P3 b, javajs.util.P3 c)
     
     
     
    int
     
    double
     
    boolean
     
    initializeExporter(Viewer vwr, double privateKey, GData gdata, Map<String,Object> params)
     
    boolean
    initializeOutput(Viewer vwr, double privateKey, Map<String,Object> params)
     
    boolean
    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
     
    void
    plotImagePixel(int argb, int x, int y, int z, byte shade, int bgargb, int width, int height, int[] pbuf, Object p, int transpLog)
     
    (package private) void
    plotPixelClipped(int x, int y, int z)
     
    void
    plotPixelClippedP3i(javajs.util.P3i screen)
     
    void
     
    void
     
    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
    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 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • exporter

      protected ___Exporter exporter
    • privateKey

      private double privateKey
    • gdata

      private GData gdata
    • colix

      private short colix
    • hermite3d

      private HermiteRenderer hermite3d
    • width

      private int width
    • height

      private int height
    • slab

      private int slab
    • depth

      private int depth
    • exportName

      String exportName
    • webGL

      private boolean webGL
    • isCartesian

      private boolean isCartesian
    • ptA

      private javajs.util.P3 ptA
    • ptB

      private javajs.util.P3 ptB
    • ptC

      private javajs.util.P3 ptC
    • ptD

      private javajs.util.P3 ptD
  • 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
    • drawHLine

      private void drawHLine(int x, int y, int z, int w)
      Parameters:
      x -
      y -
      z -
      w -
    • drawVLine

      private void drawVLine(int x, int y, int z, int h)
      Parameters:
      x -
      y -
      z -
      h -
    • 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, javajs.util.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, javajs.util.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
    • plotPixelClipped

      void plotPixelClipped(int x, int y, int z)
    • plotPixelClippedP3i

      public void plotPixelClippedP3i(javajs.util.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, javajs.util.P3 pointA, javajs.util.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, javajs.util.P3 pointA, javajs.util.P3 pointB)
      Specified by:
      drawLineBits in interface JmolRendererInterface
    • drawLineAB

      public void drawLineAB(javajs.util.P3 pointA, javajs.util.P3 pointB)
      Specified by:
      drawLineAB in interface JmolRendererInterface
    • drawBond

      public void drawBond(javajs.util.P3 atomA, javajs.util.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, javajs.util.P3 pointA, javajs.util.P3 pointB, javajs.util.P3 pt0f, javajs.util.P3 pt1f, float radius)
      Specified by:
      fillCylinderScreen3I in interface JmolRendererInterface
    • fillCylinder

      public void fillCylinder(byte endcaps, int diameter, javajs.util.P3i pointA, javajs.util.P3i pointB)
      Specified by:
      fillCylinder in interface JmolRendererInterface
    • fillCylinderBits

      public void fillCylinderBits(byte endcaps, int diameter, javajs.util.P3 pointA, javajs.util.P3 pointB)
      Specified by:
      fillCylinderBits in interface JmolRendererInterface
    • fillConeScreen3f

      public void fillConeScreen3f(byte endcap, int screenDiameter, javajs.util.P3 pointBase, javajs.util.P3 screenTip, boolean isBarb)
      Specified by:
      fillConeScreen3f in interface JmolRendererInterface
    • drawHermite4

      public void drawHermite4(int tension, javajs.util.P3 s0, javajs.util.P3 s1, javajs.util.P3 s2, javajs.util.P3 s3)
      Specified by:
      drawHermite4 in interface JmolRendererInterface
    • fillHermite

      public 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)
      Specified by:
      fillHermite in interface JmolRendererInterface
    • drawTriangle3C

      public void drawTriangle3C(javajs.util.P3i screenA, short colixA, javajs.util.P3i screenB, short colixB, javajs.util.P3i screenC, short colixC, int check)
      Specified by:
      drawTriangle3C in interface JmolRendererInterface
    • drawLineBits

      public void drawLineBits(javajs.util.P3 screenA, javajs.util.P3 screenB, short colixA, short colixB)
    • fillCylinderBits2

      public void fillCylinderBits2(short colixA, short colixB, byte endcaps, int mad, javajs.util.P3 screenA, javajs.util.P3 screenB)
      Specified by:
      fillCylinderBits2 in interface JmolRendererInterface
    • fillTriangle3CNBits

      public 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)
      Specified by:
      fillTriangle3CNBits in interface JmolRendererInterface
    • fillTriangle3CN

      public void fillTriangle3CN(javajs.util.P3i pointA, short colixA, short normixA, javajs.util.P3i pointB, short colixB, short normixB, javajs.util.P3i pointC, short colixC, short normixC)
      Specified by:
      fillTriangle3CN in interface JmolRendererInterface
    • fillTriangleTwoSided

      public void fillTriangleTwoSided(short normix, javajs.util.P3 a, javajs.util.P3 b, javajs.util.P3 c)
      Specified by:
      fillTriangleTwoSided in interface JmolRendererInterface
    • fillTriangle3f

      public void fillTriangle3f(javajs.util.P3 pointA, javajs.util.P3 pointB, javajs.util.P3 pointC, boolean setNoisy)
      Specified by:
      fillTriangle3f in interface JmolRendererInterface
    • fillTriangle3i

      public void fillTriangle3i(javajs.util.P3 screenA, javajs.util.P3 screenB, javajs.util.P3 screenC, javajs.util.T3 ptA0, javajs.util.T3 ptB0, javajs.util.T3 ptC0, boolean doShade)
      Specified by:
      fillTriangle3i in interface JmolRendererInterface
    • fillQuadrilateral

      public void fillQuadrilateral(javajs.util.P3 pointA, javajs.util.P3 pointB, javajs.util.P3 pointC, javajs.util.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(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)
      Specified by:
      fillEllipsoid in interface JmolRendererInterface
    • drawEllipse

      public boolean drawEllipse(javajs.util.P3 ptAtom, javajs.util.P3 ptX, javajs.util.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, javajs.util.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, 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)
      Specified by:
      drawHermite7 in interface JmolRendererInterface
    • renderAllStrings

      public void renderAllStrings(Object jr)
      Specified by:
      renderAllStrings in interface JmolGraphicsInterface
    • drawLinePixels

      public void drawLinePixels(javajs.util.P3i sA, javajs.util.P3i sB, int z, int zslab)
      Specified by:
      drawLinePixels in interface JmolGraphicsInterface