MeshRenderer
Date: 2019-10-22

org.jmol.render

## Class MeshRenderer

- java.lang.Object
- - org.jmol.render.ShapeRenderer
  - - org.jmol.render.MeshRenderer

- Direct Known Subclasses:
    BioMeshRenderer, DrawRenderer, IsosurfaceRenderer

      public abstract class MeshRenderer
      extends ShapeRenderer

  an abstract class subclasssed by BioShapeRenderer, DrawRenderer, and IsosurfaceRenderer

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `antialias`
    `protected javajs.util.BS` | `bsPolygons`
    `protected javajs.util.BS` | `bsPolygonsToExport`
    `protected int` | `diameter`
    `private boolean` | `doRender`
    `protected int` | `exportPass`
    `protected boolean` | `forceShowTriangles`
    `protected boolean` | `frontOnly`
    `protected boolean` | `haveBsDisplay`
    `protected float` | `imageFontScaling`
    `protected boolean` | `isGhostPass`
    `protected boolean` | `isShell`
    `protected boolean` | `isTranslucent`
    `protected boolean` | `isTranslucentInherit`
    `protected javajs.util.P3` | `latticeOffset`
    `protected Mesh` | `mesh`
    `protected int` | `meshSlabValue`
    `protected boolean` | `needTranslucent`
    `protected short[]` | `normixes`
    `protected javajs.util.P3[]` | `p3Screens`
    `protected javajs.util.P3` | `pt1f`
    `protected javajs.util.P3i` | `pt1i`
    `protected javajs.util.P3` | `pt2f`
    `protected javajs.util.P3i` | `pt2i`
    `protected javajs.util.P3i` | `pt3i`
    `protected boolean` | `renderLow`
    `protected float` | `scalePixelsPerMicron`
    `protected javajs.util.P3i[]` | `screens`
    `protected boolean` | `selectedPolyOnly`
    `private boolean` | `showTriangles`
    `protected javajs.util.P4` | `thePlane`
    `protected javajs.util.V3[]` | `transformedVectors`
    `protected int` | `vertexCount`
    `protected javajs.util.T3[]` | `vertices`
    `protected boolean` | `volumeRender`
    `protected float` | `width`

    - ### Fields inherited from class org.jmol.render.ShapeRenderer

      `colix, exportType, g3d, isExport, mad, ms, myVisibilityFlag, shape, shapeID, tm, vwr`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MeshRenderer()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected int` | `checkFront(short nA, short nB, short nC)`
    `protected void` | `drawEdge(int iA, int iB, boolean fill, javajs.util.T3 vA, javajs.util.T3 vB, javajs.util.P3i sA, javajs.util.P3i sB)`
    `private void` | `drawMeshSphere(javajs.util.P3i pt)`
    `private void` | `drawPoint(int pt, boolean forTriangle)`
    `protected void` | `drawTriangle(javajs.util.P3i screenA, short colixA, javajs.util.P3i screenB, short colixB, javajs.util.P3i screenC, short colixC, int check, int diam)`
    `private void` | `drawTriangleBits(javajs.util.P3 screenA, short colixA, javajs.util.P3 screenB, short colixB, javajs.util.P3 screenC, short colixC, int check, int diam)`
    `protected void` | `exportSurface(short colix)`
    `protected boolean` | `isPolygonDisplayable(int i)`
    `protected boolean` | `isVisibleNormix(short normix)`
    `protected void` | `render2(boolean generateSet)` Overridden in DrawRenderer and IsosurfaceRenderer
    `protected void` | `render2b(boolean generateSet)`
    `protected boolean` | `renderMesh2(Mesh mesh)` overridden in BioShapeRenderer, DrawRenderer, and IsosurfaceRenderer
    `protected void` | `renderPoints()`
    `protected void` | `renderTriangles(boolean fill, boolean iShowTriangles, boolean generateSet)`
    `boolean` | `setColix(short colix)`
    `private boolean` | `setVariables()`

    - ### Methods inherited from class org.jmol.render.ShapeRenderer

      `initRenderer, isVisibleForMe, render, renderShape, setup, setViewerG3dShapeID`

    - ### Methods inherited from class java.lang.Object

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

- - ### Field Detail

    - #### mesh

          protected Mesh mesh

    - #### vertices

          protected javajs.util.T3[] vertices

    - #### normixes

          protected short[] normixes

    - #### screens

          protected javajs.util.P3i[] screens

    - #### p3Screens

          protected javajs.util.P3[] p3Screens

    - #### transformedVectors

          protected javajs.util.V3[] transformedVectors

    - #### vertexCount

          protected int vertexCount

    - #### imageFontScaling

          protected float imageFontScaling

    - #### scalePixelsPerMicron

          protected float scalePixelsPerMicron

    - #### diameter

          protected int diameter

    - #### width

          protected float width

    - #### isTranslucent

          protected boolean isTranslucent

    - #### frontOnly

          protected boolean frontOnly

    - #### isShell

          protected boolean isShell

    - #### antialias

          protected boolean antialias

    - #### haveBsDisplay

          protected boolean haveBsDisplay

    - #### selectedPolyOnly

          protected boolean selectedPolyOnly

    - #### isGhostPass

          protected boolean isGhostPass

    - #### thePlane

          protected javajs.util.P4 thePlane

    - #### latticeOffset

          protected javajs.util.P3 latticeOffset

    - #### pt1f

          protected final javajs.util.P3 pt1f

    - #### pt2f

          protected final javajs.util.P3 pt2f

    - #### pt1i

          protected javajs.util.P3i pt1i

    - #### pt2i

          protected javajs.util.P3i pt2i

    - #### pt3i

          protected final javajs.util.P3i pt3i

    - #### exportPass

          protected int exportPass

    - #### needTranslucent

          protected boolean needTranslucent

    - #### doRender

          private boolean doRender

    - #### volumeRender

          protected boolean volumeRender

    - #### bsPolygons

          protected javajs.util.BS bsPolygons

    - #### isTranslucentInherit

          protected boolean isTranslucentInherit

    - #### renderLow

          protected boolean renderLow

    - #### meshSlabValue

          protected int meshSlabValue

    - #### showTriangles

          private boolean showTriangles

    - #### forceShowTriangles

          protected boolean forceShowTriangles

    - #### bsPolygonsToExport

          protected javajs.util.BS bsPolygonsToExport

  - ### Constructor Detail

    - #### MeshRenderer

          public MeshRenderer()

  - ### Method Detail

    - #### renderMesh2

          protected boolean renderMesh2(Mesh mesh)

      overridden in BioShapeRenderer, DrawRenderer, and IsosurfaceRenderer
      Parameters:
        `mesh` -
      Returns:
        whether we need to show info

    - #### setVariables

          private boolean setVariables()

    - #### setColix

          public boolean setColix(short colix)

    - #### isPolygonDisplayable

          protected boolean isPolygonDisplayable(int i)

      Parameters:
        `i` -
      Returns:
        T/F

    - #### render2

          protected void render2(boolean generateSet)

      Overridden in DrawRenderer and IsosurfaceRenderer
      Parameters:
        `generateSet` -

    - #### render2b

          protected void render2b(boolean generateSet)

    - #### renderPoints

          protected void renderPoints()

    - #### drawPoint

          private void drawPoint(int pt,
                                 boolean forTriangle)

    - #### drawMeshSphere

          private void drawMeshSphere(javajs.util.P3i pt)

    - #### renderTriangles

          protected void renderTriangles(boolean fill,
                                         boolean iShowTriangles,
                                         boolean generateSet)

    - #### isVisibleNormix

          protected boolean isVisibleNormix(short normix)

    - #### drawTriangleBits

          private void drawTriangleBits(javajs.util.P3 screenA,
                                        short colixA,
                                        javajs.util.P3 screenB,
                                        short colixB,
                                        javajs.util.P3 screenC,
                                        short colixC,
                                        int check,
                                        int diam)

    - #### drawTriangle

          protected void drawTriangle(javajs.util.P3i screenA,
                                      short colixA,
                                      javajs.util.P3i screenB,
                                      short colixB,
                                      javajs.util.P3i screenC,
                                      short colixC,
                                      int check,
                                      int diam)

    - #### checkFront

          protected int checkFront(short nA,
                                   short nB,
                                   short nC)

    - #### drawEdge

          protected void drawEdge(int iA,
                                  int iB,
                                  boolean fill,
                                  javajs.util.T3 vA,
                                  javajs.util.T3 vB,
                                  javajs.util.P3i sA,
                                  javajs.util.P3i sB)

    - #### exportSurface

          protected void exportSurface(short colix)