Polyhedron
Date: 2019-10-22

org.jmol.shapespecial

## Class Polyhedron

- java.lang.Object
- - org.jmol.shapespecial.Polyhedron

-     public class Polyhedron
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private javajs.util.BS` | `bsFlat`
    `javajs.util.P3` | `center`
    `Atom` | `centralAtom`
    `short` | `colix`
    `short` | `colixEdge`
    `boolean` | `collapsed`
    `private float` | `distanceRef`
    `private int[]` | `elemNos`
    `int[][]` | `faces`
    `private int[][]` | `faceTriangles`
    `java.lang.String` | `id`
    `(package private) java.util.Map<java.lang.String,java.lang.Object>` | `info`
    `(package private) boolean` | `isFullyLit`
    `boolean` | `isValid`
    `int` | `modelIndex`
    `private javajs.util.V3[]` | `normals`
    `private short[]` | `normixes`
    `(package private) int` | `nVertices`
    `private javajs.util.P3` | `offset`
    `(package private) javajs.util.P4[]` | `planes`
    `private SymmetryInterface` | `pointGroup` includes vertices as atoms, with atomic numbers
    `private SymmetryInterface` | `pointGroupFamily` includes vertices as generic points
    `float` | `pointScale`
    `java.lang.String` | `polySmiles`
    `float` | `scale`
    `java.lang.String` | `smarts`
    `java.lang.String` | `smiles`
    `int[][]` | `triangles`
    `javajs.util.P3[]` | `vertices`
    `int` | `visibilityFlags`
    `(package private) boolean` | `visible`
    `private java.lang.Float` | `volume`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Polyhedron()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int[]` | `getElemNos()`
    `(package private) java.util.Map<java.lang.String,java.lang.Object>` | `getInfo(Viewer vwr, java.lang.String property)`
    `short[]` | `getNormixes()`
    `(package private) java.lang.String` | `getState(Viewer vwr)`
    `(package private) java.lang.String` | `getSymmetry(Viewer vwr, boolean withPointGroup)`
    `private java.lang.Float` | `getVolume()` allows for n-gon, not just triangle; if last component index is negative, then that's a mesh code
    `(package private) void` | `move(javajs.util.M4 mat, javajs.util.BS bsMoved)`
    `(package private) Polyhedron` | `set(java.lang.String id, int modelIndex, javajs.util.P3 atomOrPt, javajs.util.P3[] points, int nPoints, int vertexCount, int[][] triangles, int triangleCount, int[][] faces, int[][] faceTriangles, javajs.util.V3[] normals, javajs.util.BS bsFlat, boolean collapsed, float distanceRef, float pointScale)`
    `(package private) Polyhedron` | `setInfo(Viewer vwr, java.util.Map<java.lang.String,java.lang.Object> info, Atom[] at)`
    `(package private) void` | `setOffset(javajs.util.P3 value)`
    `private int[][]` | `toInt2(boolean isSV, java.lang.Object o)`
    `private float` | `triangleArea(int i, int j, int k, javajs.util.V3 vAB, javajs.util.V3 vAC, javajs.util.V3 vTemp)`
    `private float` | `triangleVolume(int i, int j, int k, javajs.util.V3 vAB, javajs.util.V3 vAC, javajs.util.V3 vTemp)`

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

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

- - ### Field Detail

    - #### info

          java.util.Map<java.lang.String,java.lang.Object> info

    - #### id

          public java.lang.String id

    - #### center

          public javajs.util.P3 center

    - #### centralAtom

          public Atom centralAtom

    - #### vertices

          public javajs.util.P3[] vertices

    - #### triangles

          public int[][] triangles

    - #### faces

          public int[][] faces

    - #### nVertices

          int nVertices

    - #### collapsed

          public boolean collapsed

    - #### bsFlat

          private javajs.util.BS bsFlat

    - #### distanceRef

          private float distanceRef

    - #### normals

          private javajs.util.V3[] normals

    - #### normixes

          private short[] normixes

    - #### planes

          javajs.util.P4[] planes

    - #### smiles

          public java.lang.String smiles

    - #### smarts

          public java.lang.String smarts

    - #### polySmiles

          public java.lang.String polySmiles

    - #### pointGroup

          private SymmetryInterface pointGroup

      includes vertices as atoms, with atomic numbers

    - #### pointGroupFamily

          private SymmetryInterface pointGroupFamily

      includes vertices as generic points

    - #### volume

          private java.lang.Float volume

    - #### visible

          boolean visible

    - #### isFullyLit

          boolean isFullyLit

    - #### isValid

          public boolean isValid

    - #### colixEdge

          public short colixEdge

    - #### visibilityFlags

          public int visibilityFlags

    - #### colix

          public short colix

    - #### modelIndex

          public int modelIndex

    - #### offset

          private javajs.util.P3 offset

    - #### scale

          public float scale

    - #### pointScale

          public float pointScale

    - #### faceTriangles

          private int[][] faceTriangles

    - #### elemNos

          private int[] elemNos

  - ### Constructor Detail

    - #### Polyhedron

          Polyhedron()

  - ### Method Detail

    - #### set

          Polyhedron set(java.lang.String id,
                         int modelIndex,
                         javajs.util.P3 atomOrPt,
                         javajs.util.P3[] points,
                         int nPoints,
                         int vertexCount,
                         int[][] triangles,
                         int triangleCount,
                         int[][] faces,
                         int[][] faceTriangles,
                         javajs.util.V3[] normals,
                         javajs.util.BS bsFlat,
                         boolean collapsed,
                         float distanceRef,
                         float pointScale)

    - #### setInfo

          Polyhedron setInfo(Viewer vwr,
                             java.util.Map<java.lang.String,java.lang.Object> info,
                             Atom[] at)

    - #### toInt2

          private int[][] toInt2(boolean isSV,
                                 java.lang.Object o)

    - #### getInfo

          java.util.Map<java.lang.String,java.lang.Object> getInfo(Viewer vwr,
                                                                   java.lang.String property)

    - #### getElemNos

          public int[] getElemNos()

    - #### getSymmetry

          java.lang.String getSymmetry(Viewer vwr,
                                       boolean withPointGroup)

    - #### getVolume

          private java.lang.Float getVolume()

      allows for n-gon, not just triangle; if last component index is negative, then that's a mesh code
      Returns:
        volume

    - #### triangleArea

          private float triangleArea(int i,
                                     int j,
                                     int k,
                                     javajs.util.V3 vAB,
                                     javajs.util.V3 vAC,
                                     javajs.util.V3 vTemp)

    - #### triangleVolume

          private float triangleVolume(int i,
                                       int j,
                                       int k,
                                       javajs.util.V3 vAB,
                                       javajs.util.V3 vAC,
                                       javajs.util.V3 vTemp)

    - #### getState

          java.lang.String getState(Viewer vwr)

    - #### move

          void move(javajs.util.M4 mat,
                    javajs.util.BS bsMoved)

    - #### getNormixes

          public short[] getNormixes()

    - #### setOffset

          void setOffset(javajs.util.P3 value)