public class ModelSet extends BondCollection
AtomCollection.AtomSorter
Modifier and Type | Field and Description |
---|---|
Model[] |
am |
private BS |
bboxAtoms |
BS |
bboxModels |
Model |
bioModel |
private BoxInfo |
boxInfo |
protected BS |
bsAll |
protected BS |
bsSymmetry |
protected Atom[] |
closest |
private boolean |
echoShapeActive |
protected BS[] |
elementsPresent |
java.lang.String[] |
frameTitles |
protected boolean |
haveBioModels |
boolean |
haveUnitCells |
private static float |
hbondMin |
java.util.Hashtable<java.lang.String,BS> |
htPeaks |
private boolean |
isBbcageDefault |
protected boolean |
isXYZ |
private javajs.util.M4 |
mat4 |
private javajs.util.M4 |
mat4t |
private javajs.util.M3 |
matInv |
private javajs.util.M3 |
matTemp |
private boolean |
maxBondWarned |
int |
mc
model count
|
int[] |
modelFileNumbers |
java.lang.String[] |
modelNames |
protected int[] |
modelNumbers |
java.lang.String[] |
modelNumbersForAtomLabel |
java.lang.String |
modelSetName |
java.util.Properties |
modelSetProperties |
protected java.lang.String |
modelSetTypeName |
java.util.Map<java.lang.String,java.lang.Object> |
msInfo |
private SymmetryInterface |
pointGroup |
boolean |
proteinStructureTainted |
private javajs.util.P3 |
ptTemp |
private javajs.util.P3 |
ptTemp1 |
private javajs.util.P3 |
ptTemp2 |
private BS |
selectedMolecules |
private boolean |
selectionHaloEnabled |
(package private) boolean |
showRebondTimes |
ShapeManager |
sm |
protected boolean |
someModelsHaveAromaticBonds |
protected boolean |
someModelsHaveFractionalCoordinates |
protected boolean |
someModelsHaveSymmetry |
javajs.util.Lst<StateScript> |
stateScripts |
SymmetryInterface |
symTemp |
private int |
thisStateModel |
javajs.util.Lst<javajs.util.P3[]> |
trajectorySteps |
private Triangulator |
triangulator |
SymmetryInterface[] |
unitCells |
protected javajs.util.Lst<javajs.util.V3[]> |
vibrationSteps |
private javajs.util.Quat[] |
vOrientations |
private javajs.util.V3 |
vTemp |
bo, BOND_GROWTH_INCREMENT, bondCount, bsAromatic, defaultCovalentMad, freeBonds, haveHiddenBonds, MAX_BONDS_LENGTH_TO_CACHE, MAX_NUM_TO_CACHE, moleculeCount, molecules, numCached
ac, at, atomNames, atomSeqIDs, atomSerials, atomTensorList, atomTensors, atomTypes, averageAtomPoint, bfactor100s, bondingRadii, bsClickable, bsModulated, bspf, bsVisible, canSkipLoad, g3d, haveStraightness, hydrophobicities, maxBondingRadius, occupancies, partialCharges, preserveState, surfaceDistance100s, TAINT_ATOMNAME, TAINT_ATOMNO, TAINT_ATOMTYPE, TAINT_BONDINGRADIUS, TAINT_COORD, TAINT_ELEMENT, TAINT_FORMALCHARGE, TAINT_HYDROPHOBICITY, TAINT_MAX, TAINT_OCCUPANCY, TAINT_PARTIALCHARGE, TAINT_SEQID, TAINT_TEMPERATURE, TAINT_VALENCE, TAINT_VANDERWAALS, TAINT_VIBRATION, tainted, userSettableValues, vibrations, vwr
Constructor and Description |
---|
ModelSet(Viewer vwr,
java.lang.String name) |
Modifier and Type | Method and Description |
---|---|
Atom |
addAtom(int modelIndex,
Group group,
int atomicAndIsotopeNumber,
java.lang.String atomName,
java.lang.String atomType,
int atomSerial,
int atomSeqID,
int atomSite,
javajs.util.P3 xyz,
float radius,
javajs.util.V3 vib,
int formalCharge,
float partialCharge,
float occupancy,
float bfactor,
javajs.util.Lst<java.lang.Object> tensors,
boolean isHetero,
byte specialAtomID,
BS atomSymmetry) |
BS |
addHydrogens(javajs.util.Lst<Atom> vConnections,
javajs.util.P3[] pts)
these are hydrogens that are being added due to a load 2D command and are
therefore not to be flagged as NEW
|
StateScript |
addStateScript(java.lang.String script1,
BS bsBonds,
BS bsAtoms1,
BS bsAtoms2,
java.lang.String script2,
boolean addFrameNumber,
boolean postDefinitions) |
void |
adjustAtomArrays(int[] map,
int i0,
int ac) |
boolean |
allowSpecAtom() |
void |
assignAtom(int atomIndex,
java.lang.String type,
boolean autoBond) |
private int |
autoBond_Pre_11_9_24(BS bsA,
BS bsB,
BS bsExclude,
BS bsBonds,
short mad) |
private int[] |
autoBond(BS bsA,
BS bsB,
BS bsBonds,
boolean isBonds,
boolean matchHbond,
boolean legacyAutoBond) |
int |
autoBondBs4(BS bsA,
BS bsB,
BS bsExclude,
BS bsBonds,
short mad,
boolean preJmol11_9_24) |
private boolean |
autoBondCheck(Atom atomA,
Atom atomB,
int order,
short mad,
BS bsBonds) |
int |
autoHbond(BS bsA,
BS bsB,
boolean onlyIfHaveCalculated)
a generalized formation of HBONDS, carried out in relation to calculate
HBONDS {atomsFrom} {atomsTo}.
|
int |
calcAtomsMinMax(BS bs,
BoxInfo boxInfo) |
void |
calcBoundBoxDimensions(BS bs,
float scale) |
void |
calcRasmolHydrogenBonds(BS bsA,
BS bsB,
javajs.util.Lst<Bond> vHBonds,
boolean nucleicOnly,
int nMax,
boolean dsspIgnoreHydrogens,
BS bsHBonds)
These are not actual hydrogen bonds.
|
float |
calcRotationRadius(int modelIndex,
javajs.util.P3 center) |
float |
calcRotationRadiusBs(BS bs) |
void |
calcSelectedGroupsCount() |
void |
calcSelectedMoleculesCount() |
void |
calcSelectedMonomersCount() |
javajs.util.V3 |
calculateMolecularDipole(int modelIndex,
BS bsAtoms) |
java.lang.String |
calculatePointGroup(BS bsAtoms) |
private java.lang.Object |
calculatePointGroupForFirstModel(BS bsAtoms,
boolean doAll,
boolean asDraw,
boolean asInfo,
java.lang.String type,
int index,
float scale) |
protected void |
calculatePolymers(Group[] groups,
int groupCount,
int baseGroupIndex,
BS modelsExcluded) |
void |
calculateStraightness() |
java.lang.String |
calculateStructures(BS bsAtoms,
boolean asDSSP,
boolean doReport,
boolean dsspIgnoreHydrogen,
boolean setStructure) |
protected java.lang.String |
calculateStructuresAllExcept(BS alreadyDefined,
boolean asDSSP,
boolean doReport,
boolean dsspIgnoreHydrogen,
boolean setStructure,
boolean includeAlpha)
allows rebuilding of PDB structures; also accessed by ModelManager from
Eval
|
int |
calculateStruts(BS bs1,
BS 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 javajs.util.P3 |
checkMinAttachedAngle(Atom atom1,
float minAngle,
javajs.util.V3 v1,
javajs.util.V3 v2,
boolean haveHAtoms) |
void |
clearCache() |
protected void |
clearDataFrameReference(int modelIndex) |
void |
connect(float[][] connections) |
void |
createModels(int n) |
void |
deleteAllBonds() |
void |
deleteAtoms(BS bs) |
void |
deleteBonds(BS bsBonds,
boolean isFullModel) |
protected void |
deleteModel(int modelIndex,
int firstAtomIndex,
int nAtoms,
BS bsModelAtoms,
BS bsBonds) |
BS |
deleteModels(BS bsModels) |
void |
fillAtomData(AtomData atomData,
int mode) |
BS |
findAtomsInRectangle(Rectangle rect) |
int |
findNearestAtomIndex(int x,
int y,
BS bsNot,
int min) |
(package private) void |
freezeModels() |
int |
getAltLocCountInModel(int modelIndex) |
int |
getAltLocIndexInModel(int modelIndex,
char alternateLocationID) |
java.lang.String |
getAltLocListInModel(int modelIndex) |
private BS |
getAnnotationBits(java.lang.String name,
int tok,
java.lang.String specInfo) |
protected BS |
getAtomBitsMaybeDeleted(int tokType,
java.lang.Object specInfo) |
int |
getAtomCountInModel(int modelIndex) |
javajs.util.Quat[] |
getAtomGroupQuaternions(BS bsAtoms,
int nMax,
char qtype) |
BS |
getAtoms(int tokType,
java.lang.Object specInfo)
general lookup for integer type -- from Eval
|
BS |
getAtomsConnected(float min,
float max,
int intType,
BS bs) |
javajs.util.P3 |
getAtomSetCenter(BS bs) |
BS |
getAtomsWithin(float distance,
javajs.util.P3 coord,
BS bsResult,
int modelIndex) |
BS |
getAtomsWithinRadius(float distance,
BS 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.Map<java.lang.String,java.lang.Object> |
getAuxiliaryInfo(BS bsModels) |
javajs.util.P3 |
getAverageAtomPoint() |
Point3fi[] |
getBBoxVertices() |
int |
getBioPolymerCountInModel(int modelIndex) |
BS |
getBitSetTrajectories() |
int |
getBondCountInModel(int modelIndex)
for general use
|
javajs.util.P3 |
getBoundBoxCenter(int modelIndex) |
java.lang.String |
getBoundBoxCommand(boolean withOptions) |
javajs.util.V3 |
getBoundBoxCornerVector() |
java.lang.String |
getBoundBoxOrientation(int type,
BS bsAtoms) |
BoxInfo |
getBoxInfo(BS bs,
float scale) |
BS[] |
getBsBranches(float[] dihedralList) |
java.lang.Object |
getCachedAnnotationMap(int i,
java.lang.String key,
java.lang.Object ann) |
float[] |
getCellWeights(BS bsAtoms) |
javajs.util.P3[][] |
getCenterAndPoints(javajs.util.Lst<java.lang.Object[]> vAtomSets,
boolean addCenters) |
int |
getChainCountInModelWater(int modelIndex,
boolean countWater) |
BS |
getConformation(int modelIndex,
int conformationIndex,
boolean doSet) |
java.lang.String |
getDefaultStructure(BS bsAtoms,
BS bsAllAtoms) |
VDW |
getDefaultVdwType(int modelIndex) |
int[][] |
getDihedralMap(int[] alist) |
boolean |
getEchoStateActive() |
BS |
getElementsPresentBitSet(int modelIndex) |
java.lang.Object |
getFileData(int modelIndex) |
java.lang.String |
getFileHeader(int modelIndex) |
long |
getFrameDelayMs(int i) |
javajs.util.P3[] |
getFrameOffsets(BS bsAtoms) |
java.lang.String |
getFrameTitle(int modelIndex) |
int |
getGroupCountInModel(int modelIndex) |
Group[] |
getGroups()
In versions earlier than 12.1.51, groups[] was a field of ModelCollection.
|
BS |
getGroupsWithin(int nResidues,
BS bs) |
java.util.Map<java.lang.String,java.lang.String> |
getHeteroList(int modelIndex) |
java.lang.Object |
getInfo(int modelIndex,
java.lang.String key) |
protected boolean |
getInfoB(int modelIndex,
java.lang.String keyName) |
protected int |
getInfoI(int modelIndex,
java.lang.String keyName) |
java.lang.Object |
getInfoM(java.lang.String keyName) |
java.lang.String |
getInlineData(int modelIndex) |
int |
getInsertionCodeIndexInModel(int modelIndex,
char insertionCode) |
int |
getInsertionCountInModel(int modelIndex) |
private java.lang.String |
getInsertionListInModel(int modelIndex) |
BS |
getIterativeModels(boolean allowJmolData)
only some models can be iterated through.
|
int |
getJmolDataFrameIndex(int modelIndex,
java.lang.String type) |
int |
getJmolDataSourceFrame(int modelIndex) |
java.lang.String |
getJmolFrameType(int modelIndex) |
int |
getLastVibrationVector(int modelIndex,
int tok) |
BS |
getModelAtomBitSetIncludingDeleted(int modelIndex,
boolean asCopy)
Note that this method returns all atoms, included deleted ones.
|
BS |
getModelAtomBitSetIncludingDeletedBs(BS bsModels)
note -- this method returns ALL atoms, including deleted.
|
java.util.Map<java.lang.String,java.lang.Object> |
getModelAuxiliaryInfo(int modelIndex) |
BS |
getModelBS(BS atomList,
boolean allTrajectories) |
int[] |
getModelCellRange(int modelIndex) |
javajs.util.V3 |
getModelDipole(int modelIndex) |
java.lang.String |
getModelFileName(int modelIndex) |
java.lang.String |
getModelFileType(int modelIndex) |
int |
getModelIndexFromId(java.lang.String id) |
java.lang.String |
getModelInfoAsString() |
BS |
getModelKitStateBitset(BS bs,
BS bsDeleted) |
java.lang.String |
getModelName(int modelIndex) |
int |
getModelNumber(int modelIndex) |
java.lang.String |
getModelNumberDotted(int modelIndex) |
java.lang.String |
getModelNumberForAtomLabel(int modelIndex) |
int |
getModelNumberIndex(int modelNumber,
boolean useModelNumber,
boolean doSetTrajectory) |
Orientation |
getModelOrientation(int modelIndex) |
java.lang.String |
getModelProperty(int modelIndex,
java.lang.String property) |
java.lang.String |
getModelSetTypeName() |
int |
getModelSymmetryCount(int modelIndex) |
java.lang.String |
getModelTitle(int modelIndex) |
javajs.util.Lst<java.lang.Object> |
getModulationList(BS bs,
char type,
javajs.util.P3 t456) |
BS |
getMoleculeBitSet(BS bs) |
BS |
getMoleculeBitSetForAtom(int atomIndex) |
int |
getMoleculeCountInModel(int modelIndex) |
int |
getMoleculeIndex(int atomIndex,
boolean inModel) |
JmolMolecule[] |
getMolecules() |
boolean |
getMSInfoB(java.lang.String keyName) |
private BS |
getNotInCentroid(BS bs,
int[] minmax) |
float[] |
getNotionalUnitcell()
deprecated due to multimodel issues, but required by an interface -- do NOT
remove.
|
java.lang.String |
getPDBHeader(int modelIndex) |
javajs.util.Lst<java.lang.Object> |
getPlaneIntersection(int type,
javajs.util.P4 plane,
float scale,
int flags,
SymmetryInterface uc) |
java.lang.String |
getPointGroupAsString(BS bsAtoms,
boolean asDraw,
java.lang.String type,
int index,
float scale) |
java.util.Map<java.lang.String,java.lang.Object> |
getPointGroupInfo(BS bsAtoms) |
void |
getPolymerPointsAndVectors(BS bs,
javajs.util.Lst<javajs.util.P3[]> vList,
boolean isTraceAlpha,
float sheetSmoothing) |
java.lang.String |
getProteinStructureState(BS bsAtoms,
boolean taintedOnly,
boolean needPhiPsi,
int mode) |
AtomIndexIterator |
getSelectedAtomIterator(BS bsSelected,
boolean isGreaterOnly,
boolean modelZeroBased,
boolean hemisphereOnly,
boolean isMultiModel) |
boolean |
getSelectionHaloEnabled() |
BS |
getSequenceBits(java.lang.String specInfo,
BS bs) |
java.util.Map<STR,float[]> |
getStructureList() |
javajs.util.M4[] |
getSymMatrices(int modelIndex) |
java.lang.String |
getSymmetryInfoAsString() |
SymmetryInterface |
getSymTemp(boolean forceNew) |
int |
getTrajectoryIndex(int modelIndex) |
SymmetryInterface |
getUnitCell(int modelIndex) |
SymmetryInterface |
getUnitCellForAtom(int index) |
protected void |
growAtomArrays(int newLength) |
boolean |
haveModelKit() |
private void |
includeAllRelatedFrames(BS bsModels) |
protected void |
initializeBspf() |
protected void |
initializeBspt(int modelIndex) |
javajs.util.Lst<java.lang.Object> |
intersectPlane(javajs.util.P4 plane,
javajs.util.Lst<java.lang.Object> v,
int i) |
void |
invertSelected(javajs.util.P3 pt,
javajs.util.P4 plane,
int iAtom,
BS invAtoms,
BS bs) |
boolean |
isAtomAssignable(int i) |
boolean |
isAtomPDB(int i) |
private boolean |
isInLatticeCell(int i,
javajs.util.P3 cell,
javajs.util.P3 ptTemp,
boolean isAbsolute) |
private boolean |
isJmolDataFrameForAtom(Atom atom) |
boolean |
isJmolDataFrameForModel(int modelIndex) |
boolean |
isTrajectory(int modelIndex) |
boolean |
isTrajectoryMeasurement(int[] countPlusIndices) |
boolean |
isTrajectorySubFrame(int i) |
int[] |
makeConnections(float minDistance,
float maxDistance,
int order,
int connectOperation,
BS bsA,
BS bsB,
BS bsBonds,
boolean isBonds,
boolean addGroup,
float energy) |
int[] |
makeConnections2(float minD,
float maxD,
int order,
int connectOperation,
BS bsA,
BS bsB,
BS bsBonds,
boolean isBonds,
boolean addGroup,
float energy) |
protected void |
mergeModelArrays(ModelSet mergeModelSet)
initial transfer of model data from old to new model set.
|
protected int |
mergeTrajectories(boolean isTrajectory) |
static int |
modelFileNumberFromFloat(float fDotM) |
private BS |
modelsOf(BS bsAtoms,
BS bsAllAtoms) |
void |
morphTrajectories(int m1,
int m2,
float f) |
void |
moveAtoms(javajs.util.M4 m4,
javajs.util.M3 mNew,
javajs.util.M3 rotation,
javajs.util.V3 translation,
BS bs,
javajs.util.P3 center,
boolean isInternal,
boolean translationOnly) |
void |
recalculateLeadMidpointsAndWingVectors(int modelIndex) |
void |
recalculatePositionDependentQuantities(BS bs,
javajs.util.M4 mat) |
protected void |
releaseModelSet() |
void |
saveModelOrientation(int modelIndex,
Orientation orientation) |
BS |
selectDisplayedTrajectories(BS bs) |
protected void |
setAPm(BS bs,
int tok,
int iValue,
float fValue,
java.lang.String sValue,
float[] values,
java.lang.String[] list) |
void |
setAtomCoords(BS bs,
int tokType,
java.lang.Object xyzValues) |
void |
setAtomCoordsRelative(javajs.util.T3 offset,
BS bs) |
void |
setAtomNamesAndNumbers(int iFirst,
int baseAtomIndex,
AtomCollection mergeSet) |
private void |
setAtomPositions(int baseModelIndex,
int modelIndex,
javajs.util.P3[] t1,
javajs.util.P3[] t2,
float f,
javajs.util.V3[] vibs,
boolean isFractional)
A generic way to set atom positions, possibly from trajectories but also
possibly from an array.
|
void |
setAtomProperty(BS bs,
int tok,
int iValue,
float fValue,
java.lang.String sValue,
float[] values,
java.lang.String[] list) |
void |
setBoundBox(javajs.util.P3 pt1,
javajs.util.P3 pt2,
boolean byCorner,
float scale) |
void |
setCentroid(BS bs,
int[] minmax)
deletes molecules based on: CENTROID -- molecular centroid is not in unit
cell CENTROID PACKED -- all molecule atoms are not in unit cell
|
BS |
setConformation(BS bsAtoms) |
boolean |
setCrystallographicDefaults() |
void |
setDefaultStructure(BS bsModels) |
void |
setDihedrals(float[] dihedralList,
BS[] bsBranches,
float f) |
void |
setEchoStateActive(boolean TF) |
void |
setFrameDelayMs(long millis,
BS bsModels) |
void |
setFrameTitle(BS bsFrames,
java.lang.Object title) |
void |
setInfo(int modelIndex,
java.lang.Object key,
java.lang.Object value) |
void |
setIteratorForAtom(AtomIndexIterator iterator,
int modelIndex,
int atomIndex,
float distance,
RadiusData rd) |
void |
setIteratorForPoint(AtomIndexIterator iterator,
int modelIndex,
javajs.util.T3 pt,
float distance) |
void |
setJmolDataFrame(java.lang.String type,
int modelIndex,
int modelDataIndex) |
void |
setModelCage(int modelIndex,
SymmetryInterface simpleCage) |
void |
setModulation(BS bs,
boolean isOn,
javajs.util.P3 qtOffset,
boolean isQ)
Sets the modulation for all atoms in bs.
|
void |
setPdbConectBonding(int baseAtomIndex,
int baseModelIndex,
BS bsExclude) |
void |
setProteinType(BS bs,
STR type) |
boolean |
setRotationRadius(int modelIndex,
float angstroms) |
void |
setSelectionHaloEnabled(boolean selectionHaloEnabled) |
(package private) void |
setStructureIndexes() |
void |
setStructureList(java.util.Map<STR,float[]> structureList) |
void |
setTrajectory(int modelIndex) |
void |
setTrajectoryBs(BS bsModels) |
void |
setUnitCellOffset(SymmetryInterface unitCell,
javajs.util.T3 pt,
int ijk) |
addHBond, assignAromaticBondsBs, bondAtoms, bondMutually, dBb, dBm, deleteAllBonds2, deleteConnections, displayBonds, fixD, getAtomBitsMDb, getBondColix1, getBondColix2, getBondIterator, getBondIteratorForType, getBondOrderFull, getBondsForSelectedAtoms, getDefaultMadFromOrder, getOrAddBond, isInRange, releaseModelSetBC, removeUnnecessaryBonds, resetAromatic, resetMolecules, setBond, setBondOrder, setupBC
addTensor, calculateHydrogens, calculateSurface, calculateVolume, chainToUpper, clearBfactorRange, clearVisibleSets, deleteModelAtoms, fillADa, findMaxRadii, findNearest2, fixFormalCharges, getAllAtomTensors, getAtomBitsMDa, getAtomicCharges, getAtomIdentityInfo, getAtomIndexFromAtomNumber, getAtomIndices, getAtomInfo, getAtomPointVector, getAtomsNearPlane, getAtomsNearPts, getAtomTensor, getAtomTensorList, getAtomTypes, getBfactor100Hi, getBfactor100Lo, getBFactors, getBondingRadii, getChainBits, getClickableSet, getElementName, getHybridizationAndAxes, getHydrophobicity, getImplicitHydrogenCount, getLabeler, getMaxVanderwaalsRadius, getModulation, getModulationCoord, getPartialCharges, getQuaternion, getRadiusVdwJmol, getRenderable, getSeqcodeBits, getSurfaceDistance100, getSurfaceDistanceMax, getTaintedAtoms, getUserSettableType, getVibration, getVibrationCoord, getVisibleSet, isAtomHidden, isCursorOnTopOf, isModulated, mergeAtomArrays, modelSetHasVibrationVectors, releaseModelSetAC, scaleVectorsToMax, setAPa, setAtomCoord, setAtomCoord2, setAtomCoordRelative, setAtomData, setAtomName, setAtomNumber, setAtomsCoordRelative, setAtomSeqID, setAtomTensors, setAtomType, setBFactor, setBondingRadius, setBsHidden, setElement, setFormalCharges, setHydrophobicity, setOccupancy, setPartialCharge, setPreserveState, setTaintedAtoms, setupAC, setVibrationVector, taintAtom, taintAtoms, unTaintAtoms, validateBspf, validateBspfForModel
protected BS bsSymmetry
public java.lang.String modelSetName
public Model[] am
public int mc
public Model bioModel
public SymmetryInterface[] unitCells
public boolean haveUnitCells
protected final Atom[] closest
protected int[] modelNumbers
public int[] modelFileNumbers
public java.lang.String[] modelNumbersForAtomLabel
public java.lang.String[] modelNames
public java.lang.String[] frameTitles
protected BS[] elementsPresent
protected boolean isXYZ
protected boolean haveBioModels
public java.util.Properties modelSetProperties
public java.util.Map<java.lang.String,java.lang.Object> msInfo
protected boolean someModelsHaveSymmetry
protected boolean someModelsHaveAromaticBonds
protected boolean someModelsHaveFractionalCoordinates
private boolean isBbcageDefault
public BS bboxModels
private BS bboxAtoms
private final BoxInfo boxInfo
public javajs.util.Lst<StateScript> stateScripts
private int thisStateModel
public javajs.util.Lst<javajs.util.P3[]> trajectorySteps
protected javajs.util.Lst<javajs.util.V3[]> vibrationSteps
private BS selectedMolecules
boolean showRebondTimes
protected BS bsAll
public ShapeManager sm
private static float hbondMin
public boolean proteinStructureTainted
public SymmetryInterface symTemp
public java.util.Hashtable<java.lang.String,BS> htPeaks
private javajs.util.Quat[] vOrientations
private Triangulator triangulator
private final javajs.util.P3 ptTemp
private final javajs.util.P3 ptTemp1
private final javajs.util.P3 ptTemp2
private final javajs.util.M3 matTemp
private final javajs.util.M3 matInv
private final javajs.util.M4 mat4
private final javajs.util.M4 mat4t
private final javajs.util.V3 vTemp
private boolean selectionHaloEnabled
private boolean echoShapeActive
protected java.lang.String modelSetTypeName
private SymmetryInterface pointGroup
private boolean maxBondWarned
public ModelSet(Viewer vwr, java.lang.String name)
vwr
- name
- protected void releaseModelSet()
releaseModelSet
in class BondCollection
public void setSelectionHaloEnabled(boolean selectionHaloEnabled)
public boolean getSelectionHaloEnabled()
public boolean getEchoStateActive()
public void setEchoStateActive(boolean TF)
public java.lang.String getModelSetTypeName()
public int getModelNumberIndex(int modelNumber, boolean useModelNumber, boolean doSetTrajectory)
public BS getBitSetTrajectories()
public void setTrajectoryBs(BS bsModels)
public void setTrajectory(int modelIndex)
public void morphTrajectories(int m1, int m2, float f)
private void setAtomPositions(int baseModelIndex, int modelIndex, javajs.util.P3[] t1, javajs.util.P3[] t2, float f, javajs.util.V3[] vibs, boolean isFractional)
baseModelIndex
- modelIndex
- t1
- t2
- f
- vibs
- isFractional
- public javajs.util.P3[] getFrameOffsets(BS bsAtoms)
public BS getAtoms(int tokType, java.lang.Object specInfo)
tokType
- specInfo
- public int findNearestAtomIndex(int x, int y, BS bsNot, int min)
public java.lang.String calculatePointGroup(BS bsAtoms)
public java.util.Map<java.lang.String,java.lang.Object> getPointGroupInfo(BS bsAtoms)
public java.lang.String getPointGroupAsString(BS bsAtoms, boolean asDraw, java.lang.String type, int index, float scale)
private java.lang.Object calculatePointGroupForFirstModel(BS bsAtoms, boolean doAll, boolean asDraw, boolean asInfo, java.lang.String type, int index, float scale)
public int[] makeConnections(float minDistance, float maxDistance, int order, int connectOperation, BS bsA, BS bsB, BS bsBonds, boolean isBonds, boolean addGroup, float energy)
public void setPdbConectBonding(int baseAtomIndex, int baseModelIndex, BS bsExclude)
public void deleteAllBonds()
private void includeAllRelatedFrames(BS bsModels)
public void setAtomProperty(BS bs, int tok, int iValue, float fValue, java.lang.String sValue, float[] values, java.lang.String[] list)
public java.lang.Object getFileData(int modelIndex)
public BS addHydrogens(javajs.util.Lst<Atom> vConnections, javajs.util.P3[] pts)
vConnections
- pts
- protected void mergeModelArrays(ModelSet mergeModelSet)
mergeModelSet
- public SymmetryInterface getUnitCell(int modelIndex)
public void setModelCage(int modelIndex, SymmetryInterface simpleCage)
public javajs.util.Lst<java.lang.Object> getPlaneIntersection(int type, javajs.util.P4 plane, float scale, int flags, SymmetryInterface uc)
type
- plane
- scale
- uc
- flags
- 1 -- edges only 2 -- triangles only 3 -- bothpublic java.lang.String getModelName(int modelIndex)
public java.lang.String getModelTitle(int modelIndex)
public java.lang.String getModelFileName(int modelIndex)
public java.lang.String getModelFileType(int modelIndex)
public void setFrameTitle(BS bsFrames, java.lang.Object title)
public java.lang.String getFrameTitle(int modelIndex)
public java.lang.String getModelNumberForAtomLabel(int modelIndex)
public Group[] getGroups()
public float[] getNotionalUnitcell()
public boolean setCrystallographicDefaults()
public javajs.util.P3 getBoundBoxCenter(int modelIndex)
public javajs.util.V3 getBoundBoxCornerVector()
public Point3fi[] getBBoxVertices()
public void setBoundBox(javajs.util.P3 pt1, javajs.util.P3 pt2, boolean byCorner, float scale)
public java.lang.String getBoundBoxCommand(boolean withOptions)
public VDW getDefaultVdwType(int modelIndex)
public boolean setRotationRadius(int modelIndex, float angstroms)
public float calcRotationRadius(int modelIndex, javajs.util.P3 center)
public void calcBoundBoxDimensions(BS bs, float scale)
private void calcUnitCellMinMax()
public float calcRotationRadiusBs(BS bs)
public javajs.util.P3[][] getCenterAndPoints(javajs.util.Lst<java.lang.Object[]> vAtomSets, boolean addCenters)
vAtomSets
- addCenters
- public javajs.util.P3 getAtomSetCenter(BS bs)
public javajs.util.P3 getAverageAtomPoint()
protected void setAPm(BS bs, int tok, int iValue, float fValue, java.lang.String sValue, float[] values, java.lang.String[] list)
public StateScript addStateScript(java.lang.String script1, BS bsBonds, BS bsAtoms1, BS bsAtoms2, java.lang.String script2, boolean addFrameNumber, boolean postDefinitions)
protected java.lang.String calculateStructuresAllExcept(BS alreadyDefined, boolean asDSSP, boolean doReport, boolean dsspIgnoreHydrogen, boolean setStructure, boolean includeAlpha)
alreadyDefined
- set to skip calculationasDSSP
- doReport
- dsspIgnoreHydrogen
- setStructure
- includeAlpha
- public void setDefaultStructure(BS bsModels)
void freezeModels()
public java.util.Map<STR,float[]> getStructureList()
public void setStructureList(java.util.Map<STR,float[]> structureList)
public BS getConformation(int modelIndex, int conformationIndex, boolean doSet)
public java.util.Map<java.lang.String,java.lang.String> getHeteroList(int modelIndex)
public java.lang.Object getInfoM(java.lang.String keyName)
public boolean getMSInfoB(java.lang.String keyName)
protected int mergeTrajectories(boolean isTrajectory)
public int getTrajectoryIndex(int modelIndex)
public boolean isTrajectory(int modelIndex)
public boolean isTrajectoryMeasurement(int[] countPlusIndices)
public BS getIterativeModels(boolean allowJmolData)
allowJmolData
- public boolean isTrajectorySubFrame(int i)
public void fillAtomData(AtomData atomData, int mode)
public java.lang.String getModelNumberDotted(int modelIndex)
public int getModelNumber(int modelIndex)
public java.lang.String getModelProperty(int modelIndex, java.lang.String property)
public java.util.Map<java.lang.String,java.lang.Object> getModelAuxiliaryInfo(int modelIndex)
public void setInfo(int modelIndex, java.lang.Object key, java.lang.Object value)
public java.lang.Object getInfo(int modelIndex, java.lang.String key)
protected boolean getInfoB(int modelIndex, java.lang.String keyName)
protected int getInfoI(int modelIndex, java.lang.String keyName)
public int getInsertionCountInModel(int modelIndex)
public static int modelFileNumberFromFloat(float fDotM)
public int getAltLocCountInModel(int modelIndex)
public int getChainCountInModelWater(int modelIndex, boolean countWater)
public int getGroupCountInModel(int modelIndex)
public void calcSelectedGroupsCount()
public void calcSelectedMonomersCount()
public boolean isJmolDataFrameForModel(int modelIndex)
private boolean isJmolDataFrameForAtom(Atom atom)
public void setJmolDataFrame(java.lang.String type, int modelIndex, int modelDataIndex)
public int getJmolDataFrameIndex(int modelIndex, java.lang.String type)
protected void clearDataFrameReference(int modelIndex)
public java.lang.String getJmolFrameType(int modelIndex)
public int getJmolDataSourceFrame(int modelIndex)
public void saveModelOrientation(int modelIndex, Orientation orientation)
public Orientation getModelOrientation(int modelIndex)
public java.lang.String getPDBHeader(int modelIndex)
public java.lang.String getFileHeader(int modelIndex)
public int getAltLocIndexInModel(int modelIndex, char alternateLocationID)
public int getInsertionCodeIndexInModel(int modelIndex, char insertionCode)
public java.lang.String getAltLocListInModel(int modelIndex)
private java.lang.String getInsertionListInModel(int modelIndex)
public int getModelSymmetryCount(int modelIndex)
public int[] getModelCellRange(int modelIndex)
public int getLastVibrationVector(int modelIndex, int tok)
public javajs.util.Lst<java.lang.Object> getModulationList(BS bs, char type, javajs.util.P3 t456)
public BS getElementsPresentBitSet(int modelIndex)
public int getMoleculeIndex(int atomIndex, boolean inModel)
public BS getMoleculeBitSetForAtom(int atomIndex)
public javajs.util.V3 getModelDipole(int modelIndex)
public javajs.util.V3 calculateMolecularDipole(int modelIndex, BS bsAtoms)
public int getMoleculeCountInModel(int modelIndex)
public void calcSelectedMoleculesCount()
public void setCentroid(BS bs, int[] minmax)
bs
- minmax
- fractional [xmin, ymin, zmin, xmax, ymax, zmax, 1=packed]public JmolMolecule[] getMolecules()
protected void initializeBspf()
protected void initializeBspt(int modelIndex)
public void setIteratorForPoint(AtomIndexIterator iterator, int modelIndex, javajs.util.T3 pt, float distance)
public void setIteratorForAtom(AtomIndexIterator iterator, int modelIndex, int atomIndex, float distance, RadiusData rd)
public AtomIndexIterator getSelectedAtomIterator(BS bsSelected, boolean isGreaterOnly, boolean modelZeroBased, boolean hemisphereOnly, boolean isMultiModel)
bsSelected
- isGreaterOnly
- modelZeroBased
- hemisphereOnly
- isMultiModel
- public int getBondCountInModel(int modelIndex)
BondCollection
getBondCountInModel
in class BondCollection
modelIndex
- the model of interest or -1 for allpublic int getAtomCountInModel(int modelIndex)
public BS getModelAtomBitSetIncludingDeletedBs(BS bsModels)
bsModels
- public BS getModelAtomBitSetIncludingDeleted(int modelIndex, boolean asCopy)
modelIndex
- asCopy
- MUST BE TRUE IF THE BITSET IS GOING TO BE MODIFIED!protected BS getAtomBitsMaybeDeleted(int tokType, java.lang.Object specInfo)
private BS getAnnotationBits(java.lang.String name, int tok, java.lang.String specInfo)
public java.lang.Object getCachedAnnotationMap(int i, java.lang.String key, java.lang.Object ann)
private boolean isInLatticeCell(int i, javajs.util.P3 cell, javajs.util.P3 ptTemp, boolean isAbsolute)
public BS getAtomsWithinRadius(float distance, BS bs, boolean withinAllModels, RadiusData rd)
distance
- bs
- withinAllModels
- rd
- public BS getAtomsWithin(float distance, javajs.util.P3 coord, BS bsResult, int modelIndex)
public void deleteBonds(BS bsBonds, boolean isFullModel)
public int[] makeConnections2(float minD, float maxD, int order, int connectOperation, BS bsA, BS bsB, BS bsBonds, boolean isBonds, boolean addGroup, float energy)
public int autoBondBs4(BS bsA, BS bsB, BS bsExclude, BS bsBonds, short mad, boolean preJmol11_9_24)
private boolean autoBondCheck(Atom atomA, Atom atomB, int order, short mad, BS bsBonds)
private int autoBond_Pre_11_9_24(BS bsA, BS bsB, BS bsExclude, BS bsBonds, short mad)
private int[] autoBond(BS bsA, BS bsB, BS bsBonds, boolean isBonds, boolean matchHbond, boolean legacyAutoBond)
public int autoHbond(BS bsA, BS bsB, boolean onlyIfHaveCalculated)
bsA
- "from" set (must contain H if that is desired)bsB
- "to" setonlyIfHaveCalculated
- private static javajs.util.P3 checkMinAttachedAngle(Atom atom1, float minAngle, javajs.util.V3 v1, javajs.util.V3 v2, boolean haveHAtoms)
void setStructureIndexes()
public java.lang.String getModelInfoAsString()
public java.lang.String getSymmetryInfoAsString()
public SymmetryInterface getSymTemp(boolean forceNew)
public void createModels(int n)
protected void deleteModel(int modelIndex, int firstAtomIndex, int nAtoms, BS bsModelAtoms, BS bsBonds)
public void assignAtom(int atomIndex, java.lang.String type, boolean autoBond)
public void deleteAtoms(BS bs)
public void adjustAtomArrays(int[] map, int i0, int ac)
protected void growAtomArrays(int newLength)
public Atom addAtom(int modelIndex, Group group, int atomicAndIsotopeNumber, java.lang.String atomName, java.lang.String atomType, int atomSerial, int atomSeqID, int atomSite, javajs.util.P3 xyz, float radius, javajs.util.V3 vib, int formalCharge, float partialCharge, float occupancy, float bfactor, javajs.util.Lst<java.lang.Object> tensors, boolean isHetero, byte specialAtomID, BS atomSymmetry)
public java.lang.String getInlineData(int modelIndex)
public boolean isAtomPDB(int i)
public boolean isAtomAssignable(int i)
public boolean haveModelKit()
public void setAtomNamesAndNumbers(int iFirst, int baseAtomIndex, AtomCollection mergeSet)
iFirst
- 0 from ModelLoader.freeze; -1 from Viewer.assignAtombaseAtomIndex
- mergeSet
- public void setUnitCellOffset(SymmetryInterface unitCell, javajs.util.T3 pt, int ijk)
public void connect(float[][] connections)
public boolean allowSpecAtom()
public void setFrameDelayMs(long millis, BS bsModels)
public long getFrameDelayMs(int i)
public int getModelIndexFromId(java.lang.String id)
public java.util.Map<java.lang.String,java.lang.Object> getAuxiliaryInfo(BS bsModels)
public int[][] getDihedralMap(int[] alist)
public void setModulation(BS bs, boolean isOn, javajs.util.P3 qtOffset, boolean isQ)
bs
- isOn
- qtOffset
- multiples of q or just t.isQ
- true if multiples of q.public java.lang.String getBoundBoxOrientation(int type, BS bsAtoms)
public javajs.util.Lst<java.lang.Object> intersectPlane(javajs.util.P4 plane, javajs.util.Lst<java.lang.Object> v, int i)
public SymmetryInterface getUnitCellForAtom(int index)
public void clearCache()
public javajs.util.M4[] getSymMatrices(int modelIndex)
public BS[] getBsBranches(float[] dihedralList)
public void recalculatePositionDependentQuantities(BS bs, javajs.util.M4 mat)
public void moveAtoms(javajs.util.M4 m4, javajs.util.M3 mNew, javajs.util.M3 rotation, javajs.util.V3 translation, BS bs, javajs.util.P3 center, boolean isInternal, boolean translationOnly)
public void setDihedrals(float[] dihedralList, BS[] bsBranches, float f)
public void setAtomCoordsRelative(javajs.util.T3 offset, BS bs)
public void setAtomCoords(BS bs, int tokType, java.lang.Object xyzValues)
public void invertSelected(javajs.util.P3 pt, javajs.util.P4 plane, int iAtom, BS invAtoms, BS bs)
public float[] getCellWeights(BS bsAtoms)
public javajs.util.Quat[] getAtomGroupQuaternions(BS bsAtoms, int nMax, char qtype)
protected void calculatePolymers(Group[] groups, int groupCount, int baseGroupIndex, BS modelsExcluded)
public int getBioPolymerCountInModel(int modelIndex)
public void getPolymerPointsAndVectors(BS bs, javajs.util.Lst<javajs.util.P3[]> vList, boolean isTraceAlpha, float sheetSmoothing)
public void recalculateLeadMidpointsAndWingVectors(int modelIndex)
public void calcRasmolHydrogenBonds(BS bsA, BS bsB, javajs.util.Lst<Bond> vHBonds, boolean nucleicOnly, int nMax, boolean dsspIgnoreHydrogens, BS bsHBonds)
bsA
- bsB
- vHBonds
- vector of bonds to fill; if null, creates the HBondsnucleicOnly
- nMax
- dsspIgnoreHydrogens
- bsHBonds
- public void calculateStraightness()
public int calculateStruts(BS bs1, BS bs2)
bs1
- bs2
- public java.lang.String getProteinStructureState(BS bsAtoms, boolean taintedOnly, boolean needPhiPsi, int mode)
public java.lang.String calculateStructures(BS bsAtoms, boolean asDSSP, boolean doReport, boolean dsspIgnoreHydrogen, boolean setStructure)