public abstract class AtomCollection
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) class |
AtomCollection.AtomSorter |
Modifier and Type | Field and Description |
---|---|
private int[] |
aaRet |
private static float |
almost180 |
(package private) int |
atomCount |
(package private) java.lang.String[] |
atomNames |
Atom[] |
atoms |
(package private) int[] |
atomSerials |
(package private) java.lang.String[] |
atomTypes |
private int |
bfactor100Hi |
private int |
bfactor100Lo |
(package private) short[] |
bfactor100s |
private java.util.BitSet |
bsEmpty |
private java.util.BitSet |
bsFoundRectangle |
private java.util.BitSet |
bsHidden |
protected Bspf |
bspf |
private java.util.BitSet |
bsSurface |
protected java.lang.Object[][] |
ellipsoids |
protected Graphics3D |
g3d |
private boolean |
hasBfactorRange |
protected boolean |
haveStraightness |
(package private) float[] |
hydrophobicities |
(package private) float[] |
ionicRadii |
protected float |
maxBondingRadius |
private float |
maxVanderwaalsRadius |
private int |
nSurfaceAtoms |
(package private) byte[] |
occupancies |
(package private) float[] |
partialCharges |
protected boolean |
preserveState |
private static float |
sqrt3_2 |
protected int[] |
surfaceDistance100s |
private int |
surfaceDistanceMax |
static byte |
TAINT_ATOMNAME |
static byte |
TAINT_ATOMNO |
static byte |
TAINT_ATOMTYPE |
static byte |
TAINT_COORD |
static byte |
TAINT_ELEMENT |
static byte |
TAINT_FORMALCHARGE |
static byte |
TAINT_HYDROPHOBICITY |
private static byte |
TAINT_IONICRADIUS |
static byte |
TAINT_MAX |
private static byte |
TAINT_OCCUPANCY |
private static byte |
TAINT_PARTIALCHARGE |
private static byte |
TAINT_TEMPERATURE |
private static byte |
TAINT_VALENCE |
private static byte |
TAINT_VANDERWAALS |
private static byte |
TAINT_VIBRATION |
protected java.util.BitSet[] |
tainted |
private static java.lang.String[] |
userSettableValues |
javax.vecmath.Vector3f[] |
vibrationVectors |
Viewer |
viewer |
private static javax.vecmath.Vector3f |
vRef |
Constructor and Description |
---|
AtomCollection() |
Modifier and Type | Method and Description |
---|---|
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) |
public Viewer viewer
protected Graphics3D g3d
public Atom[] atoms
int atomCount
java.lang.String[] atomNames
java.lang.String[] atomTypes
int[] atomSerials
public javax.vecmath.Vector3f[] vibrationVectors
byte[] occupancies
short[] bfactor100s
float[] partialCharges
float[] ionicRadii
float[] hydrophobicities
protected java.lang.Object[][] ellipsoids
protected int[] surfaceDistance100s
protected boolean haveStraightness
private java.util.BitSet bsHidden
protected float maxBondingRadius
private float maxVanderwaalsRadius
private boolean hasBfactorRange
private int bfactor100Lo
private int bfactor100Hi
private int surfaceDistanceMax
private java.util.BitSet bsSurface
private int nSurfaceAtoms
protected Bspf bspf
protected boolean preserveState
public static final byte TAINT_ATOMNAME
public static final byte TAINT_ATOMTYPE
public static final byte TAINT_COORD
public static final byte TAINT_ELEMENT
public static final byte TAINT_FORMALCHARGE
public static final byte TAINT_HYDROPHOBICITY
private static final byte TAINT_IONICRADIUS
private static final byte TAINT_OCCUPANCY
private static final byte TAINT_PARTIALCHARGE
private static final byte TAINT_TEMPERATURE
private static final byte TAINT_VALENCE
private static final byte TAINT_VANDERWAALS
private static final byte TAINT_VIBRATION
public static final byte TAINT_ATOMNO
public static final byte TAINT_MAX
private static final java.lang.String[] userSettableValues
protected java.util.BitSet[] tainted
private final java.util.BitSet bsEmpty
private final java.util.BitSet bsFoundRectangle
private int[] aaRet
private static final float sqrt3_2
private static final javax.vecmath.Vector3f vRef
private static final float almost180
protected void releaseModelSet()
protected void mergeAtomArrays(AtomCollection mergeModelSet)
public void setHaveStraightness(boolean TF)
protected boolean getHaveStraightness()
public java.util.List<javax.vecmath.Point3f> getAtomPointVector(java.util.BitSet bs)
public int getAtomCount()
public boolean modelSetHasVibrationVectors()
public java.lang.String[] getAtomTypes()
public float[] getPartialCharges()
public float[] getIonicRadii()
public short[] getBFactors()
public float[] getHydrophobicity()
public void setBsHidden(java.util.BitSet bs)
public boolean isAtomHidden(int iAtom)
public java.lang.String getAtomInfo(int i, java.lang.String format)
public java.lang.String getAtomInfoXYZ(int i, boolean useChimeFormat)
public java.lang.String getElementSymbol(int i)
public int getElementNumber(int i)
java.lang.String getElementName(int i)
public java.lang.String getAtomName(int i)
public int getAtomNumber(int i)
public javax.vecmath.Point3f getAtomPoint3f(int i)
public float getAtomRadius(int i)
public float getAtomVdwRadius(int i, EnumVdw type)
public short getAtomColix(int i)
public java.lang.String getAtomChain(int i)
public java.lang.String getAtomSequenceCode(int i)
public int getAtomModelIndex(int i)
public java.lang.Object[] getEllipsoid(int i)
public Quaternion getQuaternion(int i, char qtype)
public java.lang.Object getHelixData(java.util.BitSet bs, int tokType)
public int getAtomIndexFromAtomNumber(int atomNumber, java.util.BitSet bsVisibleFrames)
public void setFormalCharges(java.util.BitSet bs, int formalCharge)
public float[] getAtomicCharges()
protected float getRadiusVdwJmol(Atom atom)
public float getMaxVanderwaalsRadius()
protected void findMaxRadii()
public void clearBfactorRange()
private void calcBfactorRange(java.util.BitSet bs)
private void setBf(int i)
public int getBfactor100Lo()
public int getBfactor100Hi()
public int getSurfaceDistanceMax()
public float calculateVolume(java.util.BitSet bs, EnumVdw vType)
int getSurfaceDistance100(int atomIndex)
private void calcSurfaceDistances()
public javax.vecmath.Point3f[] calculateSurface(java.util.BitSet bsSelected, float envelopeRadius)
public void setAtomCoord(java.util.BitSet bs, int tokType, java.lang.Object xyzValues)
private void setAtomVibrationVector(int atomIndex, float x, float y, float z)
public void setAtomCoord(int atomIndex, float x, float y, float z)
public void setAtomCoordRelative(int atomIndex, float x, float y, float z)
protected void setAtomCoordRelative(java.util.BitSet bs, float x, float y, float z)
public void setAtomProperty(java.util.BitSet bs, int tok, int iValue, float fValue, java.lang.String sValue, float[] values, java.lang.String[] list)
protected void setElement(Atom atom, int atomicNumber)
public float getVibrationCoord(int atomIndex, char c)
public javax.vecmath.Vector3f getVibrationVector(int atomIndex, boolean forceNew)
protected void setVibrationVector(int atomIndex, float x, float y, float z)
private void setVibrationVector(int atomIndex, int tok, float fValue)
public void setAtomName(int atomIndex, java.lang.String name)
protected void setAtomType(int atomIndex, java.lang.String type)
public boolean setAtomNumber(int atomIndex, int atomno)
protected boolean setOccupancy(int atomIndex, int occupancy)
protected boolean setPartialCharge(int atomIndex, float partialCharge)
protected boolean setIonicRadius(int atomIndex, float radius)
protected boolean setBFactor(int atomIndex, float bfactor)
protected boolean setHydrophobicity(int atomIndex, float value)
protected void setEllipsoid(int atomIndex, java.lang.Object[] ellipsoid)
public void setAtomData(int type, java.lang.String name, java.lang.String dataString, boolean isDefault)
private void loadCoordinates(java.lang.String data, boolean isVibrationVectors, boolean doTaint)
void validateBspf(boolean isValid)
void validateBspf(int modelIndex, boolean isValid)
public void setPreserveState(boolean TF)
public static int getUserSettableType(java.lang.String dataType)
private boolean isTainted(int atomIndex, byte type)
public java.util.BitSet getTaintedAtoms(byte type)
public void taint(java.util.BitSet bsAtoms, byte type)
protected void taint(int atomIndex, byte type)
private void untaint(int atomIndex, byte type)
public void setTaintedAtoms(java.util.BitSet bs, byte type)
public void unTaintAtoms(java.util.BitSet bs, byte type)
public java.lang.String getAtomicPropertyState(int taintWhat, java.util.BitSet bsSelected)
public void getAtomicPropertyState(java.lang.StringBuffer commands, byte type, java.util.BitSet bs, java.lang.String label, float[] fData)
protected void findNearestAtomIndex(int x, int y, Atom[] closest, java.util.BitSet bsNot)
boolean isCursorOnTopOf(Atom contender, int x, int y, int radius, Atom champion)
contender
- x
- y
- radius
- champion
- public java.util.BitSet findAtomsInRectangle(Rectangle rect, java.util.BitSet bsModels)
protected void fillAtomData(AtomData atomData, int mode)
public javax.vecmath.Point3f[][] calculateHydrogens(java.util.BitSet bs, int[] nTotal, boolean doAll, boolean justCarbon, java.util.List<Atom> vConnect)
bs
- nTotal
- doAll
- -- whether we add to C that already have H or not.justCarbon
- vConnect
- private boolean isAdjacentSp2(Atom atom)
int getImplicitHydrogenCount(Atom atom)
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)
private java.lang.String getHybridizationAndAxesD(int atomIndex, javax.vecmath.Vector3f z, javax.vecmath.Vector3f x, java.lang.String lcaoType)
atomIndex
- z
- x
- lcaoType
- private java.util.BitSet findNotAttached(int nAttached, int[][] angles, int[] ptrs, int nPtrs)
protected java.lang.String getChimeInfo(int tok, java.util.BitSet bs)
protected java.util.BitSet getAtomBitsMaybeDeleted(int tokType, java.lang.Object specInfo)
tokType
- specInfo
- private java.util.BitSet getIdentifierOrNull(java.lang.String identifier)
identifier
- private java.util.BitSet getSpecName(java.lang.String name)
private java.util.BitSet getSpecNameOrNull(java.lang.String name, boolean checkStar)
private boolean isAtomNameMatch(Atom atom, java.lang.String strPattern, boolean checkStar)
protected java.util.BitSet getSeqcodeBits(int seqcode, boolean returnEmpty)
protected java.util.BitSet getChainBits(char chainId)
public int[] getAtomIndices(java.util.BitSet bs)
public java.util.BitSet getAtomsWithin(float distance, javax.vecmath.Point4f plane)
public java.util.BitSet getAtomsWithin(float distance, javax.vecmath.Point3f[] points, java.util.BitSet bsInclude)
public java.util.BitSet getVisibleSet()
public java.util.BitSet getClickableSet()
protected void deleteModelAtoms(int firstAtomIndex, int nAtoms, java.util.BitSet bs)