org.jmol.modelset
Class Atom

java.lang.Object
  extended by javax.vecmath.Tuple3f
      extended by javax.vecmath.Point3f
          extended by org.jmol.util.Point3fi
              extended by org.jmol.modelset.Atom
All Implemented Interfaces:
java.io.Serializable

public final class Atom
extends Point3fi

See Also:
Serialized Form

Field Summary
(package private)  char alternateLocationID
           
private  short atomicAndIsotopeNumber
           
(package private)  int atomIndex
           
(package private)  int atomSite
           
(package private)  java.util.BitSet atomSymmetry
           
(package private)  Bond[] bonds
           
(package private)  int clickabilityFlags
           
(package private)  short colixAtom
           
private static byte FLAG_MASK
           
private  byte formalChargeAndFlags
           
(package private)  Group group
           
private static byte IS_HETERO_FLAG
           
(package private)  boolean isSimple
           
(package private)  short madAtom
           
(package private)  short modelIndex
           
(package private)  int nBackbonesDisplayed
           
(package private)  int nBondsDisplayed
           
(package private)  byte paletteID
           
(package private)  int shapeVisibilityFlags
           
private  float userDefinedVanDerWaalRadius
           
private  byte valence
           
private static byte VIBRATION_VECTOR_FLAG
           
 
Fields inherited from class org.jmol.util.Point3fi
screenDiameter, screenX, screenY, screenZ
 
Fields inherited from class javax.vecmath.Tuple3f
x, y, z
 
Constructor Summary
Atom(javax.vecmath.Point3f pt)
           
Atom(Viewer viewer, int modelIndex, int atomIndex, java.util.BitSet atomSymmetry, int atomSite, short atomicAndIsotopeNumber, int size, int formalCharge, float x, float y, float z, boolean isHetero, char chainID, char alternateLocationID, float radius)
           
 
Method Summary
 void addDisplayedBackbone(int backboneVisibilityFlag, boolean isVisible)
           
(package private)  void addDisplayedBond(int stickVisibilityFlag, boolean isVisible)
           
(package private)  void clearBonds()
           
 short convertEncodedMad(Viewer viewer, int size)
           
(package private)  void deleteBond(Bond bond)
           
private  void deleteBond(int i)
           
 boolean equals(java.lang.Object obj)
           
 Atom findAromaticNeighbor(java.util.BitSet notAtoms)
           
 Atom findAromaticNeighbor(int notAtomIndex)
           
 java.lang.String formatLabel(java.lang.String strFormat)
           
 java.lang.String formatLabel(java.lang.String strFormat, char chAtom, int[] indices)
           
 float getADPMinMax(boolean isMax)
           
 char getAlternateLocationID()
           
 short getAtomicAndIsotopeNumber()
           
 int getAtomIndex()
           
(package private)  java.lang.String getAtomName()
           
 int getAtomNumber()
           
 int getAtomSite()
           
 java.util.BitSet getAtomSymmetry()
           
 int getBfactor100()
           
 Bond getBond(Atom atomOther)
           
(package private)  int getBondedAtomIndex(int bondIndex)
           
(package private)  short getBondingMar()
           
 float getBondingRadiusFloat()
           
 Bond[] getBonds()
           
 int getCellTranslation(int cellNNN, int[] cellRange, int nOps)
          Looks for a match in the cellRange list for this atom within the specified translation set select symop=0NNN for this
(package private)  Chain getChain()
           
 char getChainID()
           
 int getClickabilityFlags()
           
(package private)  java.lang.String getClientAtomStringProperty(java.lang.String propertyName)
           
 short getColix()
           
 int getCovalentBondCount()
           
(package private)  int getCovalentHydrogenCount()
           
(package private)  int getCurrentBondCount()
           
 float getDimensionValue(int dimension)
           
 short getElementNumber()
           
 java.lang.String getElementSymbol()
           
 java.lang.Object[] getEllipsoid()
           
 int getFormalCharge()
           
 javax.vecmath.Point3f getFractionalCoord()
           
 float getFractionalCoord(char ch)
           
 Group getGroup()
           
(package private)  java.lang.String getGroup1()
           
(package private)  java.lang.String getGroup3()
           
 short getGroupID()
           
 float getGroupPhi()
           
 float getGroupPsi()
           
private  java.lang.String getIdentity(boolean allInfo)
           
private  java.lang.String getIdentityXYZ()
           
 java.lang.String getInfo()
           
(package private)  java.lang.String getInfoXYZ(boolean useChimeFormat)
           
 char getInsertionCode()
           
 short getIsotopeNumber()
           
 short getMadAtom()
           
 int getModelFileIndex()
           
 int getModelFileNumber()
           
 int getModelIndex()
           
 int getModelNumber()
           
(package private)  java.lang.String getModelNumberForLabel()
           
 int getMoleculeNumber()
           
 int getNBackbonesDisplayed()
           
 int getOccupancy()
           
 byte getPaletteID()
           
 float getPartialCharge()
           
(package private)  int getPolymerIndex()
           
 int getPolymerLength()
           
 int getProteinStructureID()
           
 byte getProteinStructureType()
           
 Quaternion getQuaternion(char qtype)
           
 float getRadius()
           
 int getRasMolRadius()
           
 int getResno()
           
 int getScreenRadius()
           
 int getSelectedGroupCountWithinChain()
           
 int getSelectedGroupIndexWithinChain()
           
 int getSelectedMonomerCountWithinPolymer()
           
 int getSelectedMonomerIndexWithinPolymer()
           
(package private)  int getSeqcode()
           
(package private)  java.lang.String getSeqcodeString()
           
(package private)  int getSeqNumber()
           
 int getShapeVisibilityFlags()
           
 byte getSpecialAtomID()
           
 float getStraightness()
           
 int getSurfaceDistance100()
           
private  java.lang.String getSymmetryOperatorList()
           
 int getSymmetryTranslation(int symop, int[] cellRange, int nOps)
          Given a symmetry operation number, the set of cells in the model, and the number of operations, this method returns either 0 or the cell number (555, 666) of the translated symmetry operation corresponding to this atom.
 int getValence()
           
private  int getVanderwaalsMad(Viewer viewer)
           
 float getVanderwaalsRadiusFloat()
           
 javax.vecmath.Vector3f getVibrationVector()
           
 int hashCode()
           
(package private)  boolean isAlternateLocationMatch(java.lang.String strPattern)
           
 boolean isBonded(Atom atomOther)
           
(package private)  boolean isCarbohydrate()
           
 boolean isClickable()
           
(package private)  boolean isCursorOnTopOf(int xCursor, int yCursor, int minRadius, Atom competitor)
           
(package private)  boolean isDna()
           
(package private)  boolean isGroup3(java.lang.String group3)
           
 boolean isHetero()
           
 boolean isModelVisible()
           
(package private)  boolean isNucleic()
           
(package private)  boolean isProtein()
           
(package private)  boolean isPurine()
           
(package private)  boolean isPyrimidine()
           
(package private)  boolean isRna()
           
 boolean isShapeVisible(int shapeVisibilityFlag)
           
 boolean isSimple()
           
 boolean isTranslucent()
           
 boolean isVisible()
          determine if an atom or its PDB group is visible
 void setClickable(int flag)
           
 void setColixAtom(short colixAtom)
           
(package private)  void setFormalCharge(int charge)
           
(package private)  void setFractionalCoord(int tok, float fValue)
           
(package private)  void setFractionalCoord(javax.vecmath.Point3f ptNew)
           
(package private)  void setGroup(Group group)
           
 void setMadAtom(Viewer viewer, int size)
           
 void setPaletteID(byte paletteID)
           
 boolean setRadius(float radius)
           
 void setShapeVisibility(int shapeVisibilityFlag, boolean isVisible)
           
 void setShapeVisibilityFlags(int flag)
           
 void setTranslucent(boolean isTranslucent, float translucentLevel)
           
 void setValence(int nBonds)
           
(package private)  void setVibrationVector()
           
 void transform(Viewer viewer)
           
 
Methods inherited from class javax.vecmath.Point3f
distance, distanceL1, distanceLinf, distanceSquared, project
 
Methods inherited from class javax.vecmath.Tuple3f
absolute, absolute, add, add, clamp, clamp, clampMax, clampMax, clampMin, clampMin, epsilonEquals, equals, get, get, interpolate, interpolate, negate, negate, scale, scale, scaleAdd, scaleAdd, set, set, set, set, sub, sub, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

VIBRATION_VECTOR_FLAG

private static final byte VIBRATION_VECTOR_FLAG
See Also:
Constant Field Values

IS_HETERO_FLAG

private static final byte IS_HETERO_FLAG
See Also:
Constant Field Values

FLAG_MASK

private static final byte FLAG_MASK
See Also:
Constant Field Values

group

Group group

atomIndex

int atomIndex

atomSymmetry

java.util.BitSet atomSymmetry

atomSite

int atomSite

userDefinedVanDerWaalRadius

private float userDefinedVanDerWaalRadius

modelIndex

short modelIndex

atomicAndIsotopeNumber

private short atomicAndIsotopeNumber

formalChargeAndFlags

private byte formalChargeAndFlags

valence

private byte valence

alternateLocationID

char alternateLocationID

madAtom

short madAtom

colixAtom

short colixAtom

paletteID

byte paletteID

bonds

Bond[] bonds

nBondsDisplayed

int nBondsDisplayed

nBackbonesDisplayed

int nBackbonesDisplayed

clickabilityFlags

int clickabilityFlags

shapeVisibilityFlags

int shapeVisibilityFlags

isSimple

boolean isSimple
Constructor Detail

Atom

public Atom(javax.vecmath.Point3f pt)

Atom

Atom(Viewer viewer,
     int modelIndex,
     int atomIndex,
     java.util.BitSet atomSymmetry,
     int atomSite,
     short atomicAndIsotopeNumber,
     int size,
     int formalCharge,
     float x,
     float y,
     float z,
     boolean isHetero,
     char chainID,
     char alternateLocationID,
     float radius)
Method Detail

getScreenRadius

public int getScreenRadius()

getMadAtom

public short getMadAtom()

getNBackbonesDisplayed

public int getNBackbonesDisplayed()

isSimple

public boolean isSimple()

setShapeVisibilityFlags

public final void setShapeVisibilityFlags(int flag)

setShapeVisibility

public final void setShapeVisibility(int shapeVisibilityFlag,
                                     boolean isVisible)

isBonded

public boolean isBonded(Atom atomOther)

getBond

public Bond getBond(Atom atomOther)

addDisplayedBond

void addDisplayedBond(int stickVisibilityFlag,
                      boolean isVisible)

addDisplayedBackbone

public void addDisplayedBackbone(int backboneVisibilityFlag,
                                 boolean isVisible)

deleteBond

void deleteBond(Bond bond)

deleteBond

private void deleteBond(int i)

clearBonds

void clearBonds()

getBondedAtomIndex

int getBondedAtomIndex(int bondIndex)

setMadAtom

public void setMadAtom(Viewer viewer,
                       int size)

convertEncodedMad

public short convertEncodedMad(Viewer viewer,
                               int size)

getADPMinMax

public float getADPMinMax(boolean isMax)

getRasMolRadius

public int getRasMolRadius()

getCovalentBondCount

public int getCovalentBondCount()

getCovalentHydrogenCount

int getCovalentHydrogenCount()

getBonds

public Bond[] getBonds()

setColixAtom

public void setColixAtom(short colixAtom)

setPaletteID

public void setPaletteID(byte paletteID)

setTranslucent

public void setTranslucent(boolean isTranslucent,
                           float translucentLevel)

isTranslucent

public boolean isTranslucent()

getElementNumber

public short getElementNumber()

getIsotopeNumber

public short getIsotopeNumber()

getAtomicAndIsotopeNumber

public short getAtomicAndIsotopeNumber()

getElementSymbol

public java.lang.String getElementSymbol()

getAlternateLocationID

public char getAlternateLocationID()

isAlternateLocationMatch

boolean isAlternateLocationMatch(java.lang.String strPattern)

isHetero

public boolean isHetero()

setFormalCharge

void setFormalCharge(int charge)

setVibrationVector

void setVibrationVector()

getFormalCharge

public int getFormalCharge()

getOccupancy

public int getOccupancy()

getBfactor100

public int getBfactor100()

setRadius

public boolean setRadius(float radius)

setValence

public void setValence(int nBonds)

getValence

public int getValence()

getDimensionValue

public float getDimensionValue(int dimension)

getVanderwaalsMad

private int getVanderwaalsMad(Viewer viewer)

getVanderwaalsRadiusFloat

public float getVanderwaalsRadiusFloat()

getBondingMar

short getBondingMar()

getBondingRadiusFloat

public float getBondingRadiusFloat()

getCurrentBondCount

int getCurrentBondCount()

getColix

public short getColix()

getPaletteID

public byte getPaletteID()

getRadius

public float getRadius()

getAtomIndex

public int getAtomIndex()

getAtomSite

public int getAtomSite()

getAtomSymmetry

public java.util.BitSet getAtomSymmetry()

setGroup

void setGroup(Group group)

getGroup

public Group getGroup()

transform

public void transform(Viewer viewer)

getAtomName

java.lang.String getAtomName()

getAtomNumber

public int getAtomNumber()

isModelVisible

public boolean isModelVisible()

getShapeVisibilityFlags

public int getShapeVisibilityFlags()

isShapeVisible

public boolean isShapeVisible(int shapeVisibilityFlag)

getPartialCharge

public float getPartialCharge()

getStraightness

public float getStraightness()

getEllipsoid

public java.lang.Object[] getEllipsoid()

getSymmetryTranslation

public int getSymmetryTranslation(int symop,
                                  int[] cellRange,
                                  int nOps)
Given a symmetry operation number, the set of cells in the model, and the number of operations, this method returns either 0 or the cell number (555, 666) of the translated symmetry operation corresponding to this atom. atomSymmetry is a bitset that is created in adapter.smarter.AtomSetCollection It is arranged as follows: |--overall--|---cell1---|---cell2---|---cell3---|... |012..nOps-1|012..nOps-1|012..nOp-1s|012..nOps-1|... If a bit is set, it means that the atom was created using that operator operating on the base file set and translated for that cell. If any bit is set in any of the cell blocks, then the same bit will also be set in the overall block. This allows for rapid determination of special positions and also of atom membership in any operation set. Note that it is not necessarily true that an atom is IN the designated cell, because one can load {nnn mmm 0}, and then, for example, the {-x,-y,-z} operator sends atoms from 555 to 444. Still, those atoms would be marked as cell 555 here, because no translation was carried out. That is, the numbers 444 in symop=3444 do not refer to a cell, per se. What they refer to is the file-designated operator plus a translation of {-1 -1 -1/1}.

Parameters:
symop - = 0, 1, 2, 3, ....
cellRange - = {444, 445, 446, 454, 455, 456, .... }
nOps - = 2 for x,y,z;-x,-y,-z, for example
Returns:
cell number such as 565

getCellTranslation

public int getCellTranslation(int cellNNN,
                              int[] cellRange,
                              int nOps)
Looks for a match in the cellRange list for this atom within the specified translation set select symop=0NNN for this

Parameters:
cellNNN -
cellRange -
nOps -
Returns:
matching cell number, if applicable

getSymmetryOperatorList

private java.lang.String getSymmetryOperatorList()

getModelIndex

public int getModelIndex()

getMoleculeNumber

public int getMoleculeNumber()

getClientAtomStringProperty

java.lang.String getClientAtomStringProperty(java.lang.String propertyName)

getSpecialAtomID

public byte getSpecialAtomID()

getFractionalCoord

public float getFractionalCoord(char ch)

getFractionalCoord

public javax.vecmath.Point3f getFractionalCoord()

setFractionalCoord

void setFractionalCoord(int tok,
                        float fValue)

setFractionalCoord

void setFractionalCoord(javax.vecmath.Point3f ptNew)

isCursorOnTopOf

boolean isCursorOnTopOf(int xCursor,
                        int yCursor,
                        int minRadius,
                        Atom competitor)

getInfo

public java.lang.String getInfo()

getInfoXYZ

java.lang.String getInfoXYZ(boolean useChimeFormat)

getIdentityXYZ

private java.lang.String getIdentityXYZ()

getIdentity

private java.lang.String getIdentity(boolean allInfo)

getGroup3

java.lang.String getGroup3()

getGroup1

java.lang.String getGroup1()

isGroup3

boolean isGroup3(java.lang.String group3)

isProtein

boolean isProtein()

isCarbohydrate

boolean isCarbohydrate()

isNucleic

boolean isNucleic()

isDna

boolean isDna()

isRna

boolean isRna()

isPurine

boolean isPurine()

isPyrimidine

boolean isPyrimidine()

getSeqcode

int getSeqcode()

getResno

public int getResno()

isClickable

public boolean isClickable()

getClickabilityFlags

public int getClickabilityFlags()

setClickable

public void setClickable(int flag)

isVisible

public boolean isVisible()
determine if an atom or its PDB group is visible

Returns:
true if the atom is in the "select visible" set

getGroupPhi

public float getGroupPhi()

getGroupPsi

public float getGroupPsi()

getChainID

public char getChainID()

getSurfaceDistance100

public int getSurfaceDistance100()

getVibrationVector

public javax.vecmath.Vector3f getVibrationVector()

getPolymerLength

public int getPolymerLength()

getQuaternion

public Quaternion getQuaternion(char qtype)

getPolymerIndex

int getPolymerIndex()

getSelectedGroupCountWithinChain

public int getSelectedGroupCountWithinChain()

getSelectedGroupIndexWithinChain

public int getSelectedGroupIndexWithinChain()

getSelectedMonomerCountWithinPolymer

public int getSelectedMonomerCountWithinPolymer()

getSelectedMonomerIndexWithinPolymer

public int getSelectedMonomerIndexWithinPolymer()

getChain

Chain getChain()

getModelNumberForLabel

java.lang.String getModelNumberForLabel()

getModelNumber

public int getModelNumber()

getModelFileIndex

public int getModelFileIndex()

getModelFileNumber

public int getModelFileNumber()

getProteinStructureType

public byte getProteinStructureType()

getProteinStructureID

public int getProteinStructureID()

getGroupID

public short getGroupID()

getSeqcodeString

java.lang.String getSeqcodeString()

getSeqNumber

int getSeqNumber()

getInsertionCode

public char getInsertionCode()

formatLabel

public java.lang.String formatLabel(java.lang.String strFormat)

formatLabel

public java.lang.String formatLabel(java.lang.String strFormat,
                                    char chAtom,
                                    int[] indices)

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class Point3fi

hashCode

public int hashCode()
Overrides:
hashCode in class Point3fi

findAromaticNeighbor

public Atom findAromaticNeighbor(java.util.BitSet notAtoms)

findAromaticNeighbor

public Atom findAromaticNeighbor(int notAtomIndex)