Model
Date: 2019-10-22

org.jmol.modelset

## Class Model

- java.lang.Object
- - org.jmol.modelset.Model

- Direct Known Subclasses:
    BioModel

      public class Model
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `int` | `act`
    `int` | `altLocCount`
    `java.util.Map<java.lang.String,java.lang.Object>` | `auxiliaryInfo`
    `SymmetryInterface` | `biosymmetry`
    `(package private) int` | `biosymmetryCount`
    `private int` | `bondCount`
    `javajs.util.BS` | `bsAtoms`
    `javajs.util.BS` | `bsAtomsDeleted`
    `private javajs.util.BS` | `bsCheck`
    `protected int` | `chainCount`
    `Chain[]` | `chains`
    `(package private) java.util.Map<java.lang.String,java.lang.Integer>` | `dataFrames`
    `(package private) int` | `dataSourceFrame`
    `(package private) float` | `defaultRotationRadius`
    `java.util.Map<java.lang.String,java.lang.Object>` | `dssrCache`
    `(package private) int` | `fileIndex`
    `int` | `firstAtomIndex`
    `(package private) int` | `firstMoleculeIndex`
    `long` | `frameDelay`
    `int` | `groupCount`
    `(package private) boolean` | `hasChirality`
    `boolean` | `hasRasmolHBonds`
    `int` | `hydrogenCount`
    `(package private) int` | `insertionCount`
    `boolean` | `isBioModel`
    `boolean` | `isJmolDataFrame`
    `boolean` | `isModelKit`
    `boolean` | `isPdbWithMultipleBonds`
    `(package private) boolean` | `isTrajectory`
    `(package private) java.lang.String` | `jmolData`
    `(package private) java.lang.String` | `jmolFrameType`
    `javajs.util.SB` | `loadScript`
    `java.lang.String` | `loadState`
    `javajs.util.M4` | `mat4` mat4 tracks the rotation/translation of the full model using rotateSelected or translateSelected
    `int` | `modelIndex`
    `int` | `moleculeCount`
    `ModelSet` | `ms` BE CAREFUL: FAILURE TO NULL REFERENCES TO modelSet WILL PREVENT FINALIZATION AND CREATE A MEMORY LEAK.
    `Orientation` | `orientation`
    `java.lang.String` | `pdbID`
    `java.util.Properties` | `properties`
    `int` | `selectedTrajectory`
    `SymmetryInterface` | `simpleCage`
    `boolean` | `structureTainted`
    `int` | `trajectoryBaseIndex`
    `(package private) javajs.util.P3` | `translation`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Model()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `(package private) void` | `calcSelectedGroupsCount(javajs.util.BS bsSelected)`
    `void` | `fixIndices(int modelIndex, int nAtomsDeleted, javajs.util.BS bsDeleted)`
    `protected void` | `fixIndicesM(int modelIndex, int nAtomsDeleted, javajs.util.BS bsDeleted)`
    `boolean` | `freeze()`
    `protected void` | `freezeM()`
    `int` | `getBondCount()`
    `(package private) Chain` | `getChain(int chainID)`
    `Chain` | `getChainAt(int i)`
    `int` | `getChainCount(boolean countWater)`
    `int` | `getGroupCount()`
    `int` | `getTrueAtomCount()` not actually accessed -- just pointing out what it is
    `boolean` | `isContainedIn(javajs.util.BS bs)`
    `void` | `resetBoundCount()`
    `void` | `resetDSSR(boolean totally)` Something has changed; clear the DSSR cache and possibly remove DSSR entirely.
    `Model` | `set(ModelSet modelSet, int modelIndex, int trajectoryBaseIndex, java.lang.String jmolData, java.util.Properties properties, java.util.Map<java.lang.String,java.lang.Object> auxiliaryInfo)`

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

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

- - ### Field Detail

    - #### ms

          public ModelSet ms

      BE CAREFUL: FAILURE TO NULL REFERENCES TO modelSet WILL PREVENT FINALIZATION AND CREATE A MEMORY LEAK.

    - #### mat4

          public javajs.util.M4 mat4

      mat4 tracks the rotation/translation of the full model using rotateSelected or translateSelected

    - #### modelIndex

          public int modelIndex

    - #### fileIndex

          int fileIndex

    - #### isBioModel

          public boolean isBioModel

    - #### isPdbWithMultipleBonds

          public boolean isPdbWithMultipleBonds

    - #### isModelKit

          public boolean isModelKit

    - #### chains

          public Chain[] chains

    - #### simpleCage

          public SymmetryInterface simpleCage

    - #### dssrCache

          public java.util.Map<java.lang.String,java.lang.Object> dssrCache

    - #### orientation

          public Orientation orientation

    - #### auxiliaryInfo

          public java.util.Map<java.lang.String,java.lang.Object> auxiliaryInfo

    - #### properties

          public java.util.Properties properties

    - #### biosymmetry

          public SymmetryInterface biosymmetry

    - #### dataFrames

          java.util.Map<java.lang.String,java.lang.Integer> dataFrames

    - #### translation

          javajs.util.P3 translation

    - #### dataSourceFrame

          int dataSourceFrame

    - #### loadState

          public java.lang.String loadState

    - #### loadScript

          public javajs.util.SB loadScript

    - #### hasRasmolHBonds

          public boolean hasRasmolHBonds

    - #### structureTainted

          public boolean structureTainted

    - #### isJmolDataFrame

          public boolean isJmolDataFrame

    - #### isTrajectory

          boolean isTrajectory

    - #### trajectoryBaseIndex

          public int trajectoryBaseIndex

    - #### altLocCount

          public int altLocCount

    - #### insertionCount

          int insertionCount

    - #### act

          public int act

    - #### bondCount

          private int bondCount

    - #### chainCount

          protected int chainCount

    - #### groupCount

          public int groupCount

    - #### hydrogenCount

          public int hydrogenCount

    - #### moleculeCount

          public int moleculeCount

    - #### biosymmetryCount

          int biosymmetryCount

    - #### firstAtomIndex

          public int firstAtomIndex

    - #### firstMoleculeIndex

          int firstMoleculeIndex

    - #### bsAtoms

          public final javajs.util.BS bsAtoms

    - #### bsAtomsDeleted

          public final javajs.util.BS bsAtomsDeleted

    - #### defaultRotationRadius

          float defaultRotationRadius

    - #### frameDelay

          public long frameDelay

    - #### selectedTrajectory

          public int selectedTrajectory

    - #### jmolData

          java.lang.String jmolData

    - #### jmolFrameType

          java.lang.String jmolFrameType

    - #### pdbID

          public java.lang.String pdbID

    - #### bsCheck

          private javajs.util.BS bsCheck

    - #### hasChirality

          boolean hasChirality

  - ### Constructor Detail

    - #### Model

          public Model()

  - ### Method Detail

    - #### set

          public Model set(ModelSet modelSet,
                           int modelIndex,
                           int trajectoryBaseIndex,
                           java.lang.String jmolData,
                           java.util.Properties properties,
                           java.util.Map<java.lang.String,java.lang.Object> auxiliaryInfo)

    - #### getTrueAtomCount

          public int getTrueAtomCount()

      not actually accessed -- just pointing out what it is
      Returns:
        true atom count

    - #### isContainedIn

          public boolean isContainedIn(javajs.util.BS bs)

      Parameters:
        `bs` -
      Returns:
        true if all undeleted atom bits in this model are in bs

    - #### resetBoundCount

          public void resetBoundCount()

    - #### getBondCount

          public int getBondCount()

    - #### getChainCount

          public int getChainCount(boolean countWater)

    - #### calcSelectedGroupsCount

          void calcSelectedGroupsCount(javajs.util.BS bsSelected)

    - #### getGroupCount

          public int getGroupCount()

    - #### getChainAt

          public Chain getChainAt(int i)

    - #### getChain

          Chain getChain(int chainID)

    - #### resetDSSR

          public void resetDSSR(boolean totally)

      Something has changed; clear the DSSR cache and possibly remove DSSR entirely.
      Parameters:
        `totally` - set TRUE if atoms have moved so we force a new DSSR calculation.

    - #### fixIndices

          public void fixIndices(int modelIndex,
                                 int nAtomsDeleted,
                                 javajs.util.BS bsDeleted)

    - #### fixIndicesM

          protected void fixIndicesM(int modelIndex,
                                     int nAtomsDeleted,
                                     javajs.util.BS bsDeleted)

    - #### freeze

          public boolean freeze()

    - #### freezeM

          protected void freezeM()