MeshData
Date: 2019-10-22

org.jmol.jvxl.data

## Class MeshData

- java.lang.Object
- - org.jmol.util.MeshSurface
  - - org.jmol.jvxl.data.MeshData

-     public class MeshData
      extends MeshSurface

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `MeshData.SortSet`
    `private class` | `MeshData.SSet`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `MODE_GET_COLOR_INDEXES`
    `static int` | `MODE_GET_VERTICES`
    `static int` | `MODE_PUT_SETS`
    `static int` | `MODE_PUT_VERTICES`
    `java.lang.String` | `polygonColorData`
    `private boolean` | `setsSuccessful`
    `int` | `vertexIncrement`

    - ### Fields inherited from class org.jmol.util.MeshSurface

      `altVertices, bsDisplay, bsPolygons, bsSlabDisplay, bsSlabGhost, colix, colixBack, colorsExplicit, dataOnly, haveQuads, iA, iB, iC, isColorSolid, isDrawPolygon, isMerged, mat4, mergePolygonCount0, mergeVertexCount0, meshType, normalCount, normals, normalsTemp, normixCount, nSets, oabc, offset, P_CHECK, P_CONTOUR, P_EXPLICIT_COLOR, pc, pcs, pis, polygonCount0, SEED_COUNT, slabColix, slabMeshType, slabOptions, surfaceAtoms, surfaceSet, vc, vcs, vertexCount0, vertexSets, vertexSource, vs, vvs, vwr`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MeshData()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `addVertexCopy(javajs.util.T3 vertex, float value, int assocVertex, boolean asCopy)`
    `static java.lang.Object` | `calculateVolumeOrArea(MeshData m, int thisSet, boolean isArea, boolean getSets)`
    `static boolean` | `checkCutoff(int iA, int iB, int iC, float[] vertexValues)`
    `private void` | `createSet(int v1, int v2, int v3)`
    `private int` | `findSet(int vertex)`
    `javajs.util.BS[]` | `getSurfaceSet()`
    `private javajs.util.BS[]` | `getSurfaceSetForLevel(int level)`
    `void` | `invalidateSurfaceSet(int i)`
    `void` | `invalidateVertices(javajs.util.BS bsInvalid)`
    `private void` | `mergeSets(int a, int b)`
    `void` | `setVertexSets(boolean onlyIfNull)`
    `void` | `updateInvalidatedVertices(javajs.util.BS bs)`

    - ### Methods inherited from class org.jmol.util.MeshSurface

      `addPolygon, addPolygonC, addQuad, addTriangle, addTriangleCheck, addV, addVCVal, getFaces, getMeshSlicer, getResolution, getSlabColor, getSlabType, getSphereData, getSphericalInterpolationFraction, getVertices, invalidatePolygons, newMesh, resetSlab, setABC, setBoundingBox, setBox, setColix, setColixBack, setPolygonCount, setTranslucentVertices, slabBrillouin, slabPolygonsList`

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

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

- - ### Field Detail

    - #### MODE_GET_VERTICES

          public static final int MODE_GET_VERTICES

      See Also:
        Constant Field Values

    - #### MODE_GET_COLOR_INDEXES

          public static final int MODE_GET_COLOR_INDEXES

      See Also:
        Constant Field Values

    - #### MODE_PUT_SETS

          public static final int MODE_PUT_SETS

      See Also:
        Constant Field Values

    - #### MODE_PUT_VERTICES

          public static final int MODE_PUT_VERTICES

      See Also:
        Constant Field Values

    - #### setsSuccessful

          private boolean setsSuccessful

    - #### vertexIncrement

          public int vertexIncrement

    - #### polygonColorData

          public java.lang.String polygonColorData

  - ### Constructor Detail

    - #### MeshData

          public MeshData()

  - ### Method Detail

    - #### addVertexCopy

          public int addVertexCopy(javajs.util.T3 vertex,
                                   float value,
                                   int assocVertex,
                                   boolean asCopy)

    - #### getSurfaceSet

          public javajs.util.BS[] getSurfaceSet()

    - #### getSurfaceSetForLevel

          private javajs.util.BS[] getSurfaceSetForLevel(int level)

    - #### setVertexSets

          public void setVertexSets(boolean onlyIfNull)

    - #### findSet

          private int findSet(int vertex)

    - #### createSet

          private void createSet(int v1,
                                 int v2,
                                 int v3)

    - #### mergeSets

          private void mergeSets(int a,
                                 int b)

    - #### invalidateSurfaceSet

          public void invalidateSurfaceSet(int i)

    - #### checkCutoff

          public static boolean checkCutoff(int iA,
                                            int iB,
                                            int iC,
                                            float[] vertexValues)

    - #### calculateVolumeOrArea

          public static java.lang.Object calculateVolumeOrArea(MeshData m,
                                                               int thisSet,
                                                               boolean isArea,
                                                               boolean getSets)

      Parameters:
        `m` -
        `thisSet` - set to Integer.MIN_VALUE to ensure an array. If a set has been selected, we return a Float
        `isArea` -
        `getSets` -
      Returns:
        Float or double[]

    - #### updateInvalidatedVertices

          public void updateInvalidatedVertices(javajs.util.BS bs)

    - #### invalidateVertices

          public void invalidateVertices(javajs.util.BS bsInvalid)