org.jmol.modelset
Class ModelSet

java.lang.Object
  extended by org.jmol.modelset.AtomCollection
      extended by org.jmol.modelset.BondCollection
          extended by org.jmol.modelset.ModelCollection
              extended by org.jmol.modelset.ModelSet

public class ModelSet
extends ModelCollection


Nested Class Summary
 
Nested classes/interfaces inherited from class org.jmol.modelset.ModelCollection
ModelCollection.StateScript
 
Nested classes/interfaces inherited from class org.jmol.modelset.AtomCollection
AtomCollection.AtomSorter
 
Field Summary
protected  Atom[] closest
           
private  boolean echoShapeActive
           
private  javax.vecmath.Matrix4f mat4
           
private  javax.vecmath.Matrix4f mat4t
           
private  javax.vecmath.Matrix3f matInv
           
private  javax.vecmath.Matrix3f matTemp
           
protected  java.lang.String modelSetTypeName
           
private  SymmetryInterface pointGroup
           
private  boolean selectionHaloEnabled
           
private  javax.vecmath.Vector3f vTemp
           
 
Fields inherited from class org.jmol.modelset.ModelCollection
bsAll, bsSymmetry, elementsPresent, frameTitles, isPDB, isXYZ, modelCount, modelFileNumbers, modelNames, modelNumbers, modelNumbersForAtomLabel, models, modelSetAuxiliaryInfo, modelSetName, modelSetProperties, proteinStructureTainted, ptTemp, shapeManager, someModelsHaveAromaticBonds, someModelsHaveFractionalCoordinates, someModelsHaveSymmetry, stateScripts, trajectorySteps, unitCells, vibrationSteps
 
Fields inherited from class org.jmol.modelset.BondCollection
BOND_GROWTH_INCREMENT, bondCount, bonds, bsAromatic, bsHBondsRasmol, defaultCovalentMad, freeBonds, haveHiddenBonds, MAX_BONDS_LENGTH_TO_CACHE, MAX_NUM_TO_CACHE, moleculeCount, molecules, numCached
 
Fields inherited from class org.jmol.modelset.AtomCollection
atomCount, atomNames, atoms, atomSerials, atomTypes, bfactor100s, bspf, ellipsoids, g3d, haveStraightness, hydrophobicities, ionicRadii, maxBondingRadius, occupancies, partialCharges, preserveState, surfaceDistance100s, TAINT_ATOMNAME, TAINT_ATOMNO, TAINT_ATOMTYPE, TAINT_COORD, TAINT_ELEMENT, TAINT_FORMALCHARGE, TAINT_HYDROPHOBICITY, TAINT_MAX, tainted, vibrationVectors, viewer
 
Constructor Summary
ModelSet(Viewer viewer, java.lang.String name)
           
 
Method Summary
 java.util.BitSet addHydrogens(java.util.List<Atom> vConnections, javax.vecmath.Point3f[] pts)
          these are hydrogens that are being added due to a load 2D command and are therefore not to be flagged as NEW
 boolean allowSpecAtom()
           
protected  void assignAromaticBonds(boolean isUserCalculation)
           
 java.lang.String calculatePointGroup(java.util.BitSet bsAtoms)
           
private  java.lang.Object calculatePointGroupForFirstModel(java.util.BitSet bsAtoms, boolean doAll, boolean asDraw, boolean asInfo, java.lang.String type, int index, float scale)
           
 java.lang.String calculateStructures(java.util.BitSet bsAtoms, boolean asDSSP, boolean dsspIgnoreHydrogen, boolean setStructure)
           
 int calculateStruts(java.util.BitSet bs1, java.util.BitSet bs2)
          see comments in org.jmol.modelsetbio.AlphaPolymer.java Struts are calculated for atoms in bs1 connecting to atoms in bs2.
 void connect(float[][] connections)
           
 void createAtomDataSet(int tokType, java.lang.Object atomSetCollection, java.util.BitSet bsSelected)
           
 void deleteAllBonds()
           
 java.util.BitSet deleteModels(java.util.BitSet bsAtoms)
           
 int findNearestAtomIndex(int x, int y, java.util.BitSet bsNot)
           
 java.util.BitSet getAtomBits(int tokType, java.lang.Object specInfo)
          general lookup for integer type -- from Eval
 java.lang.String getAtomLabel(int i)
           
 java.util.BitSet getBitSetTrajectories()
           
 java.lang.String getDefaultStructure(java.util.BitSet bsAtoms, java.util.BitSet bsAllAtoms)
           
 java.lang.String getDefinedState(java.lang.StringBuffer sfunc, boolean isAll)
           
 boolean getEchoStateActive()
           
 java.lang.Object getFileData(int modelIndex)
           
 javax.vecmath.Point3f[] getFrameOffsets(java.util.BitSet bsAtoms)
           
 int getModelNumberIndex(int modelNumber, boolean useModelNumber, boolean doSetTrajectory)
           
 java.lang.String getModelSetTypeName()
           
 java.lang.String getPointGroupAsString(java.util.BitSet bsAtoms, boolean asDraw, java.lang.String type, int index, float scale)
           
 java.util.Map<java.lang.String,java.lang.Object> getPointGroupInfo(java.util.BitSet bsAtoms)
           
 boolean getSelectionHaloEnabled()
           
 java.lang.String getState(java.lang.StringBuffer sfunc, boolean isAll, boolean withProteinStructure)
           
 java.lang.String getTrajectoryInfo()
           
private  void includeAllRelatedFrames(java.util.BitSet bsModels)
           
 void invertSelected(javax.vecmath.Point3f pt, javax.vecmath.Point4f plane, int iAtom, java.util.BitSet invAtoms, java.util.BitSet bs)
           
 int[] makeConnections(float minDistance, float maxDistance, int order, int connectOperation, java.util.BitSet bsA, java.util.BitSet bsB, java.util.BitSet bsBonds, boolean isBonds, boolean addGroup, float energy)
           
private  java.util.BitSet modelsOf(java.util.BitSet bsAtoms, java.util.BitSet bsAllAtoms)
           
 void moveAtoms(javax.vecmath.Matrix3f mNew, javax.vecmath.Matrix3f matrixRotate, javax.vecmath.Vector3f translation, java.util.BitSet bs, javax.vecmath.Point3f center, boolean isInternal)
           
 void recalculatePositionDependentQuantities(java.util.BitSet bs, javax.vecmath.Matrix4f mat)
           
protected  void releaseModelSet()
           
 void setAtomCoord(java.util.BitSet bs, int tokType, java.lang.Object xyzValues)
           
 void setAtomCoordRelative(javax.vecmath.Tuple3f offset, java.util.BitSet bs)
           
 void setAtomProperty(java.util.BitSet bs, int tok, int iValue, float fValue, java.lang.String sValue, float[] values, java.lang.String[] list)
           
 void setEchoStateActive(boolean TF)
           
 void setPdbConectBonding(int baseAtomIndex, int baseModelIndex, java.util.BitSet bsExclude)
           
 void setSelectionHaloEnabled(boolean selectionHaloEnabled)
           
 void setTrajectory(java.util.BitSet bsModels)
           
 void setTrajectory(int modelIndex)
           
 
Methods inherited from class org.jmol.modelset.ModelCollection
addAtom, addAtom, addBioPolymerToModel, addStateScript, adjustAtomArrays, appendLoadStates, assignAtom, autoBond, autoHbond, calcAtomsMinMax, calcBoundBoxDimensions, calcRasmolHydrogenBonds, calcRotationRadius, calcRotationRadius, calcSelectedGroupsCount, calcSelectedMoleculesCount, calcSelectedMonomersCount, calculateMolecularDipole, calculatePolymers, calculateStraightness, calculateStructuresAllExcept, clearDataFrameReference, clearRasmolHydrogenBonds, deleteAtoms, deleteBonds, deleteModel, fillAtomData, freezeModels, getAllAtomInfo, getAllBondInfo, getAllChainInfo, getAllPolymerInfo, getAltLocCountInModel, getAltLocIndexInModel, getAltLocListInModel, getAtomBitsMaybeDeleted, getAtomCountInModel, getAtomGroupQuaternions, getAtomIdentityInfo, getAtomsConnected, getAtomSetCenter, getAtomsWithin, getAtomsWithin, getAuxiliaryInfo, getAverageAtomPoint, getBboxVertices, getBioPolymerCount, getBioPolymerCountInModel, getBondCountInModel, getBoundBoxCenter, getBoundBoxCommand, getBoundBoxCornerVector, getBoundBoxInfo, getBoundBoxModels, getBoxInfo, getCellInfos, getCenterAndPoints, getChainCount, getChainCountInModel, getChimeInfo, getConformation, getDefaultVdwType, getElementsPresentBitSet, getFileHeader, getFrameTitle, getGroupAtom, getGroupCount, getGroupCountInModel, getGroups, getGroupsWithin, getHeteroList, getInlineData, getInsertionCodeIndexInModel, getInsertionCountInModel, getIterativeModels, getJbr, getJmolDataFrameIndex, getJmolDataSourceFrame, getJmolFrameType, getLigandInfo, getModelAtomBitSetIncludingDeleted, getModelAtomBitSetIncludingDeleted, getModelAtomProperty, getModelAuxiliaryInfo, getModelAuxiliaryInfo, getModelAuxiliaryInfoBoolean, getModelAuxiliaryInfoInt, getModelBitSet, getModelCellRange, getModelCml, getModelCount, getModelDipole, getModelExtract, getModelFileInfo, getModelFileName, getModelFileNumber, getModelFileType, getModelInfo, getModelInfoAsString, getModelKitStateBitset, getModelName, getModelNumber, getModelNumberDotted, getModelNumberForAtomLabel, getModelOrientation, getModelProperties, getModelProperty, getModels, getModelSetAuxiliaryInfo, getModelSetAuxiliaryInfo, getModelSetAuxiliaryInfoBoolean, getModelSetName, getModelSetProperties, getModelSetProperty, getModelSymmetryCount, getModelTitle, getMoInfo, getMoleculeBitSet, getMoleculeBitSet, getMoleculeCountInModel, getMoleculeIndex, getMoleculeInfo, getMolecules, getNotionalUnitcell, getPdbAtomData, getPdbData, getPDBHeader, getPlaneIntersection, getPolymerLeadMidPoints, getPolymerPointsAndVectors, getProteinStructureState, getSelectedAtomIterator, getSequenceBits, getSpaceGroupInfo, getStructureList, getSymmetryInfo, getSymmetryInfoAsString, getSymmetryOperation, getTrajectoryCount, getTrajectoryIndex, getUnitCell, getUnitCellInfoText, growAtomArrays, hasCalculatedHBonds, haveModelKit, initializeBspf, initializeBspt, isAtomAssignable, isAtomPDB, isJmolDataFrame, isTrajectory, isTrajectory, isTrajectorySubFrame, mergeModelArrays, mergeModels, modelFileNumberFromFloat, modelHasVibrationVectors, recalculateLeadMidpointsAndWingVectors, saveModelOrientation, selectDisplayedTrajectories, setAtomNamesAndNumbers, setBoundBox, setConformation, setCrystallographicDefaults, setDefaultStructure, setFrameTitle, setIteratorForAtom, setIteratorForPoint, setJmolDataFrame, setModelAuxiliaryInfo, setProteinType, setRotationRadius, setStructureIds, setStructureList, setUnitCellOffset
 
Methods inherited from class org.jmol.modelset.BondCollection
addHBond, assignAromaticBonds, assignAromaticBonds, bondAtoms, bondMutually, checkValencesAndBond, deleteConnections, displayBonds, getBondAt, getBondAtom1, getBondAtom2, getBondColix1, getBondColix2, getBondCount, getBondIterator, getBondIterator, getBondModelIndex, getBondOrder, getBondOrder, getBondRadius, getBonds, getBondsForSelectedAtoms, getDefaultMadFromOrder, getRasmolHydrogenBonds, removeUnnecessaryBonds, resetAromatic, resetMolecules, setBond, setBondOrder
 
Methods inherited from class org.jmol.modelset.AtomCollection
calculateHydrogens, calculateSurface, calculateVolume, clearBfactorRange, deleteModelAtoms, findAtomsInRectangle, findMaxRadii, findNearestAtomIndex, getAtomChain, getAtomColix, getAtomCount, getAtomicCharges, getAtomicPropertyState, getAtomicPropertyState, getAtomIndexFromAtomNumber, getAtomIndices, getAtomInfo, getAtomInfoXYZ, getAtomModelIndex, getAtomName, getAtomNumber, getAtomPoint3f, getAtomPointVector, getAtomRadius, getAtomSequenceCode, getAtomsWithin, getAtomsWithin, getAtomTypes, getAtomVdwRadius, getBfactor100Hi, getBfactor100Lo, getBFactors, getChainBits, getClickableSet, getElementName, getElementNumber, getElementSymbol, getEllipsoid, getHaveStraightness, getHelixData, getHybridizationAndAxes, getHydrophobicity, getImplicitHydrogenCount, getIonicRadii, getMaxVanderwaalsRadius, getPartialCharges, getQuaternion, getRadiusVdwJmol, getSeqcodeBits, getSurfaceDistance100, getSurfaceDistanceMax, getTaintedAtoms, getUserSettableType, getVibrationCoord, getVibrationVector, getVisibleSet, isAtomHidden, isCursorOnTopOf, mergeAtomArrays, modelSetHasVibrationVectors, setAtomCoord, setAtomCoordRelative, setAtomCoordRelative, setAtomData, setAtomName, setAtomNumber, setAtomType, setBFactor, setBsHidden, setElement, setEllipsoid, setFormalCharges, setHaveStraightness, setHydrophobicity, setIonicRadius, setOccupancy, setPartialCharge, setPreserveState, setTaintedAtoms, setVibrationVector, taint, taint, unTaintAtoms, validateBspf, validateBspf
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

selectionHaloEnabled

private boolean selectionHaloEnabled

echoShapeActive

private boolean echoShapeActive

modelSetTypeName

protected java.lang.String modelSetTypeName

closest

protected final Atom[] closest

pointGroup

private SymmetryInterface pointGroup

matTemp

private final javax.vecmath.Matrix3f matTemp

matInv

private final javax.vecmath.Matrix3f matInv

mat4

private final javax.vecmath.Matrix4f mat4

mat4t

private final javax.vecmath.Matrix4f mat4t

vTemp

private final javax.vecmath.Vector3f vTemp
Constructor Detail

ModelSet

public ModelSet(Viewer viewer,
                java.lang.String name)
Method Detail

releaseModelSet

protected void releaseModelSet()
Overrides:
releaseModelSet in class ModelCollection

setSelectionHaloEnabled

public void setSelectionHaloEnabled(boolean selectionHaloEnabled)

getSelectionHaloEnabled

public boolean getSelectionHaloEnabled()

getEchoStateActive

public boolean getEchoStateActive()

setEchoStateActive

public void setEchoStateActive(boolean TF)

getModelSetTypeName

public java.lang.String getModelSetTypeName()

getModelNumberIndex

public int getModelNumberIndex(int modelNumber,
                               boolean useModelNumber,
                               boolean doSetTrajectory)

getTrajectoryInfo

public java.lang.String getTrajectoryInfo()

getBitSetTrajectories

public java.util.BitSet getBitSetTrajectories()

setTrajectory

public void setTrajectory(java.util.BitSet bsModels)

setTrajectory

public void setTrajectory(int modelIndex)

getFrameOffsets

public javax.vecmath.Point3f[] getFrameOffsets(java.util.BitSet bsAtoms)

getAtomBits

public java.util.BitSet getAtomBits(int tokType,
                                    java.lang.Object specInfo)
general lookup for integer type -- from Eval

Overrides:
getAtomBits in class ModelCollection
Parameters:
tokType -
specInfo -
Returns:
bitset; null only if we mess up with name

getAtomLabel

public java.lang.String getAtomLabel(int i)

findNearestAtomIndex

public int findNearestAtomIndex(int x,
                                int y,
                                java.util.BitSet bsNot)

calculateStructures

public java.lang.String calculateStructures(java.util.BitSet bsAtoms,
                                            boolean asDSSP,
                                            boolean dsspIgnoreHydrogen,
                                            boolean setStructure)

calculatePointGroup

public java.lang.String calculatePointGroup(java.util.BitSet bsAtoms)

getPointGroupInfo

public java.util.Map<java.lang.String,java.lang.Object> getPointGroupInfo(java.util.BitSet bsAtoms)

getPointGroupAsString

public java.lang.String getPointGroupAsString(java.util.BitSet bsAtoms,
                                              boolean asDraw,
                                              java.lang.String type,
                                              int index,
                                              float scale)

calculatePointGroupForFirstModel

private java.lang.Object calculatePointGroupForFirstModel(java.util.BitSet bsAtoms,
                                                          boolean doAll,
                                                          boolean asDraw,
                                                          boolean asInfo,
                                                          java.lang.String type,
                                                          int index,
                                                          float scale)

modelsOf

private java.util.BitSet modelsOf(java.util.BitSet bsAtoms,
                                  java.util.BitSet bsAllAtoms)

getDefaultStructure

public java.lang.String getDefaultStructure(java.util.BitSet bsAtoms,
                                            java.util.BitSet bsAllAtoms)

assignAromaticBonds

protected void assignAromaticBonds(boolean isUserCalculation)

makeConnections

public int[] makeConnections(float minDistance,
                             float maxDistance,
                             int order,
                             int connectOperation,
                             java.util.BitSet bsA,
                             java.util.BitSet bsB,
                             java.util.BitSet bsBonds,
                             boolean isBonds,
                             boolean addGroup,
                             float energy)
Overrides:
makeConnections in class ModelCollection

setPdbConectBonding

public void setPdbConectBonding(int baseAtomIndex,
                                int baseModelIndex,
                                java.util.BitSet bsExclude)

deleteAllBonds

public void deleteAllBonds()
Overrides:
deleteAllBonds in class BondCollection

getDefinedState

public java.lang.String getDefinedState(java.lang.StringBuffer sfunc,
                                        boolean isAll)

getState

public java.lang.String getState(java.lang.StringBuffer sfunc,
                                 boolean isAll,
                                 boolean withProteinStructure)

includeAllRelatedFrames

private void includeAllRelatedFrames(java.util.BitSet bsModels)

deleteModels

public java.util.BitSet deleteModels(java.util.BitSet bsAtoms)

setAtomProperty

public void setAtomProperty(java.util.BitSet bs,
                            int tok,
                            int iValue,
                            float fValue,
                            java.lang.String sValue,
                            float[] values,
                            java.lang.String[] list)
Overrides:
setAtomProperty in class ModelCollection

getFileData

public java.lang.Object getFileData(int modelIndex)

calculateStruts

public int calculateStruts(java.util.BitSet bs1,
                           java.util.BitSet bs2)
see comments in org.jmol.modelsetbio.AlphaPolymer.java Struts are calculated for atoms in bs1 connecting to atoms in bs2. The two bitsets may overlap.

Overrides:
calculateStruts in class ModelCollection
Parameters:
bs1 -
bs2 -
Returns:
number of struts found

addHydrogens

public java.util.BitSet addHydrogens(java.util.List<Atom> vConnections,
                                     javax.vecmath.Point3f[] pts)
these are hydrogens that are being added due to a load 2D command and are therefore not to be flagged as NEW

Parameters:
vConnections -
pts -
Returns:
BitSet of new atoms

setAtomCoordRelative

public void setAtomCoordRelative(javax.vecmath.Tuple3f offset,
                                 java.util.BitSet bs)

setAtomCoord

public void setAtomCoord(java.util.BitSet bs,
                         int tokType,
                         java.lang.Object xyzValues)
Overrides:
setAtomCoord in class AtomCollection

invertSelected

public void invertSelected(javax.vecmath.Point3f pt,
                           javax.vecmath.Point4f plane,
                           int iAtom,
                           java.util.BitSet invAtoms,
                           java.util.BitSet bs)

moveAtoms

public void moveAtoms(javax.vecmath.Matrix3f mNew,
                      javax.vecmath.Matrix3f matrixRotate,
                      javax.vecmath.Vector3f translation,
                      java.util.BitSet bs,
                      javax.vecmath.Point3f center,
                      boolean isInternal)

recalculatePositionDependentQuantities

public void recalculatePositionDependentQuantities(java.util.BitSet bs,
                                                   javax.vecmath.Matrix4f mat)

connect

public void connect(float[][] connections)

createAtomDataSet

public void createAtomDataSet(int tokType,
                              java.lang.Object atomSetCollection,
                              java.util.BitSet bsSelected)

allowSpecAtom

public boolean allowSpecAtom()