CGORenderer
Date: 2019-10-22

org.jmol.rendercgo

## Class CGORenderer

- java.lang.Object
- - org.jmol.render.ShapeRenderer
  - - org.jmol.render.MeshRenderer
    - - org.jmol.renderspecial.DrawRenderer
      - - org.jmol.rendercgo.CGORenderer

-     public class CGORenderer
      extends DrawRenderer

  Something like a PyMOL Compiled Graphical Object, but more interesting!

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private CGOMesh` | `cgoMesh`
    `private javajs.util.Lst<java.lang.Object>` | `cmds`
    `private short` | `colix0`
    `private short` | `colix1`
    `private short` | `colix2`
    `private boolean` | `doColor`
    `private float` | `dx` UV mapping min/max x and y
    `private float` | `dy` UV mapping min/max x and y
    `private boolean` | `is2D`
    `private boolean` | `is2DPercent`
    `private boolean` | `isMapped`
    `private boolean` | `isPS`
    `private javajs.util.P3` | `map0` UV mapping Cartesian origin, X, and Y
    `private short` | `normix`
    `private short` | `normix0`
    `private short` | `normix1`
    `private short` | `normix2`
    `private javajs.util.P3` | `pt3`
    `private int` | `ptColor`
    `private int` | `ptNormal`
    `private float` | `scaleX` UV mapping min/max x and y
    `private float` | `scaleY` UV mapping min/max x and y
    `private int` | `screenZ`
    `private javajs.util.P3` | `vX` UV mapping Cartesian origin, X, and Y
    `private javajs.util.P3` | `vY` UV mapping Cartesian origin, X, and Y
    `private float` | `x0` UV mapping min/max x and y
    `private float` | `y0` UV mapping min/max x and y

    - ### Fields inherited from class org.jmol.renderspecial.DrawRenderer

      `dmesh, pt0, pt0i, pt1, pt2, vTemp, vTemp2`

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

      `antialias, bsPolygons, bsPolygonsToExport, diameter, exportPass, forceShowTriangles, frontOnly, haveBsDisplay, imageFontScaling, isGhostPass, isShell, isTranslucent, isTranslucentInherit, latticeOffset, mesh, meshSlabValue, needTranslucent, normixes, p3Screens, pt1f, pt1i, pt2f, pt2i, pt3i, renderLow, scalePixelsPerMicron, screens, selectedPolyOnly, thePlane, transformedVectors, vertexCount, vertices, volumeRender, 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
    `CGORenderer()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `private void` | `fillTriangle()`
    `private short` | `getColix(boolean doSet)`
    `private short` | `getNormix()`
    `(package private) void` | `getPoint(int i, javajs.util.P3 pt, javajs.util.P3i pti)`
    `protected boolean` | `render()`
    `private void` | `render2(Mesh mesh)`

    - ### Methods inherited from class org.jmol.renderspecial.DrawRenderer

      `isPolygonDisplayable, render2`

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

      `checkFront, drawEdge, drawTriangle, exportSurface, isVisibleNormix, render2b, renderMesh2, renderPoints, renderTriangles, setColix`

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

      `initRenderer, isVisibleForMe, renderShape, setup, setViewerG3dShapeID`

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

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

- - ### Field Detail

    - #### cgoMesh

          private CGOMesh cgoMesh

    - #### cmds

          private javajs.util.Lst<java.lang.Object> cmds

    - #### pt3

          private javajs.util.P3 pt3

    - #### colix0

          private short colix0

    - #### colix1

          private short colix1

    - #### colix2

          private short colix2

    - #### normix0

          private short normix0

    - #### normix1

          private short normix1

    - #### normix2

          private short normix2

    - #### normix

          private short normix

    - #### doColor

          private boolean doColor

    - #### ptNormal

          private int ptNormal

    - #### ptColor

          private int ptColor

    - #### map0

          private javajs.util.P3 map0

      UV mapping Cartesian origin, X, and Y

    - #### vX

          private javajs.util.P3 vX

      UV mapping Cartesian origin, X, and Y

    - #### vY

          private javajs.util.P3 vY

      UV mapping Cartesian origin, X, and Y

    - #### x0

          private float x0

      UV mapping min/max x and y

    - #### y0

          private float y0

      UV mapping min/max x and y

    - #### dx

          private float dx

      UV mapping min/max x and y

    - #### dy

          private float dy

      UV mapping min/max x and y

    - #### scaleX

          private float scaleX

      UV mapping min/max x and y

    - #### scaleY

          private float scaleY

      UV mapping min/max x and y

    - #### is2D

          private boolean is2D

    - #### is2DPercent

          private boolean is2DPercent

    - #### isMapped

          private boolean isMapped

    - #### isPS

          private boolean isPS

    - #### screenZ

          private int screenZ

  - ### Constructor Detail

    - #### CGORenderer

          public CGORenderer()

  - ### Method Detail

    - #### render

          protected boolean render()

      Overrides:
        `render` in class `DrawRenderer`

    - #### render2

          private void render2(Mesh mesh)

    - #### getNormix

          private short getNormix()

    - #### getColix

          private short getColix(boolean doSet)

    - #### getPoint

          void getPoint(int i,
                        javajs.util.P3 pt,
                        javajs.util.P3i pti)

    - #### fillTriangle

          private void fillTriangle()