BALL::AtomContainer Class Reference
[Molecular Datastructures]

#include <BALL/KERNEL/atomContainer.h>

Inheritance diagram for BALL::AtomContainer:
BALL::Composite BALL::PropertyManager BALL::PersistentObject BALL::Selectable BALL::Object BALL::AutoDeletable BALL::Chain BALL::Fragment BALL::Molecule BALL::SecondaryStructure BALL::System BALL::Nucleotide BALL::Residue BALL::NucleicAcid BALL::Protein

List of all members.


Public Types

Enums
enum  Property { NUMBER_OF_PROPERTIES = 0 }
 

The number of predefined properties for AtomContainer.

More...

Public Member Functions

Constructors and Destructors
 AtomContainer ()
 AtomContainer (const AtomContainer &atom_container, bool deep=true)
 AtomContainer (const String &name)
virtual ~AtomContainer ()
virtual void clear ()
virtual void destroy ()
Persistence
virtual void persistentWrite (PersistenceManager &pm, const char *name=0) const throw (Exception::GeneralException)
virtual void persistentRead (PersistenceManager &pm) throw (Exception::GeneralException)
Assignment
void set (const AtomContainer &atom_container, bool deep=true)
AtomContaineroperator= (const AtomContainer &atom_container)
void get (AtomContainer &atom_container, bool deep=true) const
void swap (AtomContainer &atom_container)
Predicates
bool operator== (const AtomContainer &atom_container) const
bool operator!= (const AtomContainer &atom_container) const
Accessors
void setName (const String &name)
const StringgetName () const
AtomContainergetSuperAtomContainer ()
const AtomContainergetSuperAtomContainer () const
AtomContainergetAtomContainer (Position position)
const AtomContainergetAtomContainer (Position position) const
AtomgetAtom (Position position)
const AtomgetAtom (Position position) const
AtomgetAtom (const String &name)
const AtomgetAtom (const String &name) const
Size countAtomContainers () const
Size countAtoms () const
Size countBonds () const
Size countInterBonds () const
Size countIntraBonds () const
void prepend (Atom &atom)
void append (Atom &atom)
void insert (Atom &atom)
void insertBefore (Atom &atom, Composite &before)
void insertAfter (Atom &atom, Composite &after)
bool remove (Atom &atom)
Size removeHavingProperty (BALL::Property p)
Size removeNotHavingProperty (BALL::Property p)
Size removeHavingProperty (const string &name)
Size removeNotHavingProperty (const string &name)
void prepend (AtomContainer &atom_container)
void append (AtomContainer &atom_container)
void insert (AtomContainer &atom_container)
void insertBefore (AtomContainer &atom_container, Composite &before)
void insertAfter (AtomContainer &atom_container, Composite &after)
void spliceBefore (AtomContainer &atom_container)
void spliceAfter (AtomContainer &atom_container)
void splice (AtomContainer &atom_container)
bool remove (AtomContainer &atom_container)
Miscellaneous
void destroyBonds ()
Predicates
bool isSubAtomContainerOf (const AtomContainer &atom_container) const
bool isSuperAtomContainerOf (const AtomContainer &atom_container) const
virtual bool isValid () const
virtual void dump (std::ostream &s=std::cout, Size depth=0) const
Internal Iteration
bool applyIntraBond (UnaryProcessor< Bond > &processor)
 

Apply to all bonds connecting two atoms inside this AtomContainer.


bool applyInterBond (UnaryProcessor< Bond > &processor)
 

Apply to all bonds connected to atoms outside this AtomContainer.



Private Attributes

String name_

Detailed Description

Atom Container Base Class. The AtomContainer class is the base class of all kernel classes containing atoms.


Member Enumeration Documentation

The number of predefined properties for AtomContainer.

Enumerator:
NUMBER_OF_PROPERTIES 

Reimplemented in BALL::Chain, BALL::Fragment, BALL::Molecule, BALL::NucleicAcid, BALL::Nucleotide, BALL::Protein, and BALL::Residue.


Constructor & Destructor Documentation

BALL::AtomContainer::AtomContainer (  ) 

Default constructor

BALL::AtomContainer::AtomContainer ( const AtomContainer atom_container,
bool  deep = true 
)

Copy constructor

Parameters:
atom_container the AtomContainer to construct from
deep a flag indicating cloning
BALL::AtomContainer::AtomContainer ( const String name  ) 

Detailed Constructor

Parameters:
name the name of the AtomContainer
virtual BALL::AtomContainer::~AtomContainer (  )  [virtual]

Destructor


Member Function Documentation

void BALL::AtomContainer::append ( AtomContainer atom_container  ) 

Append an AtomContainer at the last position.

Parameters:
atom_container the AtomContainer to prepend

Reimplemented in BALL::Chain, BALL::Molecule, BALL::Nucleotide, BALL::Residue, and BALL::SecondaryStructure.

void BALL::AtomContainer::append ( Atom atom  ) 

Append an atom to the last position.

Parameters:
atom the atom to append

Reimplemented in BALL::Chain, BALL::Molecule, BALL::Nucleotide, and BALL::SecondaryStructure.

bool BALL::AtomContainer::applyInterBond ( UnaryProcessor< Bond > &  processor  ) 

Apply to all bonds connected to atoms outside this AtomContainer.

bool BALL::AtomContainer::applyIntraBond ( UnaryProcessor< Bond > &  processor  ) 

Apply to all bonds connecting two atoms inside this AtomContainer.

virtual void BALL::AtomContainer::clear (  )  [virtual]

Clear the contents of this instance of AtomContainer. This methods clears the base fragment's name, destroys all its children (as in Composite::clear ), but does not remove it from its parent composite structures.

Reimplemented from BALL::Composite.

Reimplemented in BALL::NucleicAcid, BALL::Nucleotide, BALL::Protein, BALL::Residue, and BALL::SecondaryStructure.

Size BALL::AtomContainer::countAtomContainers (  )  const

Count the child AtomContainers.

Returns:
Size the number of AtomContainers

Reimplemented in BALL::Nucleotide, and BALL::Residue.

Size BALL::AtomContainer::countAtoms (  )  const

Count the child atoms.

Returns:
Size the number of atoms

Reimplemented in BALL::System.

Size BALL::AtomContainer::countBonds (  )  const

Count the child bonds.

Returns:
Size the number of bonds
Size BALL::AtomContainer::countInterBonds (  )  const

Count all bonds which connect atoms in this instance with atoms outside.

Returns:
Size the number of inter bonds
Size BALL::AtomContainer::countIntraBonds (  )  const

Count all bonds which connect 2 atoms in this instance.

Returns:
Size the number of intra bonds
virtual void BALL::AtomContainer::destroy (  )  [virtual]

Clear the contents of this instance of AtomContainer and removes it from parent composite structures. This methods clears the base fragment's name, destroys all its children (as in Composite::destroy ), and removes it from its parent composite structures.

Reimplemented from BALL::Composite.

Reimplemented in BALL::NucleicAcid, BALL::Nucleotide, BALL::Protein, BALL::Residue, and BALL::SecondaryStructure.

void BALL::AtomContainer::destroyBonds (  ) 

Destroy all bonds in this instance.

virtual void BALL::AtomContainer::dump ( std::ostream &  s = std::cout,
Size  depth = 0 
) const [virtual]

Internal state dump. Dump the current internal state of this instance to the output ostream s with dumping depth depth .

Parameters:
s - output stream where to output the internal state of this instance
depth - the dumping depth

Reimplemented from BALL::Composite.

Reimplemented in BALL::Chain, BALL::Fragment, BALL::Molecule, BALL::NucleicAcid, BALL::Nucleotide, BALL::Protein, BALL::Residue, and BALL::SecondaryStructure.

void BALL::AtomContainer::get ( AtomContainer atom_container,
bool  deep = true 
) const

Copy to another instance of AtomContainer. The assignment is either deep or shallow (default is deep).

Parameters:
atom_container the AtomContainer to be assigned to
See also:
Composite::get
const Atom* BALL::AtomContainer::getAtom ( const String name  )  const

Get a pointer to a child atom with the name name . The pointer is 0 if this instance AtomContainer does not have an atom with this name.

Parameters:
name the name of the child atom
Returns:
Atom* - constant pointer to the child
Atom* BALL::AtomContainer::getAtom ( const String name  ) 

Get a pointer to a child atom with the name name . The pointer is 0 if this instance does not have an atom with this name.

Parameters:
name the name of the child atom
Returns:
Atom* - mutable pointer to the child
const Atom* BALL::AtomContainer::getAtom ( Position  position  )  const

Get a pointer to a child atom at a given position. The pointer is 0 if this instance does not have an atom at the given position.

Parameters:
position the position of the child atom
Returns:
Atom* - constant pointer to the child

Reimplemented in BALL::Chain, and BALL::SecondaryStructure.

Atom* BALL::AtomContainer::getAtom ( Position  position  ) 

Get a pointer to a child atom at a given position. The pointer is 0 if this instance does not have an atom at the given position.

Parameters:
position the position of the child atom
Returns:
Atom* - mutable pointer to the child

Reimplemented in BALL::Chain, and BALL::SecondaryStructure.

const AtomContainer* BALL::AtomContainer::getAtomContainer ( Position  position  )  const

Get a constant pointer to a child AtomContainer at a given position. The pointer is 0 if this instance does not have an AtomContainer at the given position.

Parameters:
position of the child AtomContainer
Returns:
AtomContainer* - constant pointer to the child

Reimplemented in BALL::Chain, BALL::Nucleotide, and BALL::Residue.

AtomContainer* BALL::AtomContainer::getAtomContainer ( Position  position  ) 

Get a pointer to a child AtomContainer at a given position. The pointer is 0 if this instance does not have an AtomContainer at the given position.

Parameters:
position of the child AtomContainer
Returns:
AtomContainer* - mutable pointer to the child

Reimplemented in BALL::Chain, BALL::Nucleotide, and BALL::Residue.

const String& BALL::AtomContainer::getName (  )  const

Return the name.

Returns:
String& - constant reference to the name of this instance

Referenced by BALL::PDB::Residue::set().

const AtomContainer* BALL::AtomContainer::getSuperAtomContainer (  )  const

Get a constant pointer to the parent AtomContainer. The pointer is 0 if this instance does not have a parent AtomContainer.

Returns:
AtomContainer* - constant pointer to the parent AtomContainer

Reimplemented in BALL::Molecule.

AtomContainer* BALL::AtomContainer::getSuperAtomContainer (  ) 

Get a mutable pointer to the parent AtomContainer. The pointer is 0 if this instance does not have a parent AtomContainer.

Returns:
AtomContainer* - mutable pointer to the parent AtomContainer

Reimplemented in BALL::Molecule.

void BALL::AtomContainer::insert ( AtomContainer atom_container  ) 

Insert an AtomContainer at the last position.

Parameters:
atom_container the AtomContainer to insert

Reimplemented in BALL::Chain, BALL::Molecule, BALL::Nucleotide, BALL::Residue, and BALL::SecondaryStructure.

void BALL::AtomContainer::insert ( Atom atom  ) 

Insert an atom to the last position.

Parameters:
atom the atom to insert

Reimplemented in BALL::Chain, BALL::Molecule, BALL::Nucleotide, and BALL::SecondaryStructure.

void BALL::AtomContainer::insertAfter ( AtomContainer atom_container,
Composite after 
)

Insert an AtomContainer after a given Composite object.

Parameters:
atom_container the AtomContainer to insert
after the Composite object to insert after

Reimplemented in BALL::Chain, BALL::Molecule, BALL::Nucleotide, BALL::Residue, and BALL::SecondaryStructure.

void BALL::AtomContainer::insertAfter ( Atom atom,
Composite after 
)

Insert an atom after a given Composite object.

Parameters:
atom the atom to insert
after the Composite object to insert after

Reimplemented in BALL::Chain, BALL::Molecule, BALL::Nucleotide, and BALL::SecondaryStructure.

void BALL::AtomContainer::insertBefore ( AtomContainer atom_container,
Composite before 
)

Insert an AtomContainer before a given Composite object.

Parameters:
atom_container the AtomContainer to insert
before the Composite object to insert before

Reimplemented in BALL::Chain, BALL::Molecule, BALL::Nucleotide, BALL::Residue, and BALL::SecondaryStructure.

void BALL::AtomContainer::insertBefore ( Atom atom,
Composite before 
)

Insert an atom before a given Composite object.

Parameters:
atom the atom to insert
before the Composite object to insert before

Reimplemented in BALL::Chain, BALL::Molecule, BALL::Nucleotide, and BALL::SecondaryStructure.

bool BALL::AtomContainer::isSubAtomContainerOf ( const AtomContainer atom_container  )  const

Test if an AtomContainer is a child.

Parameters:
atom_container the AtomContainer to test

Reimplemented in BALL::Molecule.

bool BALL::AtomContainer::isSuperAtomContainerOf ( const AtomContainer atom_container  )  const

Test if an AtomContainer is the parent.

Parameters:
atom_container the AtomContainer to test

Reimplemented in BALL::Nucleotide, and BALL::Residue.

virtual bool BALL::AtomContainer::isValid (  )  const [virtual]

Debugging and Diagnostics Internal state and consistency self-validation. If the internal state of this instance is correct (self-validated) and consistent true is returned, false otherwise.

Returns:
bool

Reimplemented from BALL::Composite.

Reimplemented in BALL::NucleicAcid, BALL::Nucleotide, BALL::Protein, BALL::Residue, and BALL::SecondaryStructure.

bool BALL::AtomContainer::operator!= ( const AtomContainer atom_container  )  const

Inequality operator.

See also:
operator ==
AtomContainer& BALL::AtomContainer::operator= ( const AtomContainer atom_container  ) 

Assignment operator. The assignment is deep.

Parameters:
atom_container the AtomContainer to be copied (cloned)
Returns:
AtomContainer& - this instance AtomContainer
See also:
AtomContainer::set
bool BALL::AtomContainer::operator== ( const AtomContainer atom_container  )  const

Equality operator. Two instances of AtomContainer are equal if they have the same handle.

virtual void BALL::AtomContainer::persistentRead ( PersistenceManager pm  )  throw (Exception::GeneralException) [virtual]

Read an AtomContainer object from a persistent stream.

Parameters:
pm the persistence manager

Reimplemented from BALL::Composite.

Reimplemented in BALL::Chain, BALL::Fragment, BALL::Molecule, BALL::NucleicAcid, BALL::Nucleotide, BALL::Protein, BALL::Residue, BALL::SecondaryStructure, and BALL::System.

virtual void BALL::AtomContainer::persistentWrite ( PersistenceManager pm,
const char *  name = 0 
) const throw (Exception::GeneralException) [virtual]

Write an AtomContainer object to a persistent stream.

Parameters:
pm the persistence manager

Reimplemented from BALL::Composite.

Reimplemented in BALL::Chain, BALL::Fragment, BALL::Molecule, BALL::NucleicAcid, BALL::Nucleotide, BALL::Protein, BALL::Residue, BALL::SecondaryStructure, and BALL::System.

void BALL::AtomContainer::prepend ( AtomContainer atom_container  ) 

Prepend an AtomContainer at position 0.

Parameters:
atom_container the AtomContainer to prepend

Reimplemented in BALL::Chain, BALL::Molecule, BALL::Nucleotide, BALL::Residue, and BALL::SecondaryStructure.

void BALL::AtomContainer::prepend ( Atom atom  ) 

Prepend an atom at position 0.

Parameters:
atom the atom to prepend

Reimplemented in BALL::Chain, BALL::Molecule, BALL::Nucleotide, and BALL::SecondaryStructure.

bool BALL::AtomContainer::remove ( AtomContainer atom_container  ) 

Remove an AtomContainer

Parameters:
atom_container the AtomContainer to remove
Returns:
false if {atom_container} could not be removed

Reimplemented in BALL::Chain, BALL::Molecule, BALL::Nucleotide, BALL::Residue, and BALL::SecondaryStructure.

bool BALL::AtomContainer::remove ( Atom atom  ) 

Remove an atom

Parameters:
atom the atom to remove

Reimplemented in BALL::Chain, BALL::Molecule, BALL::Nucleotide, and BALL::SecondaryStructure.

Size BALL::AtomContainer::removeHavingProperty ( const string &  name  ) 
Size BALL::AtomContainer::removeHavingProperty ( BALL::Property  p  ) 
Size BALL::AtomContainer::removeNotHavingProperty ( const string &  name  ) 
Size BALL::AtomContainer::removeNotHavingProperty ( BALL::Property  p  ) 
void BALL::AtomContainer::set ( const AtomContainer atom_container,
bool  deep = true 
)

Assign the contents of an AtomContainer The assignment is either deep or shallow (default is deep).

Parameters:
atom_container the atom_container to be copied (cloned)
deep make a deep (=true) or shallow (=false) copy
See also:
Composite::set
void BALL::AtomContainer::setName ( const String name  ) 

Set the name.

Parameters:
name the new name
void BALL::AtomContainer::splice ( AtomContainer atom_container  ) 

Move the children of {atom_container} into this instance. The children of atom_container are inserted at its position if it is is a child of this. Otherwise the children are inserted using spliceBefore .

Reimplemented in BALL::Chain, BALL::Molecule, BALL::Nucleotide, BALL::Residue, and BALL::SecondaryStructure.

void BALL::AtomContainer::spliceAfter ( AtomContainer atom_container  ) 

Cut all children of atom_container and append them after the children of this instance.

Parameters:
atom_container the AtomContainer to access

Reimplemented in BALL::Chain, BALL::Molecule, BALL::Nucleotide, BALL::Residue, and BALL::SecondaryStructure.

void BALL::AtomContainer::spliceBefore ( AtomContainer atom_container  ) 

Cut all children of atom_container and prepend them before the children of this instance.

Parameters:
atom_container the AtomContainer to access

Reimplemented in BALL::Chain, BALL::Molecule, BALL::Nucleotide, BALL::Residue, and BALL::SecondaryStructure.

void BALL::AtomContainer::swap ( AtomContainer atom_container  ) 

Swap the contents of two AtomContainers.

Parameters:
atom_container the AtomContainer this instance is being swapped with.

Member Data Documentation