Package org.jmol.modelset
Class AtomCollection
java.lang.Object
org.jmol.modelset.AtomCollection
- Direct Known Subclasses:
BondCollection
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescription(package private) int[]intprivate static final floatAtom[]private int(package private) String[](package private) int[](package private) int[](package private) int[]Object[][](package private) String[]private intprivate int(package private) short[]If any model in the collection is a BioModel, then it is also indicated here as a "bioModelset", meaning(package private) float[]javajs.util.BSprivate javajs.util.BSjavajs.util.BSjavajs.util.BSprotected BspfBinary Space Partitioning Forestprivate javajs.util.BSjavajs.util.BSstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intboolean(package private) float[]protected GDataprivate booleanprivate booleanprivate booleanprotected booleanboolean(package private) float[]private LabelTokenprotected floatprivate floatprivate intfloat[](package private) float[]protected SymmetryInterfaceprotected booleanprivate static final floatprotected int[]private intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intjavajs.util.BS[]static String[]private static final javajs.util.V3 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static intaddH(javajs.util.P3[] hAtoms, int hPt, javajs.util.P3 pt, Atom atom, javajs.util.Lst<Atom> vConnect, SymmetryInterface sym, javajs.util.P3 ptTemp) voidprivate voidcalcBfactorRange(javajs.util.BS bs) private voidjavajs.util.P3[][]calculateHydrogens(javajs.util.BS bs, int[] nTotal, javajs.util.Lst<Atom> vConnect, int flags) get a list of potential H atom positions based on elemental valence and formal chargejavajs.util.P3[]calculateSurface(javajs.util.BS bsSelected, float envelopeRadius) floatcalculateVolume(javajs.util.BS bs, VDW vType) intchainToUpper(int chainID) voidvoidprivate voiddeleteAtomTensors(javajs.util.BS bsAtoms) protected voiddeleteModelAtoms(int firstAtomIndex, int nAtoms, javajs.util.BS bsAtoms) protected voidprotected voidprotected voidfindNearest2(int x, int y, Atom[] closest, javajs.util.BS bsNot, int min) private javajs.util.BSfindNotAttached(int nAttached, int[][] angles, int[] ptrs, int nPtrs) intfixFormalCharges(javajs.util.BS bs) private voidjavajs.util.Lst<javajs.util.P3>generateCrystalClass(int atomIndex, javajs.util.P3 pt) javajs.util.Lst<Object>getAllAtomTensors(String type) getAtom(int iatom) javajs.util.BSgetAtomBitsMDa(int tokType, Object specInfo, javajs.util.BS bs) general unqualified lookup of atom set typefloat[]voidgetAtomIdentityInfo(int i, Map<String, Object> info, javajs.util.P3 ptTemp) int[]getAtomIndices(javajs.util.BS bs) getAtomInfo(int i, String format, javajs.util.P3 ptTemp) javajs.util.Lst<javajs.util.P3>getAtomPointVector(javajs.util.BS bs) javajs.util.BSgetAtomsFromAtomNumberInFrame(int atomNumber) voidgetAtomsInFrame(javajs.util.BS bsAtoms) javajs.util.BSgetAtomsNearPlane(float distance, javajs.util.P4 plane) getAtomTensor(int i, String type) Object[]getAtomTensorList(int i) String[]private Atom[]getAttached(Atom atom, int nMax, boolean doSort, boolean isQuick) intintshort[]float[]javajs.util.BSgetChainBits(int chainID) javajs.util.BSgetClickableSet(boolean forceNew) getElementName(int i) intgetFirstAtomIndexFromAtomNumber(int atomNumber, javajs.util.BS bsVisibleFrames) getHybridizationAndAxes(int atomIndex, int atomicNumber, javajs.util.V3 z, javajs.util.V3 x, String lcaoTypeRaw, boolean hybridizationCompatible, boolean doAlignZ, boolean isQuick, javajs.util.T3 ref) private StringgetHybridizationAndAxesD(int atomIndex, javajs.util.V3 z, javajs.util.V3 x, String lcaoType) dsp3 (trigonal bipyramidal, see-saw, T-shaped) or d2sp3 (square planar, square pyramidal, octahedral)float[]private javajs.util.BSgetIdentifierOrNull(String identifier) overhauled by RMH Nov 1, 2006.floatintgetMissingHydrogenCount(Atom atom, boolean allowNegative) getModulation(int iAtom) floatgetOccupancyFloat(int i) float[]javajs.util.QuatgetQuaternion(int i, char qtype) protected floatgetRadiusVdwJmol(Atom atom) javajs.util.BSgetSeqcodeBits(int seqcode, boolean returnEmpty) private javajs.util.BSgetSpecName(String name) javajs.util.BSgetSpecNameOrNull(String name, boolean checkStar) (package private) intgetSurfaceDistance100(int atomIndex) intjavajs.util.BSgetTaintedAtoms(int type) private static Object[]getTensorList(javajs.util.Lst<Object> list) static intgetUserSettableType(String dataType) floatgetVibCoord(int atomIndex, char c) also handles modulation infogetVibration(int atomIndex, boolean forceNew) javajs.util.BSgetVisibleSet(boolean forceNew) private floatgetWorkingRadius(Atom atom, AtomData atomData) private booleanisAdjacentSp2(Atom atom) private booleanbooleanisAtomHidden(int iAtom) private booleanisAtomNameMatch(Atom atom, String strPattern, boolean checkStar, boolean allowInitialStar) (package private) booleanisCursorOnTopOf(Atom contender, int x, int y, int radius, Atom champion) used by Frame and AminoMonomer and NucleicMonomer -- does NOT check for clickabilitystatic booleanbooleanisModulated(int i) private voidloadCoordinates(String data, boolean isVibrationVectors, boolean doTaint) protected voidmergeAtomArrays(AtomCollection mergeModelSet) booleanprotected voidprivate voidvoidscaleVectorsToMax(float max) Scales vibrations and associated vectors such that the maximum length is the given valueprotected voidsetAPa(javajs.util.BS bs, int tok, int iValue, float fValue, String sValue, float[] values, String[] list) voidsetAtomCoord(int atomIndex, float x, float y, float z) protected voidsetAtomCoord2(javajs.util.BS bs, int tokType, Object xyzValues) voidsetAtomCoordRelative(int atomIndex, float x, float y, float z) voidsetAtomData(int type, String name, String dataString, boolean isDefault) voidsetAtomName(int atomIndex, String name, boolean doTaint) voidsetAtomNumber(int atomIndex, int atomno, boolean doTaint) private voidsetAtomResno(int atomIndex, int resno) protected voidsetAtomsCoordRelative(javajs.util.BS bs, float x, float y, float z) private voidsetAtomSeqID(int atomIndex, int seqID) voidsetAtomTensors(int atomIndex, javajs.util.Lst<Object> list) private voidsetAtomType(int atomIndex, String type) private voidsetAtomVibrationVector(int atomIndex, javajs.util.T3 vib) private voidsetBf(int i) protected voidsetBFactor(int atomIndex, float bfactor, boolean doTaint) protected voidsetBondingRadius(int atomIndex, float radius) voidsetBsHidden(javajs.util.BS bs) (package private) voidsetCapacity(int nAtoms) private voidsetChainID(int atomIndex, String id) voidsetElement(Atom atom, int atomicNumber, boolean doTaint) voidsetFormalCharges(javajs.util.BS bs, int formalCharge) private voidsetHydrophobicity(int atomIndex, float value) protected voidsetOccupancy(int atomIndex, float occupancy, boolean doTaint) protected voidsetPartialCharge(int atomIndex, float partialCharge, boolean doTaint) voidsetPreserveState(boolean TF) voidvoidsetTaintedAtoms(javajs.util.BS bs, int type) protected voidsetupAC()protected voidsetVibrationVector(int atomIndex, javajs.util.T3 vib) private voidsetVibrationVector2(int atomIndex, int tok, float fValue) voidtaintAtom(int atomIndex, int type) voidtaintAtoms(javajs.util.BS bsAtoms, int type) private voidtaintModelCoord(int atomIndex) private voiduntaint(int atomIndex, int type) voidunTaintAtoms(javajs.util.BS bs, int type) voidvalidateBspf(boolean isValid) (package private) voidvalidateBspfForModel(int modelIndex, boolean isValid)
-
Field Details
-
almost180
private static final float almost180- See Also:
-
sqrt3_2
private static final float sqrt3_2 -
vRef
private static final javajs.util.V3 vRef -
vwr
-
g3d
-
bioModelset
If any model in the collection is a BioModel, then it is also indicated here as a "bioModelset", meaning -
at
-
ac
public int ac -
trajectory
-
pointGroup
-
labeler
-
maxBondingRadius
protected float maxBondingRadius -
maxVanderwaalsRadius
private float maxVanderwaalsRadius -
hasBfactorRange
private boolean hasBfactorRange -
bfactor100Lo
private int bfactor100Lo -
bfactor100Hi
private int bfactor100Hi -
haveBSVisible
private boolean haveBSVisible -
haveBSClickable
private boolean haveBSClickable -
bsSurface
private javajs.util.BS bsSurface -
nSurfaceAtoms
private int nSurfaceAtoms -
surfaceDistanceMax
private int surfaceDistanceMax -
haveChirality
protected boolean haveChirality -
bspf
Binary Space Partitioning Forest -
preserveState
protected boolean preserveState -
canSkipLoad
public boolean canSkipLoad -
haveStraightness
public boolean haveStraightness -
bsHidden
private javajs.util.BS bsHidden -
bsVisible
public javajs.util.BS bsVisible -
bsClickable
public javajs.util.BS bsClickable -
bsModulated
public javajs.util.BS bsModulated -
atomTensorList
-
atomTensors
-
surfaceDistance100s
protected int[] surfaceDistance100s -
tainted
public javajs.util.BS[] tainted -
userSettableValues
-
TAINT_ATOMNAME
public static final int TAINT_ATOMNAME- See Also:
-
TAINT_ATOMTYPE
public static final int TAINT_ATOMTYPE- See Also:
-
TAINT_COORD
public static final int TAINT_COORD- See Also:
-
TAINT_ELEMENT
public static final int TAINT_ELEMENT- See Also:
-
TAINT_FORMALCHARGE
public static final int TAINT_FORMALCHARGE- See Also:
-
TAINT_HYDROPHOBICITY
public static final int TAINT_HYDROPHOBICITY- See Also:
-
TAINT_BONDINGRADIUS
public static final int TAINT_BONDINGRADIUS- See Also:
-
TAINT_OCCUPANCY
public static final int TAINT_OCCUPANCY- See Also:
-
TAINT_PARTIALCHARGE
public static final int TAINT_PARTIALCHARGE- See Also:
-
TAINT_TEMPERATURE
public static final int TAINT_TEMPERATURE- See Also:
-
TAINT_VALENCE
public static final int TAINT_VALENCE- See Also:
-
TAINT_VANDERWAALS
public static final int TAINT_VANDERWAALS- See Also:
-
TAINT_VIBRATION
public static final int TAINT_VIBRATION- See Also:
-
TAINT_ATOMNO
public static final int TAINT_ATOMNO- See Also:
-
TAINT_SEQID
public static final int TAINT_SEQID- See Also:
-
TAINT_RESNO
public static final int TAINT_RESNO- See Also:
-
TAINT_CHAIN
public static final int TAINT_CHAIN- See Also:
-
TAINT_SITE
public static final int TAINT_SITE- See Also:
-
TAINT_MAX
public static final int TAINT_MAX- See Also:
-
atomNames
String[] atomNames -
atomTypes
String[] atomTypes -
atomSerials
int[] atomSerials -
atomResnos
int[] atomResnos -
atomSeqIDs
int[] atomSeqIDs -
dssrData
float[] dssrData -
vibrations
-
occupancies
public float[] occupancies -
bfactor100s
short[] bfactor100s -
partialCharges
float[] partialCharges -
bondingRadii
float[] bondingRadii -
hydrophobicities
float[] hydrophobicities -
bsPartialCharges
public javajs.util.BS bsPartialCharges -
CALC_H_DOALL
public static final int CALC_H_DOALL- See Also:
-
CALC_H_JUSTC
public static final int CALC_H_JUSTC- See Also:
-
CALC_H_HAVEH
public static final int CALC_H_HAVEH- See Also:
-
CALC_H_QUICK
public static final int CALC_H_QUICK- See Also:
-
CALC_H_IGNORE_H
public static final int CALC_H_IGNORE_H- See Also:
-
CALC_H_ALLOW_H
public static final int CALC_H_ALLOW_H- See Also:
-
aaRet
int[] aaRet -
atomCapacity
private int atomCapacity
-
-
Constructor Details
-
AtomCollection
public AtomCollection()
-
-
Method Details
-
getAtom
-
setupAC
protected void setupAC() -
releaseModelSetAC
protected void releaseModelSetAC() -
mergeAtomArrays
-
getAtomPointVector
public javajs.util.Lst<javajs.util.P3> getAtomPointVector(javajs.util.BS bs) -
modelSetHasVibrationVectors
public boolean modelSetHasVibrationVectors() -
getAtomTypes
-
getPartialCharges
public float[] getPartialCharges() -
getBondingRadii
public float[] getBondingRadii() -
getBFactors
public short[] getBFactors() -
getHydrophobicity
public float[] getHydrophobicity() -
setBsHidden
public void setBsHidden(javajs.util.BS bs) -
isAtomHidden
public boolean isAtomHidden(int iAtom) -
getLabeler
-
getAtomInfo
-
getElementName
-
getQuaternion
public javajs.util.Quat getQuaternion(int i, char qtype) -
getFirstAtomIndexFromAtomNumber
public int getFirstAtomIndexFromAtomNumber(int atomNumber, javajs.util.BS bsVisibleFrames) -
setFormalCharges
public void setFormalCharges(javajs.util.BS bs, int formalCharge) -
getAtomicCharges
public float[] getAtomicCharges() -
getRadiusVdwJmol
-
getMaxVanderwaalsRadius
public float getMaxVanderwaalsRadius() -
findMaxRadii
protected void findMaxRadii() -
clearBfactorRange
public void clearBfactorRange() -
calcBfactorRange
private void calcBfactorRange(javajs.util.BS bs) -
setBf
private void setBf(int i) -
getBfactor100Lo
public int getBfactor100Lo() -
getBfactor100Hi
public int getBfactor100Hi() -
getSurfaceDistanceMax
public int getSurfaceDistanceMax() -
calculateVolume
-
getSurfaceDistance100
int getSurfaceDistance100(int atomIndex) -
calcSurfaceDistances
private void calcSurfaceDistances() -
calculateSurface
public javajs.util.P3[] calculateSurface(javajs.util.BS bsSelected, float envelopeRadius) -
setAtomCoord2
-
setAtomVibrationVector
private void setAtomVibrationVector(int atomIndex, javajs.util.T3 vib) -
setAtomCoord
public void setAtomCoord(int atomIndex, float x, float y, float z) -
fixTrajectory
-
setAtomCoordRelative
public void setAtomCoordRelative(int atomIndex, float x, float y, float z) -
setAtomsCoordRelative
protected void setAtomsCoordRelative(javajs.util.BS bs, float x, float y, float z) -
setAPa
-
getVibCoord
public float getVibCoord(int atomIndex, char c) also handles modulation info- Parameters:
atomIndex-c- generally x, y, z, but for modulation could be 1, 2, 3, or O (oh, not zero)- Returns:
- value or NaN
-
getVibration
-
getModulation
-
setVibrationVector
protected void setVibrationVector(int atomIndex, javajs.util.T3 vib) -
setVibrationVector2
private void setVibrationVector2(int atomIndex, int tok, float fValue) -
setAtomName
-
setAtomType
-
setChainID
-
setAtomNumber
public void setAtomNumber(int atomIndex, int atomno, boolean doTaint) -
setElement
-
setSite
-
resetPartialCharges
private void resetPartialCharges() -
setAtomResno
private void setAtomResno(int atomIndex, int resno) -
setAtomSeqID
private void setAtomSeqID(int atomIndex, int seqID) -
setOccupancy
protected void setOccupancy(int atomIndex, float occupancy, boolean doTaint) -
getOccupancyFloat
public float getOccupancyFloat(int i) -
setPartialCharge
protected void setPartialCharge(int atomIndex, float partialCharge, boolean doTaint) -
setBondingRadius
protected void setBondingRadius(int atomIndex, float radius) -
setBFactor
protected void setBFactor(int atomIndex, float bfactor, boolean doTaint) -
setHydrophobicity
private void setHydrophobicity(int atomIndex, float value) -
setAtomData
-
loadCoordinates
-
validateBspf
public void validateBspf(boolean isValid) -
validateBspfForModel
void validateBspfForModel(int modelIndex, boolean isValid) -
setPreserveState
public void setPreserveState(boolean TF) -
getUserSettableType
-
getTaintedAtoms
public javajs.util.BS getTaintedAtoms(int type) -
taintAtoms
public void taintAtoms(javajs.util.BS bsAtoms, int type) -
taintAtom
public void taintAtom(int atomIndex, int type) -
taintModelCoord
private void taintModelCoord(int atomIndex) -
untaint
private void untaint(int atomIndex, int type) -
setTaintedAtoms
public void setTaintedAtoms(javajs.util.BS bs, int type) -
unTaintAtoms
public void unTaintAtoms(javajs.util.BS bs, int type) -
findNearest2
-
isCursorOnTopOf
used by Frame and AminoMonomer and NucleicMonomer -- does NOT check for clickability- Parameters:
contender-x-y-radius-champion-- Returns:
- true if user is pointing to this atom
-
fillADa
-
getWorkingRadius
-
calculateHydrogens
public javajs.util.P3[][] calculateHydrogens(javajs.util.BS bs, int[] nTotal, javajs.util.Lst<Atom> vConnect, int flags) get a list of potential H atom positions based on elemental valence and formal charge- Parameters:
bs-nTotal-vConnect-flags- [CALC_H_DOALL | CALC_H_JUSTC | CALC_H_HAVEH | CALC_H_QUICK- Returns:
- array of arrays of points added to specific atoms
-
addH
private static int addH(javajs.util.P3[] hAtoms, int hPt, javajs.util.P3 pt, Atom atom, javajs.util.Lst<Atom> vConnect, SymmetryInterface sym, javajs.util.P3 ptTemp) -
isAdjacentSp2
-
getMissingHydrogenCount
-
fixFormalCharges
public int fixFormalCharges(javajs.util.BS bs) -
getHybridizationAndAxes
-
getHybridizationAndAxesD
private String getHybridizationAndAxesD(int atomIndex, javajs.util.V3 z, javajs.util.V3 x, String lcaoType) dsp3 (trigonal bipyramidal, see-saw, T-shaped) or d2sp3 (square planar, square pyramidal, octahedral)- Parameters:
atomIndex-z-x-lcaoType-- Returns:
- valid hybridization or null
-
getAttached
-
findNotAttached
private javajs.util.BS findNotAttached(int nAttached, int[][] angles, int[] ptrs, int nPtrs) -
getAtomBitsMDa
general unqualified lookup of atom set type- Parameters:
tokType-specInfo-bs- - to be filled- Returns:
- BitSet; or null if we mess up the type
-
getChainBits
public javajs.util.BS getChainBits(int chainID) -
chainToUpper
public int chainToUpper(int chainID) -
isAltLoc
-
getSeqcodeBits
public javajs.util.BS getSeqcodeBits(int seqcode, boolean returnEmpty) -
getIdentifierOrNull
overhauled by RMH Nov 1, 2006.- Parameters:
identifier-- Returns:
- null or bs
-
getSpecName
-
getSpecNameOrNull
-
isAtomNameMatch
-
getAtomIndices
public int[] getAtomIndices(javajs.util.BS bs) -
getAtomsNearPlane
public javajs.util.BS getAtomsNearPlane(float distance, javajs.util.P4 plane) -
clearVisibleSets
public void clearVisibleSets() -
getAtomsInFrame
public void getAtomsInFrame(javajs.util.BS bsAtoms) -
getVisibleSet
public javajs.util.BS getVisibleSet(boolean forceNew) -
getClickableSet
public javajs.util.BS getClickableSet(boolean forceNew) -
isModulated
public boolean isModulated(int i) -
deleteModelAtoms
protected void deleteModelAtoms(int firstAtomIndex, int nAtoms, javajs.util.BS bsAtoms) -
getAtomIdentityInfo
-
getAtomTensorList
-
deleteAtomTensors
private void deleteAtomTensors(javajs.util.BS bsAtoms) -
setCapacity
void setCapacity(int nAtoms) -
setAtomTensors
-
addTensor
-
getTensorList
-
getAtomTensor
-
getAllAtomTensors
-
scaleVectorsToMax
public void scaleVectorsToMax(float max) Scales vibrations and associated vectors such that the maximum length is the given value- Parameters:
max-
-
getAtomsFromAtomNumberInFrame
public javajs.util.BS getAtomsFromAtomNumberInFrame(int atomNumber) -
generateCrystalClass
public javajs.util.Lst<javajs.util.P3> generateCrystalClass(int atomIndex, javajs.util.P3 pt) -
isDeleted
-