org.jmol.modelset
Class ModelCollection

java.lang.Object
  extended by org.jmol.modelset.AtomCollection
      extended by org.jmol.modelset.BondCollection
          extended by org.jmol.modelset.ModelCollection
Direct Known Subclasses:
ModelSet

public abstract class ModelCollection
extends BondCollection


Nested Class Summary
static class ModelCollection.StateScript
           
 
Nested classes/interfaces inherited from class org.jmol.modelset.AtomCollection
AtomCollection.AtomSorter
 
Field Summary
private  javax.vecmath.Point3f averageAtomPoint
           
private  java.util.BitSet bboxAtoms
           
private  java.util.BitSet bboxModels
           
private  BoxInfo boxInfo
           
protected  java.util.BitSet bsAll
           
protected  java.util.BitSet bsSymmetry
           
protected  java.util.BitSet[] elementsPresent
           
protected  java.lang.String[] frameTitles
           
private static float hbondMin
           
private  boolean isBbcageDefault
           
protected  boolean isPDB
           
protected  boolean isXYZ
           
protected  int modelCount
           
protected  int[] modelFileNumbers
           
protected  java.lang.String[] modelNames
           
protected  int[] modelNumbers
           
protected  java.lang.String[] modelNumbersForAtomLabel
           
protected  Model[] models
           
protected  java.util.Map<java.lang.String,java.lang.Object> modelSetAuxiliaryInfo
           
protected  java.lang.String modelSetName
           
protected  java.util.Properties modelSetProperties
           
private static java.lang.String[] pdbRecords
           
(package private)  boolean proteinStructureTainted
           
protected  javax.vecmath.Point3f ptTemp
           
private  int selectedMoleculeCount
           
private  java.util.BitSet selectedMolecules
           
protected  ShapeManager shapeManager
           
private static boolean showRebondTimes
           
protected  boolean someModelsHaveAromaticBonds
           
protected  boolean someModelsHaveFractionalCoordinates
           
protected  boolean someModelsHaveSymmetry
           
protected  java.util.List<ModelCollection.StateScript> stateScripts
           
private  SymmetryInterface symTemp
           
private  int thisStateModel
           
protected  java.util.List<javax.vecmath.Point3f[]> trajectorySteps
           
(package private)  SymmetryInterface[] unitCells
           
protected  java.util.List<javax.vecmath.Vector3f[]> 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
ModelCollection()
           
 
Method Summary
protected  Atom addAtom(int modelIndex, Group group, short atomicAndIsotopeNumber, java.lang.String atomName, int atomSerial, int atomSite, float x, float y, float z)
           
 Atom addAtom(int modelIndex, Group group, short atomicAndIsotopeNumber, java.lang.String atomName, int atomSerial, int atomSite, float x, float y, float z, float radius, float vectorX, float vectorY, float vectorZ, int formalCharge, float partialCharge, int occupancy, float bfactor, java.lang.Object[] ellipsoid, boolean isHetero, char alternateLocationID, byte specialAtomID, java.util.BitSet atomSymmetry)
           
protected  void addBioPolymerToModel(Polymer polymer, Model model)
           
private  boolean addMolFile(java.lang.StringBuffer mol, java.util.BitSet bsAtoms, java.util.BitSet bsBonds, boolean asV3000, Quaternion q)
           
 ModelCollection.StateScript addStateScript(java.lang.String script1, java.util.BitSet bsBonds, java.util.BitSet bsAtoms1, java.util.BitSet bsAtoms2, java.lang.String script2, boolean addFrameNumber, boolean postDefinitions)
           
(package private)  void adjustAtomArrays(int[] map, int i0, int atomCount)
           
 void appendLoadStates(java.lang.StringBuffer commands)
           
 void assignAtom(int atomIndex, java.lang.String type, boolean autoBond)
           
private  int autoBond_Pre_11_9_24(java.util.BitSet bsA, java.util.BitSet bsB, java.util.BitSet bsExclude, java.util.BitSet bsBonds, short mad)
           
 int autoBond(java.util.BitSet bsA, java.util.BitSet bsB, java.util.BitSet bsExclude, java.util.BitSet bsBonds, short mad, boolean preJmol11_9_24)
           
private  int[] autoBond(java.util.BitSet bsA, java.util.BitSet bsB, java.util.BitSet bsBonds, boolean isBonds, boolean matchHbond)
           
 int autoHbond(java.util.BitSet bsA, java.util.BitSet bsB)
          a generalized formation of HBONDS, carried out in relation to calculate HBONDS {atomsFrom} {atomsTo}.
 int calcAtomsMinMax(java.util.BitSet bs, BoxInfo boxInfo)
           
 void calcBoundBoxDimensions(java.util.BitSet bs, float scale)
           
 void calcRasmolHydrogenBonds(java.util.BitSet bsA, java.util.BitSet bsB, java.util.List<Bond> vHBonds, boolean nucleicOnly, int nMax, boolean dsspIgnoreHydrogens)
          These are not actual hydrogen bonds.
 float calcRotationRadius(java.util.BitSet bs)
           
 float calcRotationRadius(int modelIndex, javax.vecmath.Point3f center)
           
 void calcSelectedGroupsCount(java.util.BitSet bsSelected)
           
 void calcSelectedMoleculesCount(java.util.BitSet bsSelected)
           
 void calcSelectedMonomersCount(java.util.BitSet bsSelected)
           
 javax.vecmath.Vector3f calculateMolecularDipole(int modelIndex)
           
protected  void calculatePolymers(Group[] groups, int groupCount, int baseGroupIndex, java.util.BitSet modelsExcluded)
           
 void calculateStraightness()
           
protected  java.lang.String calculateStructuresAllExcept(java.util.BitSet alreadyDefined, boolean asDSSP, boolean doReport, boolean dsspIgnoreHydrogen, boolean setStructure, boolean includeAlpha)
          allows rebuilding of PDB structures; also accessed by ModelManager from Eval
 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.
private  void calcUnitCellMinMax()
           
private static javax.vecmath.Point3f checkMinAttachedAngle(Atom atom1, float minAngle, javax.vecmath.Vector3f v1, javax.vecmath.Vector3f v2, boolean haveHAtoms)
           
protected  void clearDataFrameReference(int modelIndex)
           
 void clearRasmolHydrogenBonds(int baseIndex, java.util.BitSet bsAtoms)
           
 void deleteAtoms(java.util.BitSet bs)
           
 void deleteBonds(java.util.BitSet bsBonds, boolean isFullModel)
           
protected  void deleteModel(int modelIndex, int firstAtomIndex, int nAtoms, java.util.BitSet bsAtoms, java.util.BitSet bsBonds)
           
 void fillAtomData(AtomData atomData, int mode)
           
(package private)  void freezeModels()
           
 java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getAllAtomInfo(java.util.BitSet bs)
           
 java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getAllBondInfo(java.util.BitSet bs)
           
 java.util.Map<java.lang.String,java.util.List<java.util.Map<java.lang.String,java.lang.Object>>> getAllChainInfo(java.util.BitSet bs)
           
 java.util.Map<java.lang.String,java.util.List<java.util.Map<java.lang.String,java.lang.Object>>> getAllPolymerInfo(java.util.BitSet bs)
           
 int getAltLocCountInModel(int modelIndex)
           
 int getAltLocIndexInModel(int modelIndex, char alternateLocationID)
           
 java.lang.String getAltLocListInModel(int modelIndex)
           
 java.util.BitSet getAtomBits(int tokType, java.lang.Object specInfo)
          general unqualified lookup of atom set type
protected  java.util.BitSet getAtomBitsMaybeDeleted(int tokType, java.lang.Object specInfo)
          general unqualified lookup of atom set type
 int getAtomCountInModel(int modelIndex)
           
 Quaternion[] getAtomGroupQuaternions(java.util.BitSet bsAtoms, int nMax, char qtype)
           
 void getAtomIdentityInfo(int i, java.util.Map<java.lang.String,java.lang.Object> info)
           
private  java.util.Map<java.lang.String,java.lang.Object> getAtomInfoLong(int i)
           
private  void getAtomRecordMOL(java.lang.StringBuffer sb, int i, Atom a, Quaternion q, javax.vecmath.Point3f pTemp, boolean asV3000)
           
private static void getAtomResidueInfo(java.lang.StringBuffer info, Atom atom)
           
 java.util.BitSet getAtomsConnected(float min, float max, int intType, java.util.BitSet bs)
           
 javax.vecmath.Point3f getAtomSetCenter(java.util.BitSet bs)
           
 java.util.BitSet getAtomsWithin(float distance, java.util.BitSet bs, boolean withinAllModels, RadiusData rd)
          Get atoms within a specific distance of any atom in a specific set of atoms either within all models or within just the model(s) of those atoms
 java.util.BitSet getAtomsWithin(float distance, javax.vecmath.Point3f coord, java.util.BitSet bsResult, int modelIndex)
           
 java.util.Map<java.lang.String,java.lang.Object> getAuxiliaryInfo(java.util.BitSet bsModels)
           
 javax.vecmath.Point3f getAverageAtomPoint()
           
private  java.util.BitSet getBasePairBits(java.lang.String specInfo)
           
private  java.lang.String getBasePairInfo(java.util.BitSet bs)
           
 Point3fi[] getBboxVertices()
           
 int getBioPolymerCount()
           
 int getBioPolymerCountInModel(int modelIndex)
           
 int getBondCountInModel(int modelIndex)
          for general use
private  java.util.Map<java.lang.String,java.lang.Object> getBondInfo(int i)
           
private  void getBondRecordMOL(int n, java.lang.StringBuffer sb, int i, int[] atomMap, boolean asV3000)
           
 javax.vecmath.Point3f getBoundBoxCenter(int modelIndex)
           
 java.lang.String getBoundBoxCommand(boolean withOptions)
           
 javax.vecmath.Vector3f getBoundBoxCornerVector()
           
 java.util.Map<java.lang.String,java.lang.Object> getBoundBoxInfo()
           
 java.util.BitSet getBoundBoxModels()
           
 BoxInfo getBoxInfo(java.util.BitSet bs, float scale)
           
 SymmetryInterface[] getCellInfos()
           
 javax.vecmath.Point3f[][] getCenterAndPoints(java.util.List<java.util.BitSet[]> vAtomSets, boolean addCenters)
           
 int getChainCount(boolean addWater)
           
 int getChainCountInModel(int modelIndex, boolean countWater)
           
private  java.util.List<java.util.Map<java.lang.String,java.util.List<java.util.Map<java.lang.String,java.lang.Object>>>> getChainInfo(int modelIndex, java.util.BitSet bs)
           
 java.lang.String getChimeInfo(int tok, java.util.BitSet bs)
           
 java.util.BitSet getConformation(int modelIndex, int conformationIndex, boolean doSet)
           
private  java.util.BitSet getCovalentBondsForAtoms(java.util.BitSet bsAtoms)
           
 EnumVdw getDefaultVdwType(int modelIndex)
           
 java.util.BitSet getElementsPresentBitSet(int modelIndex)
           
 java.lang.String getFileHeader(int modelIndex)
           
 java.lang.String getFrameTitle(int modelIndex)
           
private  java.lang.String getFullPDBHeader(int modelIndex)
           
 int getGroupAtom(Atom atom, int offset, java.lang.String name)
           
 int getGroupCount()
           
 int getGroupCountInModel(int modelIndex)
           
(package private)  Group[] getGroups()
          In versions earlier than 12.1.51, groups[] was a field of ModelCollection.
 java.util.BitSet getGroupsWithin(int nResidues, java.util.BitSet bs)
           
 java.util.Map<java.lang.String,java.lang.String> getHeteroList(int modelIndex)
           
 java.lang.String getInlineData(int modelIndex)
           
 int getInsertionCodeIndexInModel(int modelIndex, char insertionCode)
           
 int getInsertionCountInModel(int modelIndex)
           
private  java.lang.String getInsertionListInModel(int modelIndex)
           
 java.util.BitSet getIterativeModels(boolean allowJmolData)
          only some models can be iterated through.
protected  JmolBioResolver getJbr()
           
 int getJmolDataFrameIndex(int modelIndex, java.lang.String type)
           
 int getJmolDataSourceFrame(int modelIndex)
           
 java.lang.String getJmolFrameType(int modelIndex)
           
 java.util.Map<java.lang.String,java.lang.Object> getLigandInfo(java.util.BitSet bsAtoms)
           
 java.util.BitSet getModelAtomBitSetIncludingDeleted(java.util.BitSet bsModels)
          note -- this method returns ALL atoms, including deleted.
 java.util.BitSet getModelAtomBitSetIncludingDeleted(int modelIndex, boolean asCopy)
          Note that this method returns all atoms, included deleted ones.
 java.lang.String getModelAtomProperty(Atom atom, java.lang.String text)
           
 java.util.Map<java.lang.String,java.lang.Object> getModelAuxiliaryInfo(int modelIndex)
           
 java.lang.Object getModelAuxiliaryInfo(int modelIndex, java.lang.String key)
           
protected  boolean getModelAuxiliaryInfoBoolean(int modelIndex, java.lang.String keyName)
           
protected  int getModelAuxiliaryInfoInt(int modelIndex, java.lang.String keyName)
           
 java.util.BitSet getModelBitSet(java.util.BitSet atomList, boolean allTrajectories)
           
 int[] getModelCellRange(int modelIndex)
           
 java.lang.String getModelCml(java.util.BitSet bs, int atomsMax, boolean addBonds)
           
 int getModelCount()
           
 javax.vecmath.Vector3f getModelDipole(int modelIndex)
           
 java.lang.String getModelExtract(java.util.BitSet bs, boolean doTransform, boolean isModelKit, java.lang.String type)
           
 java.lang.String getModelFileInfo(java.util.BitSet frames)
           
 java.lang.String getModelFileName(int modelIndex)
           
 int getModelFileNumber(int modelIndex)
           
 java.lang.String getModelFileType(int modelIndex)
           
 java.util.Map<java.lang.String,java.lang.Object> getModelInfo(java.util.BitSet bsModels)
           
 java.lang.String getModelInfoAsString()
           
 java.util.BitSet getModelKitStateBitset(java.util.BitSet bs, java.util.BitSet bsDeleted)
           
 java.lang.String getModelName(int modelIndex)
           
 int getModelNumber(int modelIndex)
           
 java.lang.String getModelNumberDotted(int modelIndex)
           
 java.lang.String getModelNumberForAtomLabel(int modelIndex)
           
 StateManager.Orientation getModelOrientation(int modelIndex)
           
 java.util.Properties getModelProperties(int modelIndex)
           
 java.lang.String getModelProperty(int modelIndex, java.lang.String property)
           
 Model[] getModels()
           
 java.util.Map<java.lang.String,java.lang.Object> getModelSetAuxiliaryInfo()
           
 java.lang.Object getModelSetAuxiliaryInfo(java.lang.String keyName)
           
 boolean getModelSetAuxiliaryInfoBoolean(java.lang.String keyName)
           
 java.lang.String getModelSetName()
           
 java.util.Properties getModelSetProperties()
           
 java.lang.String getModelSetProperty(java.lang.String propertyName)
           
 int getModelSymmetryCount(int modelIndex)
           
 java.lang.String getModelTitle(int modelIndex)
           
 java.lang.String getMoInfo(int modelIndex)
           
 java.util.BitSet getMoleculeBitSet(java.util.BitSet bs)
           
 java.util.BitSet getMoleculeBitSet(int atomIndex)
           
 int getMoleculeCountInModel(int modelIndex)
           
 int getMoleculeIndex(int atomIndex, boolean inModel)
           
 java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getMoleculeInfo(java.util.BitSet bsAtoms)
           
 JmolMolecule[] getMolecules()
           
 float[] getNotionalUnitcell()
          deprecated due to multimodel issues, but required by an interface -- do NOT remove.
 java.lang.String getPdbAtomData(java.util.BitSet bs, OutputStringBuffer sb)
           
 java.lang.String getPdbData(int modelIndex, java.lang.String type, java.util.BitSet bsSelected, java.lang.Object[] parameters, OutputStringBuffer sb)
           
 java.lang.String getPDBHeader(int modelIndex)
           
 java.util.List<java.lang.Object> getPlaneIntersection(int type, javax.vecmath.Point4f plane, float scale, int flags, int modelIndex)
           
 javax.vecmath.Point3f[] getPolymerLeadMidPoints(int iModel, int iPolymer)
           
 void getPolymerPointsAndVectors(java.util.BitSet bs, java.util.List<javax.vecmath.Point3f[]> vList)
           
 java.lang.String getProteinStructureState(java.util.BitSet bsAtoms, boolean taintedOnly, boolean needPhiPsi, int mode)
           
 AtomIndexIterator getSelectedAtomIterator(java.util.BitSet bsSelected, boolean isGreaterOnly, boolean modelZeroBased, boolean hemisphereOnly, boolean isMultiModel)
           
 java.util.BitSet getSequenceBits(java.lang.String specInfo, java.util.BitSet bs)
           
 java.util.Map<java.lang.String,java.lang.Object> getSpaceGroupInfo(int modelIndex, java.lang.String spaceGroup, int symOp, javax.vecmath.Point3f pt1, javax.vecmath.Point3f pt2, java.lang.String drawID)
           
 java.util.Map<EnumStructure,float[]> getStructureList()
           
 java.lang.Object getSymmetryInfo(java.util.BitSet bsAtoms, java.lang.String xyz, int op, javax.vecmath.Point3f pt, javax.vecmath.Point3f pt2, java.lang.String id, int type)
           
 java.lang.String getSymmetryInfoAsString()
           
private  java.lang.String getSymmetryInfoAsString(int modelIndex)
           
 java.lang.String getSymmetryOperation(int modelIndex, java.lang.String spaceGroup, int symOp, javax.vecmath.Point3f pt1, javax.vecmath.Point3f pt2, java.lang.String drawID, boolean labelOnly)
           
private  void getSymTemp(boolean forceNew)
           
protected  int getTrajectoryCount()
           
 int getTrajectoryIndex(int modelIndex)
           
 SymmetryInterface getUnitCell(int modelIndex)
           
 java.lang.String getUnitCellInfoText()
           
protected  void growAtomArrays(int newLength)
           
 boolean hasCalculatedHBonds(java.util.BitSet bs)
           
 boolean haveModelKit()
           
protected  void initializeBspf()
           
protected  void initializeBspt(int modelIndex)
           
 boolean isAtomAssignable(int i)
           
 boolean isAtomPDB(int i)
           
private  boolean isInLatticeCell(int i, javax.vecmath.Point3f cell, javax.vecmath.Point3f pt, boolean isAbsolute)
           
private  boolean isJmolDataFrame(Atom atom)
           
 boolean isJmolDataFrame(int modelIndex)
           
 boolean isTrajectory(int modelIndex)
           
 boolean isTrajectory(int[] countPlusIndices)
           
protected  boolean isTrajectorySubFrame(int i)
           
protected  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)
           
protected  void mergeModelArrays(ModelSet mergeModelSet)
          initial transfer of model data from old to new model set.
protected  void mergeModels(ModelSet mergeModelSet)
           
static int modelFileNumberFromFloat(float fDotM)
           
 boolean modelHasVibrationVectors(int modelIndex)
           
 void recalculateLeadMidpointsAndWingVectors(int modelIndex)
           
protected  void releaseModelSet()
           
 void saveModelOrientation(int modelIndex, StateManager.Orientation orientation)
           
 void selectDisplayedTrajectories(java.util.BitSet bs)
           
 void setAtomNamesAndNumbers(int iFirst, int baseAtomIndex, AtomCollection mergeSet)
           
 void setAtomProperty(java.util.BitSet bs, int tok, int iValue, float fValue, java.lang.String sValue, float[] values, java.lang.String[] list)
           
 void setBoundBox(javax.vecmath.Point3f pt1, javax.vecmath.Point3f pt2, boolean byCorner, float scale)
           
 java.util.BitSet setConformation(java.util.BitSet bsAtoms)
           
 boolean setCrystallographicDefaults()
           
 void setDefaultStructure(java.util.BitSet bsModels)
           
 void setFrameTitle(java.util.BitSet bsFrames, java.lang.Object title)
           
 void setIteratorForAtom(AtomIndexIterator iterator, int modelIndex, int atomIndex, float distance, RadiusData rd)
           
 void setIteratorForPoint(AtomIndexIterator iterator, int modelIndex, javax.vecmath.Point3f pt, float distance)
           
 void setJmolDataFrame(java.lang.String type, int modelIndex, int modelDataIndex)
           
 void setModelAuxiliaryInfo(int modelIndex, java.lang.Object key, java.lang.Object value)
           
 void setProteinType(java.util.BitSet bs, EnumStructure type)
           
 boolean setRotationRadius(int modelIndex, float angstroms)
           
(package private)  void setStructureIds()
           
 void setStructureList(java.util.Map<EnumStructure,float[]> structureList)
           
 void setUnitCellOffset(int modelIndex, javax.vecmath.Point3f pt, int ijk)
           
 
Methods inherited from class org.jmol.modelset.BondCollection
addHBond, assignAromaticBonds, assignAromaticBonds, bondAtoms, bondMutually, checkValencesAndBond, deleteAllBonds, 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, 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

bsSymmetry

protected java.util.BitSet bsSymmetry

modelSetName

protected java.lang.String modelSetName

models

protected Model[] models

modelCount

protected int modelCount

unitCells

SymmetryInterface[] unitCells

modelNumbers

protected int[] modelNumbers

modelFileNumbers

protected int[] modelFileNumbers

modelNumbersForAtomLabel

protected java.lang.String[] modelNumbersForAtomLabel

modelNames

protected java.lang.String[] modelNames

frameTitles

protected java.lang.String[] frameTitles

elementsPresent

protected java.util.BitSet[] elementsPresent

isXYZ

protected boolean isXYZ

isPDB

protected boolean isPDB

modelSetProperties

protected java.util.Properties modelSetProperties

modelSetAuxiliaryInfo

protected java.util.Map<java.lang.String,java.lang.Object> modelSetAuxiliaryInfo

someModelsHaveSymmetry

protected boolean someModelsHaveSymmetry

someModelsHaveAromaticBonds

protected boolean someModelsHaveAromaticBonds

someModelsHaveFractionalCoordinates

protected boolean someModelsHaveFractionalCoordinates

ptTemp

protected final javax.vecmath.Point3f ptTemp

averageAtomPoint

private final javax.vecmath.Point3f averageAtomPoint

isBbcageDefault

private boolean isBbcageDefault

bboxModels

private java.util.BitSet bboxModels

bboxAtoms

private java.util.BitSet bboxAtoms

boxInfo

private final BoxInfo boxInfo

stateScripts

protected java.util.List<ModelCollection.StateScript> stateScripts

thisStateModel

private int thisStateModel

trajectorySteps

protected java.util.List<javax.vecmath.Point3f[]> trajectorySteps

vibrationSteps

protected java.util.List<javax.vecmath.Vector3f[]> vibrationSteps

pdbRecords

private static final java.lang.String[] pdbRecords

selectedMolecules

private java.util.BitSet selectedMolecules

selectedMoleculeCount

private int selectedMoleculeCount

showRebondTimes

private static final boolean showRebondTimes
See Also:
Constant Field Values

bsAll

protected java.util.BitSet bsAll

shapeManager

protected ShapeManager shapeManager

hbondMin

private static float hbondMin

proteinStructureTainted

boolean proteinStructureTainted

symTemp

private SymmetryInterface symTemp
Constructor Detail

ModelCollection

public ModelCollection()
Method Detail

mergeModelArrays

protected void mergeModelArrays(ModelSet mergeModelSet)
initial transfer of model data from old to new model set. Note that all new models are added later, AFTER the old ones. This is very important, because all of the old atom numbers must map onto the same numbers in the new model set, or the state script will not run properly, among other problems.

Parameters:
mergeModelSet -

mergeModels

protected void mergeModels(ModelSet mergeModelSet)

releaseModelSet

protected void releaseModelSet()
Overrides:
releaseModelSet in class BondCollection

getModelSetName

public java.lang.String getModelSetName()

getModels

public Model[] getModels()

getModelCount

public int getModelCount()

getCellInfos

public SymmetryInterface[] getCellInfos()

getUnitCell

public SymmetryInterface getUnitCell(int modelIndex)

getPlaneIntersection

public java.util.List<java.lang.Object> getPlaneIntersection(int type,
                                                             javax.vecmath.Point4f plane,
                                                             float scale,
                                                             int flags,
                                                             int modelIndex)
Parameters:
type -
plane -
scale -
modelIndex -
flags - 1 -- edges only 2 -- triangles only 3 -- both
Returns:
Vector

getModelName

public java.lang.String getModelName(int modelIndex)

getModelTitle

public java.lang.String getModelTitle(int modelIndex)

getModelFileName

public java.lang.String getModelFileName(int modelIndex)

setFrameTitle

public void setFrameTitle(java.util.BitSet bsFrames,
                          java.lang.Object title)

getFrameTitle

public java.lang.String getFrameTitle(int modelIndex)

getModelNumberForAtomLabel

public java.lang.String getModelNumberForAtomLabel(int modelIndex)

getJbr

protected JmolBioResolver getJbr()

calculatePolymers

protected void calculatePolymers(Group[] groups,
                                 int groupCount,
                                 int baseGroupIndex,
                                 java.util.BitSet modelsExcluded)

getGroups

Group[] getGroups()
In versions earlier than 12.1.51, groups[] was a field of ModelCollection. But this is not necessary, and it was wasting space. This method is only called when polymers are recreated.

Returns:
full array of groups in modelSet

addBioPolymerToModel

protected void addBioPolymerToModel(Polymer polymer,
                                    Model model)

getNotionalUnitcell

public float[] getNotionalUnitcell()
deprecated due to multimodel issues, but required by an interface -- do NOT remove.

Returns:
just the first unit cell

setCrystallographicDefaults

public boolean setCrystallographicDefaults()

getAverageAtomPoint

public javax.vecmath.Point3f getAverageAtomPoint()

getBoundBoxCenter

public javax.vecmath.Point3f getBoundBoxCenter(int modelIndex)

getBoundBoxCornerVector

public javax.vecmath.Vector3f getBoundBoxCornerVector()

getBboxVertices

public Point3fi[] getBboxVertices()

getBoundBoxInfo

public java.util.Map<java.lang.String,java.lang.Object> getBoundBoxInfo()

getBoundBoxModels

public java.util.BitSet getBoundBoxModels()

setBoundBox

public void setBoundBox(javax.vecmath.Point3f pt1,
                        javax.vecmath.Point3f pt2,
                        boolean byCorner,
                        float scale)

getBoundBoxCommand

public java.lang.String getBoundBoxCommand(boolean withOptions)

getDefaultVdwType

public EnumVdw getDefaultVdwType(int modelIndex)

setRotationRadius

public boolean setRotationRadius(int modelIndex,
                                 float angstroms)

calcRotationRadius

public float calcRotationRadius(int modelIndex,
                                javax.vecmath.Point3f center)

calcBoundBoxDimensions

public void calcBoundBoxDimensions(java.util.BitSet bs,
                                   float scale)

getBoxInfo

public BoxInfo getBoxInfo(java.util.BitSet bs,
                          float scale)

calcAtomsMinMax

public int calcAtomsMinMax(java.util.BitSet bs,
                           BoxInfo boxInfo)

calcUnitCellMinMax

private void calcUnitCellMinMax()

calcRotationRadius

public float calcRotationRadius(java.util.BitSet bs)

getCenterAndPoints

public javax.vecmath.Point3f[][] getCenterAndPoints(java.util.List<java.util.BitSet[]> vAtomSets,
                                                    boolean addCenters)
Parameters:
vAtomSets -
addCenters -
Returns:
array of two lists of points, centers first if desired

getAtomSetCenter

public javax.vecmath.Point3f getAtomSetCenter(java.util.BitSet bs)

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 AtomCollection

addStateScript

public ModelCollection.StateScript addStateScript(java.lang.String script1,
                                                  java.util.BitSet bsBonds,
                                                  java.util.BitSet bsAtoms1,
                                                  java.util.BitSet bsAtoms2,
                                                  java.lang.String script2,
                                                  boolean addFrameNumber,
                                                  boolean postDefinitions)

calculateStructuresAllExcept

protected java.lang.String calculateStructuresAllExcept(java.util.BitSet alreadyDefined,
                                                        boolean asDSSP,
                                                        boolean doReport,
                                                        boolean dsspIgnoreHydrogen,
                                                        boolean setStructure,
                                                        boolean includeAlpha)
allows rebuilding of PDB structures; also accessed by ModelManager from Eval

Parameters:
alreadyDefined - set to skip calculation
asDSSP -
doReport -
dsspIgnoreHydrogen -
setStructure -
includeAlpha -
Returns:
report

setDefaultStructure

public void setDefaultStructure(java.util.BitSet bsModels)

setProteinType

public void setProteinType(java.util.BitSet bs,
                           EnumStructure type)

freezeModels

void freezeModels()

getStructureList

public java.util.Map<EnumStructure,float[]> getStructureList()

setStructureList

public void setStructureList(java.util.Map<EnumStructure,float[]> structureList)

setConformation

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

getConformation

public java.util.BitSet getConformation(int modelIndex,
                                        int conformationIndex,
                                        boolean doSet)

getHeteroList

public java.util.Map<java.lang.String,java.lang.String> getHeteroList(int modelIndex)

getModelSetProperties

public java.util.Properties getModelSetProperties()

getModelSetAuxiliaryInfo

public java.util.Map<java.lang.String,java.lang.Object> getModelSetAuxiliaryInfo()

getModelSetProperty

public java.lang.String getModelSetProperty(java.lang.String propertyName)

getModelSetAuxiliaryInfo

public java.lang.Object getModelSetAuxiliaryInfo(java.lang.String keyName)

getModelSetAuxiliaryInfoBoolean

public boolean getModelSetAuxiliaryInfoBoolean(java.lang.String keyName)

getTrajectoryCount

protected int getTrajectoryCount()

getTrajectoryIndex

public int getTrajectoryIndex(int modelIndex)

isTrajectory

public boolean isTrajectory(int modelIndex)

isTrajectory

public boolean isTrajectory(int[] countPlusIndices)

getModelBitSet

public java.util.BitSet getModelBitSet(java.util.BitSet atomList,
                                       boolean allTrajectories)

getIterativeModels

public java.util.BitSet getIterativeModels(boolean allowJmolData)
only some models can be iterated through. models for which trajectoryBaseIndexes[i] != i are trajectories only

Parameters:
allowJmolData -
Returns:
bitset of models

isTrajectorySubFrame

protected boolean isTrajectorySubFrame(int i)

selectDisplayedTrajectories

public void selectDisplayedTrajectories(java.util.BitSet bs)

fillAtomData

public void fillAtomData(AtomData atomData,
                         int mode)
Overrides:
fillAtomData in class AtomCollection

getModelNumberDotted

public java.lang.String getModelNumberDotted(int modelIndex)

getModelNumber

public int getModelNumber(int modelIndex)

getModelFileNumber

public int getModelFileNumber(int modelIndex)

getModelProperties

public java.util.Properties getModelProperties(int modelIndex)

getModelProperty

public java.lang.String getModelProperty(int modelIndex,
                                         java.lang.String property)

getModelAuxiliaryInfo

public java.util.Map<java.lang.String,java.lang.Object> getModelAuxiliaryInfo(int modelIndex)

setModelAuxiliaryInfo

public void setModelAuxiliaryInfo(int modelIndex,
                                  java.lang.Object key,
                                  java.lang.Object value)

getModelAuxiliaryInfo

public java.lang.Object getModelAuxiliaryInfo(int modelIndex,
                                              java.lang.String key)

getModelAuxiliaryInfoBoolean

protected boolean getModelAuxiliaryInfoBoolean(int modelIndex,
                                               java.lang.String keyName)

getModelAuxiliaryInfoInt

protected int getModelAuxiliaryInfoInt(int modelIndex,
                                       java.lang.String keyName)

getModelAtomProperty

public java.lang.String getModelAtomProperty(Atom atom,
                                             java.lang.String text)

getInsertionCountInModel

public int getInsertionCountInModel(int modelIndex)

getModelFileType

public java.lang.String getModelFileType(int modelIndex)

modelFileNumberFromFloat

public static int modelFileNumberFromFloat(float fDotM)

getAltLocCountInModel

public int getAltLocCountInModel(int modelIndex)

getChainCount

public int getChainCount(boolean addWater)

getBioPolymerCount

public int getBioPolymerCount()

getBioPolymerCountInModel

public int getBioPolymerCountInModel(int modelIndex)

getPolymerPointsAndVectors

public void getPolymerPointsAndVectors(java.util.BitSet bs,
                                       java.util.List<javax.vecmath.Point3f[]> vList)

recalculateLeadMidpointsAndWingVectors

public void recalculateLeadMidpointsAndWingVectors(int modelIndex)

getPolymerLeadMidPoints

public javax.vecmath.Point3f[] getPolymerLeadMidPoints(int iModel,
                                                       int iPolymer)

getChainCountInModel

public int getChainCountInModel(int modelIndex,
                                boolean countWater)

getGroupCount

public int getGroupCount()

getGroupCountInModel

public int getGroupCountInModel(int modelIndex)

calcSelectedGroupsCount

public void calcSelectedGroupsCount(java.util.BitSet bsSelected)

calcSelectedMonomersCount

public void calcSelectedMonomersCount(java.util.BitSet bsSelected)

calcRasmolHydrogenBonds

public void calcRasmolHydrogenBonds(java.util.BitSet bsA,
                                    java.util.BitSet bsB,
                                    java.util.List<Bond> vHBonds,
                                    boolean nucleicOnly,
                                    int nMax,
                                    boolean dsspIgnoreHydrogens)
These are not actual hydrogen bonds. They are N-O bonds in proteins and nucleic acids The method is called by AminoPolymer and NucleicPolymer methods, which are indirectly called by ModelCollection.autoHbond

Parameters:
bsA -
bsB -
vHBonds - vector of bonds to fill; if null, creates the HBonds
nucleicOnly -
nMax -
dsspIgnoreHydrogens -

calculateStraightness

public void calculateStraightness()

getAtomGroupQuaternions

public Quaternion[] getAtomGroupQuaternions(java.util.BitSet bsAtoms,
                                            int nMax,
                                            char qtype)

getPdbAtomData

public java.lang.String getPdbAtomData(java.util.BitSet bs,
                                       OutputStringBuffer sb)

getPdbData

public java.lang.String getPdbData(int modelIndex,
                                   java.lang.String type,
                                   java.util.BitSet bsSelected,
                                   java.lang.Object[] parameters,
                                   OutputStringBuffer sb)

isJmolDataFrame

public boolean isJmolDataFrame(int modelIndex)

isJmolDataFrame

private boolean isJmolDataFrame(Atom atom)

setJmolDataFrame

public void setJmolDataFrame(java.lang.String type,
                             int modelIndex,
                             int modelDataIndex)

getJmolDataFrameIndex

public int getJmolDataFrameIndex(int modelIndex,
                                 java.lang.String type)

clearDataFrameReference

protected void clearDataFrameReference(int modelIndex)

getJmolFrameType

public java.lang.String getJmolFrameType(int modelIndex)

getJmolDataSourceFrame

public int getJmolDataSourceFrame(int modelIndex)

saveModelOrientation

public void saveModelOrientation(int modelIndex,
                                 StateManager.Orientation orientation)

getModelOrientation

public StateManager.Orientation getModelOrientation(int modelIndex)

getFullPDBHeader

private java.lang.String getFullPDBHeader(int modelIndex)

getPDBHeader

public java.lang.String getPDBHeader(int modelIndex)

getFileHeader

public java.lang.String getFileHeader(int modelIndex)

getLigandInfo

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

getModelInfo

public java.util.Map<java.lang.String,java.lang.Object> getModelInfo(java.util.BitSet bsModels)

getAltLocIndexInModel

public int getAltLocIndexInModel(int modelIndex,
                                 char alternateLocationID)

getInsertionCodeIndexInModel

public int getInsertionCodeIndexInModel(int modelIndex,
                                        char insertionCode)

getAltLocListInModel

public java.lang.String getAltLocListInModel(int modelIndex)

getInsertionListInModel

private java.lang.String getInsertionListInModel(int modelIndex)

getModelSymmetryCount

public int getModelSymmetryCount(int modelIndex)

getSymmetryOperation

public java.lang.String getSymmetryOperation(int modelIndex,
                                             java.lang.String spaceGroup,
                                             int symOp,
                                             javax.vecmath.Point3f pt1,
                                             javax.vecmath.Point3f pt2,
                                             java.lang.String drawID,
                                             boolean labelOnly)

getModelCellRange

public int[] getModelCellRange(int modelIndex)

modelHasVibrationVectors

public boolean modelHasVibrationVectors(int modelIndex)

getElementsPresentBitSet

public java.util.BitSet getElementsPresentBitSet(int modelIndex)

getSymmetryInfoAsString

private java.lang.String getSymmetryInfoAsString(int modelIndex)

getMoleculeInfo

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

getMoleculeIndex

public int getMoleculeIndex(int atomIndex,
                            boolean inModel)

getMoleculeBitSet

public java.util.BitSet getMoleculeBitSet(java.util.BitSet bs)

getMoleculeBitSet

public java.util.BitSet getMoleculeBitSet(int atomIndex)

getModelDipole

public javax.vecmath.Vector3f getModelDipole(int modelIndex)

calculateMolecularDipole

public javax.vecmath.Vector3f calculateMolecularDipole(int modelIndex)

getMoleculeCountInModel

public int getMoleculeCountInModel(int modelIndex)

calcSelectedMoleculesCount

public void calcSelectedMoleculesCount(java.util.BitSet bsSelected)

getMolecules

public JmolMolecule[] getMolecules()

hasCalculatedHBonds

public boolean hasCalculatedHBonds(java.util.BitSet bs)

clearRasmolHydrogenBonds

public void clearRasmolHydrogenBonds(int baseIndex,
                                     java.util.BitSet bsAtoms)

initializeBspf

protected void initializeBspf()

initializeBspt

protected void initializeBspt(int modelIndex)

setIteratorForPoint

public void setIteratorForPoint(AtomIndexIterator iterator,
                                int modelIndex,
                                javax.vecmath.Point3f pt,
                                float distance)

setIteratorForAtom

public void setIteratorForAtom(AtomIndexIterator iterator,
                               int modelIndex,
                               int atomIndex,
                               float distance,
                               RadiusData rd)

getSelectedAtomIterator

public AtomIndexIterator getSelectedAtomIterator(java.util.BitSet bsSelected,
                                                 boolean isGreaterOnly,
                                                 boolean modelZeroBased,
                                                 boolean hemisphereOnly,
                                                 boolean isMultiModel)
Parameters:
bsSelected -
isGreaterOnly -
modelZeroBased -
hemisphereOnly -
isMultiModel -
Returns:
an iterator

getBondCountInModel

public int getBondCountInModel(int modelIndex)
Description copied from class: BondCollection
for general use

Overrides:
getBondCountInModel in class BondCollection
Parameters:
modelIndex - the model of interest or -1 for all
Returns:
the actual number of connections

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.

Parameters:
bs1 -
bs2 -
Returns:
number of struts added

getAtomCountInModel

public int getAtomCountInModel(int modelIndex)

getModelAtomBitSetIncludingDeleted

public java.util.BitSet getModelAtomBitSetIncludingDeleted(java.util.BitSet bsModels)
note -- this method returns ALL atoms, including deleted.

Parameters:
bsModels -
Returns:
bitset of atoms

getModelAtomBitSetIncludingDeleted

public java.util.BitSet getModelAtomBitSetIncludingDeleted(int modelIndex,
                                                           boolean asCopy)
Note that this method returns all atoms, included deleted ones. If you don't want deleted atoms, then use viewer.getModelAtomBitSetUndeleted(modelIndex, TRUE)

Parameters:
modelIndex -
asCopy - MUST BE TRUE IF THE BITSET IS GOING TO BE MODIFIED!
Returns:
either the actual bitset or a copy

getAtomBits

public java.util.BitSet getAtomBits(int tokType,
                                    java.lang.Object specInfo)
general unqualified lookup of atom set type

Parameters:
tokType -
specInfo -
Returns:
BitSet; or null if we mess up the type

getAtomBitsMaybeDeleted

protected java.util.BitSet getAtomBitsMaybeDeleted(int tokType,
                                                   java.lang.Object specInfo)
Description copied from class: AtomCollection
general unqualified lookup of atom set type

Overrides:
getAtomBitsMaybeDeleted in class BondCollection
Returns:
BitSet; or null if we mess up the type

isInLatticeCell

private boolean isInLatticeCell(int i,
                                javax.vecmath.Point3f cell,
                                javax.vecmath.Point3f pt,
                                boolean isAbsolute)

getAtomsWithin

public java.util.BitSet getAtomsWithin(float distance,
                                       java.util.BitSet bs,
                                       boolean withinAllModels,
                                       RadiusData rd)
Get atoms within a specific distance of any atom in a specific set of atoms either within all models or within just the model(s) of those atoms

Parameters:
distance -
bs -
withinAllModels -
rd -
Returns:
the set of atoms

getGroupsWithin

public java.util.BitSet getGroupsWithin(int nResidues,
                                        java.util.BitSet bs)

getAtomsWithin

public java.util.BitSet getAtomsWithin(float distance,
                                       javax.vecmath.Point3f coord,
                                       java.util.BitSet bsResult,
                                       int modelIndex)

getBasePairInfo

private java.lang.String getBasePairInfo(java.util.BitSet bs)

getAtomResidueInfo

private static void getAtomResidueInfo(java.lang.StringBuffer info,
                                       Atom atom)

getBasePairBits

private java.util.BitSet getBasePairBits(java.lang.String specInfo)

getSequenceBits

public java.util.BitSet getSequenceBits(java.lang.String specInfo,
                                        java.util.BitSet bs)

deleteBonds

public void deleteBonds(java.util.BitSet bsBonds,
                        boolean isFullModel)
Overrides:
deleteBonds in class BondCollection

makeConnections

protected 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)

autoBond

public int autoBond(java.util.BitSet bsA,
                    java.util.BitSet bsB,
                    java.util.BitSet bsExclude,
                    java.util.BitSet bsBonds,
                    short mad,
                    boolean preJmol11_9_24)

autoBond_Pre_11_9_24

private int autoBond_Pre_11_9_24(java.util.BitSet bsA,
                                 java.util.BitSet bsB,
                                 java.util.BitSet bsExclude,
                                 java.util.BitSet bsBonds,
                                 short mad)

autoBond

private int[] autoBond(java.util.BitSet bsA,
                       java.util.BitSet bsB,
                       java.util.BitSet bsBonds,
                       boolean isBonds,
                       boolean matchHbond)

autoHbond

public int autoHbond(java.util.BitSet bsA,
                     java.util.BitSet bsB)
a generalized formation of HBONDS, carried out in relation to calculate HBONDS {atomsFrom} {atomsTo}. The calculation can create pseudo-H bonds for files that do not contain H atoms.

Parameters:
bsA - "from" set (must contain H if that is desired)
bsB - "to" set
Returns:
negative number of pseudo-hbonds or number of actual hbonds formed

checkMinAttachedAngle

private static javax.vecmath.Point3f checkMinAttachedAngle(Atom atom1,
                                                           float minAngle,
                                                           javax.vecmath.Vector3f v1,
                                                           javax.vecmath.Vector3f v2,
                                                           boolean haveHAtoms)

setStructureIds

void setStructureIds()

getProteinStructureState

public java.lang.String getProteinStructureState(java.util.BitSet bsAtoms,
                                                 boolean taintedOnly,
                                                 boolean needPhiPsi,
                                                 int mode)

getModelInfoAsString

public java.lang.String getModelInfoAsString()

getSymmetryInfoAsString

public java.lang.String getSymmetryInfoAsString()

getAtomsConnected

public java.util.BitSet getAtomsConnected(float min,
                                          float max,
                                          int intType,
                                          java.util.BitSet bs)

getModelExtract

public java.lang.String getModelExtract(java.util.BitSet bs,
                                        boolean doTransform,
                                        boolean isModelKit,
                                        java.lang.String type)

addMolFile

private boolean addMolFile(java.lang.StringBuffer mol,
                           java.util.BitSet bsAtoms,
                           java.util.BitSet bsBonds,
                           boolean asV3000,
                           Quaternion q)

getCovalentBondsForAtoms

private java.util.BitSet getCovalentBondsForAtoms(java.util.BitSet bsAtoms)

getAtomRecordMOL

private void getAtomRecordMOL(java.lang.StringBuffer sb,
                              int i,
                              Atom a,
                              Quaternion q,
                              javax.vecmath.Point3f pTemp,
                              boolean asV3000)

getBondRecordMOL

private void getBondRecordMOL(int n,
                              java.lang.StringBuffer sb,
                              int i,
                              int[] atomMap,
                              boolean asV3000)

getChimeInfo

public java.lang.String getChimeInfo(int tok,
                                     java.util.BitSet bs)
Overrides:
getChimeInfo in class AtomCollection

getModelFileInfo

public java.lang.String getModelFileInfo(java.util.BitSet frames)

getAuxiliaryInfo

public java.util.Map<java.lang.String,java.lang.Object> getAuxiliaryInfo(java.util.BitSet bsModels)

getAllAtomInfo

public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getAllAtomInfo(java.util.BitSet bs)

getAtomIdentityInfo

public void getAtomIdentityInfo(int i,
                                java.util.Map<java.lang.String,java.lang.Object> info)

getAtomInfoLong

private java.util.Map<java.lang.String,java.lang.Object> getAtomInfoLong(int i)

getAllBondInfo

public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getAllBondInfo(java.util.BitSet bs)

getBondInfo

private java.util.Map<java.lang.String,java.lang.Object> getBondInfo(int i)

getAllChainInfo

public java.util.Map<java.lang.String,java.util.List<java.util.Map<java.lang.String,java.lang.Object>>> getAllChainInfo(java.util.BitSet bs)

getChainInfo

private java.util.List<java.util.Map<java.lang.String,java.util.List<java.util.Map<java.lang.String,java.lang.Object>>>> getChainInfo(int modelIndex,
                                                                                                                                      java.util.BitSet bs)

getAllPolymerInfo

public java.util.Map<java.lang.String,java.util.List<java.util.Map<java.lang.String,java.lang.Object>>> getAllPolymerInfo(java.util.BitSet bs)

getUnitCellInfoText

public java.lang.String getUnitCellInfoText()

getSpaceGroupInfo

public java.util.Map<java.lang.String,java.lang.Object> getSpaceGroupInfo(int modelIndex,
                                                                          java.lang.String spaceGroup,
                                                                          int symOp,
                                                                          javax.vecmath.Point3f pt1,
                                                                          javax.vecmath.Point3f pt2,
                                                                          java.lang.String drawID)

getSymmetryInfo

public java.lang.Object getSymmetryInfo(java.util.BitSet bsAtoms,
                                        java.lang.String xyz,
                                        int op,
                                        javax.vecmath.Point3f pt,
                                        javax.vecmath.Point3f pt2,
                                        java.lang.String id,
                                        int type)

getSymTemp

private void getSymTemp(boolean forceNew)

deleteModel

protected void deleteModel(int modelIndex,
                           int firstAtomIndex,
                           int nAtoms,
                           java.util.BitSet bsAtoms,
                           java.util.BitSet bsBonds)

getMoInfo

public java.lang.String getMoInfo(int modelIndex)

assignAtom

public void assignAtom(int atomIndex,
                       java.lang.String type,
                       boolean autoBond)

deleteAtoms

public void deleteAtoms(java.util.BitSet bs)

appendLoadStates

public void appendLoadStates(java.lang.StringBuffer commands)

getModelCml

public java.lang.String getModelCml(java.util.BitSet bs,
                                    int atomsMax,
                                    boolean addBonds)

adjustAtomArrays

void adjustAtomArrays(int[] map,
                      int i0,
                      int atomCount)

growAtomArrays

protected void growAtomArrays(int newLength)

addAtom

protected Atom addAtom(int modelIndex,
                       Group group,
                       short atomicAndIsotopeNumber,
                       java.lang.String atomName,
                       int atomSerial,
                       int atomSite,
                       float x,
                       float y,
                       float z)

addAtom

public Atom addAtom(int modelIndex,
                    Group group,
                    short atomicAndIsotopeNumber,
                    java.lang.String atomName,
                    int atomSerial,
                    int atomSite,
                    float x,
                    float y,
                    float z,
                    float radius,
                    float vectorX,
                    float vectorY,
                    float vectorZ,
                    int formalCharge,
                    float partialCharge,
                    int occupancy,
                    float bfactor,
                    java.lang.Object[] ellipsoid,
                    boolean isHetero,
                    char alternateLocationID,
                    byte specialAtomID,
                    java.util.BitSet atomSymmetry)

getInlineData

public java.lang.String getInlineData(int modelIndex)

isAtomPDB

public boolean isAtomPDB(int i)

isAtomAssignable

public boolean isAtomAssignable(int i)

getGroupAtom

public int getGroupAtom(Atom atom,
                        int offset,
                        java.lang.String name)

haveModelKit

public boolean haveModelKit()

getModelKitStateBitset

public java.util.BitSet getModelKitStateBitset(java.util.BitSet bs,
                                               java.util.BitSet bsDeleted)

setAtomNamesAndNumbers

public void setAtomNamesAndNumbers(int iFirst,
                                   int baseAtomIndex,
                                   AtomCollection mergeSet)

setUnitCellOffset

public void setUnitCellOffset(int modelIndex,
                              javax.vecmath.Point3f pt,
                              int ijk)