org.jmol.modelset
Class AtomCollection
java.lang.Object
org.jmol.modelset.AtomCollection
- Direct Known Subclasses:
- BondCollection
public abstract class AtomCollection
- extends java.lang.Object
Method Summary |
private void |
calcBfactorRange(java.util.BitSet bs)
|
private void |
calcSurfaceDistances()
|
javax.vecmath.Point3f[][] |
calculateHydrogens(java.util.BitSet bs,
int[] nTotal,
boolean doAll,
boolean justCarbon,
java.util.List<Atom> vConnect)
get a list of potential H atom positions based on
elemental valence and formal charge |
javax.vecmath.Point3f[] |
calculateSurface(java.util.BitSet bsSelected,
float envelopeRadius)
|
float |
calculateVolume(java.util.BitSet bs,
EnumVdw vType)
|
void |
clearBfactorRange()
|
protected void |
deleteModelAtoms(int firstAtomIndex,
int nAtoms,
java.util.BitSet bs)
|
protected void |
fillAtomData(AtomData atomData,
int mode)
|
java.util.BitSet |
findAtomsInRectangle(Rectangle rect,
java.util.BitSet bsModels)
|
protected void |
findMaxRadii()
|
protected void |
findNearestAtomIndex(int x,
int y,
Atom[] closest,
java.util.BitSet bsNot)
|
private java.util.BitSet |
findNotAttached(int nAttached,
int[][] angles,
int[] ptrs,
int nPtrs)
|
protected java.util.BitSet |
getAtomBitsMaybeDeleted(int tokType,
java.lang.Object specInfo)
general unqualified lookup of atom set type |
java.lang.String |
getAtomChain(int i)
|
short |
getAtomColix(int i)
|
int |
getAtomCount()
|
float[] |
getAtomicCharges()
|
java.lang.String |
getAtomicPropertyState(int taintWhat,
java.util.BitSet bsSelected)
|
void |
getAtomicPropertyState(java.lang.StringBuffer commands,
byte type,
java.util.BitSet bs,
java.lang.String label,
float[] fData)
|
int |
getAtomIndexFromAtomNumber(int atomNumber,
java.util.BitSet bsVisibleFrames)
|
int[] |
getAtomIndices(java.util.BitSet bs)
|
java.lang.String |
getAtomInfo(int i,
java.lang.String format)
|
java.lang.String |
getAtomInfoXYZ(int i,
boolean useChimeFormat)
|
int |
getAtomModelIndex(int i)
|
java.lang.String |
getAtomName(int i)
|
int |
getAtomNumber(int i)
|
javax.vecmath.Point3f |
getAtomPoint3f(int i)
|
java.util.List<javax.vecmath.Point3f> |
getAtomPointVector(java.util.BitSet bs)
|
float |
getAtomRadius(int i)
|
java.lang.String |
getAtomSequenceCode(int i)
|
java.util.BitSet |
getAtomsWithin(float distance,
javax.vecmath.Point3f[] points,
java.util.BitSet bsInclude)
|
java.util.BitSet |
getAtomsWithin(float distance,
javax.vecmath.Point4f plane)
|
java.lang.String[] |
getAtomTypes()
|
float |
getAtomVdwRadius(int i,
EnumVdw type)
|
private Atom[] |
getAttached(Atom atom,
int nMax,
boolean doSort)
|
int |
getBfactor100Hi()
|
int |
getBfactor100Lo()
|
short[] |
getBFactors()
|
protected java.util.BitSet |
getChainBits(char chainId)
|
protected java.lang.String |
getChimeInfo(int tok,
java.util.BitSet bs)
|
java.util.BitSet |
getClickableSet()
|
(package private) java.lang.String |
getElementName(int i)
|
int |
getElementNumber(int i)
|
java.lang.String |
getElementSymbol(int i)
|
java.lang.Object[] |
getEllipsoid(int i)
|
protected boolean |
getHaveStraightness()
|
java.lang.Object |
getHelixData(java.util.BitSet bs,
int tokType)
|
java.lang.String |
getHybridizationAndAxes(int atomIndex,
int atomicNumber,
javax.vecmath.Vector3f z,
javax.vecmath.Vector3f x,
java.lang.String lcaoTypeRaw,
boolean hybridizationCompatible,
boolean doAlignZ)
|
private java.lang.String |
getHybridizationAndAxesD(int atomIndex,
javax.vecmath.Vector3f z,
javax.vecmath.Vector3f x,
java.lang.String lcaoType)
dsp3 (trigonal bipyramidal, see-saw, T-shaped)
or d2sp3 (square planar, square pyramidal, octahedral) |
float[] |
getHydrophobicity()
|
private java.util.BitSet |
getIdentifierOrNull(java.lang.String identifier)
overhauled by RMH Nov 1, 2006. |
(package private) int |
getImplicitHydrogenCount(Atom atom)
|
float[] |
getIonicRadii()
|
float |
getMaxVanderwaalsRadius()
|
float[] |
getPartialCharges()
|
Quaternion |
getQuaternion(int i,
char qtype)
|
protected float |
getRadiusVdwJmol(Atom atom)
|
protected java.util.BitSet |
getSeqcodeBits(int seqcode,
boolean returnEmpty)
|
private java.util.BitSet |
getSpecName(java.lang.String name)
|
private java.util.BitSet |
getSpecNameOrNull(java.lang.String name,
boolean checkStar)
|
(package private) int |
getSurfaceDistance100(int atomIndex)
|
int |
getSurfaceDistanceMax()
|
java.util.BitSet |
getTaintedAtoms(byte type)
|
static int |
getUserSettableType(java.lang.String dataType)
|
float |
getVibrationCoord(int atomIndex,
char c)
|
javax.vecmath.Vector3f |
getVibrationVector(int atomIndex,
boolean forceNew)
|
java.util.BitSet |
getVisibleSet()
|
private float |
getWorkingRadius(Atom atom,
AtomData atomData)
|
private boolean |
isAdjacentSp2(Atom atom)
|
boolean |
isAtomHidden(int iAtom)
|
private boolean |
isAtomNameMatch(Atom atom,
java.lang.String strPattern,
boolean checkStar)
|
(package private) boolean |
isCursorOnTopOf(Atom contender,
int x,
int y,
int radius,
Atom champion)
used by Frame and AminoMonomer and NucleicMonomer -- does NOT check for clickability |
private boolean |
isTainted(int atomIndex,
byte type)
|
private void |
loadCoordinates(java.lang.String data,
boolean isVibrationVectors,
boolean doTaint)
|
protected void |
mergeAtomArrays(AtomCollection mergeModelSet)
|
boolean |
modelSetHasVibrationVectors()
|
protected void |
releaseModelSet()
|
void |
setAtomCoord(java.util.BitSet bs,
int tokType,
java.lang.Object xyzValues)
|
void |
setAtomCoord(int atomIndex,
float x,
float y,
float z)
|
protected void |
setAtomCoordRelative(java.util.BitSet bs,
float x,
float y,
float z)
|
void |
setAtomCoordRelative(int atomIndex,
float x,
float y,
float z)
|
void |
setAtomData(int type,
java.lang.String name,
java.lang.String dataString,
boolean isDefault)
|
void |
setAtomName(int atomIndex,
java.lang.String name)
|
boolean |
setAtomNumber(int atomIndex,
int atomno)
|
void |
setAtomProperty(java.util.BitSet bs,
int tok,
int iValue,
float fValue,
java.lang.String sValue,
float[] values,
java.lang.String[] list)
|
protected void |
setAtomType(int atomIndex,
java.lang.String type)
|
private void |
setAtomVibrationVector(int atomIndex,
float x,
float y,
float z)
|
private void |
setBf(int i)
|
protected boolean |
setBFactor(int atomIndex,
float bfactor)
|
void |
setBsHidden(java.util.BitSet bs)
|
protected void |
setElement(Atom atom,
int atomicNumber)
|
protected void |
setEllipsoid(int atomIndex,
java.lang.Object[] ellipsoid)
|
void |
setFormalCharges(java.util.BitSet bs,
int formalCharge)
|
void |
setHaveStraightness(boolean TF)
|
protected boolean |
setHydrophobicity(int atomIndex,
float value)
|
protected boolean |
setIonicRadius(int atomIndex,
float radius)
|
protected boolean |
setOccupancy(int atomIndex,
int occupancy)
|
protected boolean |
setPartialCharge(int atomIndex,
float partialCharge)
|
void |
setPreserveState(boolean TF)
|
void |
setTaintedAtoms(java.util.BitSet bs,
byte type)
|
protected void |
setVibrationVector(int atomIndex,
float x,
float y,
float z)
|
private void |
setVibrationVector(int atomIndex,
int tok,
float fValue)
|
void |
taint(java.util.BitSet bsAtoms,
byte type)
|
protected void |
taint(int atomIndex,
byte type)
|
private void |
untaint(int atomIndex,
byte type)
|
void |
unTaintAtoms(java.util.BitSet bs,
byte type)
|
(package private) void |
validateBspf(boolean isValid)
|
(package private) void |
validateBspf(int modelIndex,
boolean isValid)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
viewer
public Viewer viewer
g3d
protected Graphics3D g3d
atoms
public Atom[] atoms
atomCount
int atomCount
atomNames
java.lang.String[] atomNames
atomTypes
java.lang.String[] atomTypes
atomSerials
int[] atomSerials
vibrationVectors
public javax.vecmath.Vector3f[] vibrationVectors
occupancies
byte[] occupancies
bfactor100s
short[] bfactor100s
partialCharges
float[] partialCharges
ionicRadii
float[] ionicRadii
hydrophobicities
float[] hydrophobicities
ellipsoids
protected java.lang.Object[][] ellipsoids
surfaceDistance100s
protected int[] surfaceDistance100s
haveStraightness
protected boolean haveStraightness
bsHidden
private java.util.BitSet bsHidden
maxBondingRadius
protected float maxBondingRadius
maxVanderwaalsRadius
private float maxVanderwaalsRadius
hasBfactorRange
private boolean hasBfactorRange
bfactor100Lo
private int bfactor100Lo
bfactor100Hi
private int bfactor100Hi
surfaceDistanceMax
private int surfaceDistanceMax
bsSurface
private java.util.BitSet bsSurface
nSurfaceAtoms
private int nSurfaceAtoms
bspf
protected Bspf bspf
preserveState
protected boolean preserveState
TAINT_ATOMNAME
public static final byte TAINT_ATOMNAME
- See Also:
- Constant Field Values
TAINT_ATOMTYPE
public static final byte TAINT_ATOMTYPE
- See Also:
- Constant Field Values
TAINT_COORD
public static final byte TAINT_COORD
- See Also:
- Constant Field Values
TAINT_ELEMENT
public static final byte TAINT_ELEMENT
- See Also:
- Constant Field Values
TAINT_FORMALCHARGE
public static final byte TAINT_FORMALCHARGE
- See Also:
- Constant Field Values
TAINT_HYDROPHOBICITY
public static final byte TAINT_HYDROPHOBICITY
- See Also:
- Constant Field Values
TAINT_IONICRADIUS
private static final byte TAINT_IONICRADIUS
- See Also:
- Constant Field Values
TAINT_OCCUPANCY
private static final byte TAINT_OCCUPANCY
- See Also:
- Constant Field Values
TAINT_PARTIALCHARGE
private static final byte TAINT_PARTIALCHARGE
- See Also:
- Constant Field Values
TAINT_TEMPERATURE
private static final byte TAINT_TEMPERATURE
- See Also:
- Constant Field Values
TAINT_VALENCE
private static final byte TAINT_VALENCE
- See Also:
- Constant Field Values
TAINT_VANDERWAALS
private static final byte TAINT_VANDERWAALS
- See Also:
- Constant Field Values
TAINT_VIBRATION
private static final byte TAINT_VIBRATION
- See Also:
- Constant Field Values
TAINT_ATOMNO
public static final byte TAINT_ATOMNO
- See Also:
- Constant Field Values
TAINT_MAX
public static final byte TAINT_MAX
- See Also:
- Constant Field Values
userSettableValues
private static final java.lang.String[] userSettableValues
tainted
protected java.util.BitSet[] tainted
bsEmpty
private final java.util.BitSet bsEmpty
bsFoundRectangle
private final java.util.BitSet bsFoundRectangle
aaRet
private int[] aaRet
sqrt3_2
private static final float sqrt3_2
vRef
private static final javax.vecmath.Vector3f vRef
almost180
private static final float almost180
- See Also:
- Constant Field Values
AtomCollection
public AtomCollection()
releaseModelSet
protected void releaseModelSet()
mergeAtomArrays
protected void mergeAtomArrays(AtomCollection mergeModelSet)
setHaveStraightness
public void setHaveStraightness(boolean TF)
getHaveStraightness
protected boolean getHaveStraightness()
getAtomPointVector
public java.util.List<javax.vecmath.Point3f> getAtomPointVector(java.util.BitSet bs)
getAtomCount
public int getAtomCount()
modelSetHasVibrationVectors
public boolean modelSetHasVibrationVectors()
getAtomTypes
public java.lang.String[] getAtomTypes()
getPartialCharges
public float[] getPartialCharges()
getIonicRadii
public float[] getIonicRadii()
getBFactors
public short[] getBFactors()
getHydrophobicity
public float[] getHydrophobicity()
setBsHidden
public void setBsHidden(java.util.BitSet bs)
isAtomHidden
public boolean isAtomHidden(int iAtom)
getAtomInfo
public java.lang.String getAtomInfo(int i,
java.lang.String format)
getAtomInfoXYZ
public java.lang.String getAtomInfoXYZ(int i,
boolean useChimeFormat)
getElementSymbol
public java.lang.String getElementSymbol(int i)
getElementNumber
public int getElementNumber(int i)
getElementName
java.lang.String getElementName(int i)
getAtomName
public java.lang.String getAtomName(int i)
getAtomNumber
public int getAtomNumber(int i)
getAtomPoint3f
public javax.vecmath.Point3f getAtomPoint3f(int i)
getAtomRadius
public float getAtomRadius(int i)
getAtomVdwRadius
public float getAtomVdwRadius(int i,
EnumVdw type)
getAtomColix
public short getAtomColix(int i)
getAtomChain
public java.lang.String getAtomChain(int i)
getAtomSequenceCode
public java.lang.String getAtomSequenceCode(int i)
getAtomModelIndex
public int getAtomModelIndex(int i)
getEllipsoid
public java.lang.Object[] getEllipsoid(int i)
getQuaternion
public Quaternion getQuaternion(int i,
char qtype)
getHelixData
public java.lang.Object getHelixData(java.util.BitSet bs,
int tokType)
getAtomIndexFromAtomNumber
public int getAtomIndexFromAtomNumber(int atomNumber,
java.util.BitSet bsVisibleFrames)
setFormalCharges
public void setFormalCharges(java.util.BitSet bs,
int formalCharge)
getAtomicCharges
public float[] getAtomicCharges()
getRadiusVdwJmol
protected float getRadiusVdwJmol(Atom atom)
getMaxVanderwaalsRadius
public float getMaxVanderwaalsRadius()
findMaxRadii
protected void findMaxRadii()
clearBfactorRange
public void clearBfactorRange()
calcBfactorRange
private void calcBfactorRange(java.util.BitSet bs)
setBf
private void setBf(int i)
getBfactor100Lo
public int getBfactor100Lo()
getBfactor100Hi
public int getBfactor100Hi()
getSurfaceDistanceMax
public int getSurfaceDistanceMax()
calculateVolume
public float calculateVolume(java.util.BitSet bs,
EnumVdw vType)
getSurfaceDistance100
int getSurfaceDistance100(int atomIndex)
calcSurfaceDistances
private void calcSurfaceDistances()
calculateSurface
public javax.vecmath.Point3f[] calculateSurface(java.util.BitSet bsSelected,
float envelopeRadius)
setAtomCoord
public void setAtomCoord(java.util.BitSet bs,
int tokType,
java.lang.Object xyzValues)
setAtomVibrationVector
private void setAtomVibrationVector(int atomIndex,
float x,
float y,
float z)
setAtomCoord
public void setAtomCoord(int atomIndex,
float x,
float y,
float z)
setAtomCoordRelative
public void setAtomCoordRelative(int atomIndex,
float x,
float y,
float z)
setAtomCoordRelative
protected void setAtomCoordRelative(java.util.BitSet bs,
float x,
float y,
float z)
setAtomProperty
public void setAtomProperty(java.util.BitSet bs,
int tok,
int iValue,
float fValue,
java.lang.String sValue,
float[] values,
java.lang.String[] list)
setElement
protected void setElement(Atom atom,
int atomicNumber)
getVibrationCoord
public float getVibrationCoord(int atomIndex,
char c)
getVibrationVector
public javax.vecmath.Vector3f getVibrationVector(int atomIndex,
boolean forceNew)
setVibrationVector
protected void setVibrationVector(int atomIndex,
float x,
float y,
float z)
setVibrationVector
private void setVibrationVector(int atomIndex,
int tok,
float fValue)
setAtomName
public void setAtomName(int atomIndex,
java.lang.String name)
setAtomType
protected void setAtomType(int atomIndex,
java.lang.String type)
setAtomNumber
public boolean setAtomNumber(int atomIndex,
int atomno)
setOccupancy
protected boolean setOccupancy(int atomIndex,
int occupancy)
setPartialCharge
protected boolean setPartialCharge(int atomIndex,
float partialCharge)
setIonicRadius
protected boolean setIonicRadius(int atomIndex,
float radius)
setBFactor
protected boolean setBFactor(int atomIndex,
float bfactor)
setHydrophobicity
protected boolean setHydrophobicity(int atomIndex,
float value)
setEllipsoid
protected void setEllipsoid(int atomIndex,
java.lang.Object[] ellipsoid)
setAtomData
public void setAtomData(int type,
java.lang.String name,
java.lang.String dataString,
boolean isDefault)
loadCoordinates
private void loadCoordinates(java.lang.String data,
boolean isVibrationVectors,
boolean doTaint)
validateBspf
void validateBspf(boolean isValid)
validateBspf
void validateBspf(int modelIndex,
boolean isValid)
setPreserveState
public void setPreserveState(boolean TF)
getUserSettableType
public static int getUserSettableType(java.lang.String dataType)
isTainted
private boolean isTainted(int atomIndex,
byte type)
getTaintedAtoms
public java.util.BitSet getTaintedAtoms(byte type)
taint
public void taint(java.util.BitSet bsAtoms,
byte type)
taint
protected void taint(int atomIndex,
byte type)
untaint
private void untaint(int atomIndex,
byte type)
setTaintedAtoms
public void setTaintedAtoms(java.util.BitSet bs,
byte type)
unTaintAtoms
public void unTaintAtoms(java.util.BitSet bs,
byte type)
getAtomicPropertyState
public java.lang.String getAtomicPropertyState(int taintWhat,
java.util.BitSet bsSelected)
getAtomicPropertyState
public void getAtomicPropertyState(java.lang.StringBuffer commands,
byte type,
java.util.BitSet bs,
java.lang.String label,
float[] fData)
findNearestAtomIndex
protected void findNearestAtomIndex(int x,
int y,
Atom[] closest,
java.util.BitSet bsNot)
isCursorOnTopOf
boolean isCursorOnTopOf(Atom contender,
int x,
int y,
int radius,
Atom champion)
- 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
findAtomsInRectangle
public java.util.BitSet findAtomsInRectangle(Rectangle rect,
java.util.BitSet bsModels)
fillAtomData
protected void fillAtomData(AtomData atomData,
int mode)
getWorkingRadius
private float getWorkingRadius(Atom atom,
AtomData atomData)
calculateHydrogens
public javax.vecmath.Point3f[][] calculateHydrogens(java.util.BitSet bs,
int[] nTotal,
boolean doAll,
boolean justCarbon,
java.util.List<Atom> vConnect)
- get a list of potential H atom positions based on
elemental valence and formal charge
- Parameters:
bs
- nTotal
- doAll
- -- whether we add to C that already have H or not.justCarbon
- vConnect
-
- Returns:
- array of arrays of points added to specific atoms
isAdjacentSp2
private boolean isAdjacentSp2(Atom atom)
getImplicitHydrogenCount
int getImplicitHydrogenCount(Atom atom)
getHybridizationAndAxes
public java.lang.String getHybridizationAndAxes(int atomIndex,
int atomicNumber,
javax.vecmath.Vector3f z,
javax.vecmath.Vector3f x,
java.lang.String lcaoTypeRaw,
boolean hybridizationCompatible,
boolean doAlignZ)
getHybridizationAndAxesD
private java.lang.String getHybridizationAndAxesD(int atomIndex,
javax.vecmath.Vector3f z,
javax.vecmath.Vector3f x,
java.lang.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
private Atom[] getAttached(Atom atom,
int nMax,
boolean doSort)
findNotAttached
private java.util.BitSet findNotAttached(int nAttached,
int[][] angles,
int[] ptrs,
int nPtrs)
getChimeInfo
protected java.lang.String getChimeInfo(int tok,
java.util.BitSet bs)
getAtomBitsMaybeDeleted
protected java.util.BitSet getAtomBitsMaybeDeleted(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
getIdentifierOrNull
private java.util.BitSet getIdentifierOrNull(java.lang.String identifier)
- overhauled by RMH Nov 1, 2006.
- Parameters:
identifier
-
- Returns:
- null or bs
getSpecName
private java.util.BitSet getSpecName(java.lang.String name)
getSpecNameOrNull
private java.util.BitSet getSpecNameOrNull(java.lang.String name,
boolean checkStar)
isAtomNameMatch
private boolean isAtomNameMatch(Atom atom,
java.lang.String strPattern,
boolean checkStar)
getSeqcodeBits
protected java.util.BitSet getSeqcodeBits(int seqcode,
boolean returnEmpty)
getChainBits
protected java.util.BitSet getChainBits(char chainId)
getAtomIndices
public int[] getAtomIndices(java.util.BitSet bs)
getAtomsWithin
public java.util.BitSet getAtomsWithin(float distance,
javax.vecmath.Point4f plane)
getAtomsWithin
public java.util.BitSet getAtomsWithin(float distance,
javax.vecmath.Point3f[] points,
java.util.BitSet bsInclude)
getVisibleSet
public java.util.BitSet getVisibleSet()
getClickableSet
public java.util.BitSet getClickableSet()
deleteModelAtoms
protected void deleteModelAtoms(int firstAtomIndex,
int nAtoms,
java.util.BitSet bs)