RocketRenderer
Date: 2019-10-22

org.jmol.renderbio

## Class RocketRenderer

- java.lang.Object
- - org.jmol.renderbio.RocketRenderer

-     public class RocketRenderer
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private static int[][]` | `arrowHeadFaces`
    `private static int[][]` | `boxFaces`
    `private short` | `colix`
    `private javajs.util.P3[]` | `corners`
    `private int` | `endIndexPending`
    `private JmolRendererInterface` | `g3d`
    `private boolean` | `isRockets`
    `private short` | `mad`
    `private MeshSurface` | `meshSurface`
    `private ProteinStructure` | `proteinstructurePending`
    `private javajs.util.P3` | `ptC`
    `private javajs.util.P3` | `ptTip`
    `private boolean` | `renderArrowHeads`
    `private RocketsRenderer` | `rr`
    `private javajs.util.P3` | `screenA`
    `private javajs.util.P3` | `screenB`
    `private javajs.util.P3` | `screenC`
    `private javajs.util.P3[]` | `screenCorners`
    `private int` | `startIndexPending`
    `private TransformManager` | `tm`
    `private boolean` | `tPending`
    `private javajs.util.V3` | `vH`
    `private javajs.util.V3` | `vtemp`
    `private javajs.util.V3` | `vW`
    `private Viewer` | `vwr`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RocketRenderer()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `private void` | `buildBox(javajs.util.P3 pointCorner, javajs.util.V3 scaledWidthVector, javajs.util.V3 scaledHeightVector, javajs.util.V3 lengthVector)`
    `private void` | `renderPart(int[][] planes)`
    `private void` | `renderPending()`
    `private void` | `renderPendingRocketSegment(int i, javajs.util.P3 pointStart, javajs.util.P3 pointBeforeEnd, javajs.util.P3 pointEnd, boolean renderArrowHead)`
    `private void` | `renderPendingSheetPlank(javajs.util.P3 ptStart, javajs.util.P3 pointBeforeEnd, javajs.util.P3 ptEnd, boolean renderArrowHead)`
    `(package private) void` | `renderRockets()`
    `private void` | `renderSpecialSegment(AlphaMonomer monomer, short thisColix, short thisMad)`
    `(package private) RocketRenderer` | `set(RocketsRenderer rr)`
    `private void` | `setBox(float w, float h, javajs.util.P3 pt)`

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

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

- - ### Field Detail

    - #### tPending

          private boolean tPending

    - #### proteinstructurePending

          private ProteinStructure proteinstructurePending

    - #### startIndexPending

          private int startIndexPending

    - #### endIndexPending

          private int endIndexPending

    - #### vtemp

          private javajs.util.V3 vtemp

    - #### screenA

          private javajs.util.P3 screenA

    - #### screenB

          private javajs.util.P3 screenB

    - #### screenC

          private javajs.util.P3 screenC

    - #### colix

          private short colix

    - #### mad

          private short mad

    - #### rr

          private RocketsRenderer rr

    - #### vwr

          private Viewer vwr

    - #### g3d

          private JmolRendererInterface g3d

    - #### tm

          private TransformManager tm

    - #### renderArrowHeads

          private boolean renderArrowHeads

    - #### isRockets

          private boolean isRockets

    - #### boxFaces

          private static final int[][] boxFaces

    - #### arrowHeadFaces

          private static final int[][] arrowHeadFaces

    - #### ptC

          private javajs.util.P3 ptC

    - #### ptTip

          private javajs.util.P3 ptTip

    - #### corners

          private javajs.util.P3[] corners

    - #### screenCorners

          private javajs.util.P3[] screenCorners

    - #### vW

          private javajs.util.V3 vW

    - #### vH

          private javajs.util.V3 vH

    - #### meshSurface

          private MeshSurface meshSurface

  - ### Constructor Detail

    - #### RocketRenderer

          public RocketRenderer()

  - ### Method Detail

    - #### set

          RocketRenderer set(RocketsRenderer rr)

    - #### renderRockets

          void renderRockets()

    - #### renderSpecialSegment

          private void renderSpecialSegment(AlphaMonomer monomer,
                                            short thisColix,
                                            short thisMad)

    - #### renderPending

          private void renderPending()

    - #### renderPendingRocketSegment

          private void renderPendingRocketSegment(int i,
                                                  javajs.util.P3 pointStart,
                                                  javajs.util.P3 pointBeforeEnd,
                                                  javajs.util.P3 pointEnd,
                                                  boolean renderArrowHead)

      Parameters:
        `i` -
        `pointStart` -
        `pointBeforeEnd` - ignored now that arrow heads protrude beyond end of rocket
        `pointEnd` -
        `renderArrowHead` -

    - #### renderPendingSheetPlank

          private void renderPendingSheetPlank(javajs.util.P3 ptStart,
                                               javajs.util.P3 pointBeforeEnd,
                                               javajs.util.P3 ptEnd,
                                               boolean renderArrowHead)

    - #### setBox

          private void setBox(float w,
                              float h,
                              javajs.util.P3 pt)

    - #### buildBox

          private void buildBox(javajs.util.P3 pointCorner,
                                javajs.util.V3 scaledWidthVector,
                                javajs.util.V3 scaledHeightVector,
                                javajs.util.V3 lengthVector)

    - #### renderPart

          private void renderPart(int[][] planes)