BALL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Private Attributes
BALL::AtomContainer Class Reference

#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
virtual void persistentRead (PersistenceManager &pm)
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
bool isSubAtomContainerOf (const AtomContainer &atom_container) const
bool isSuperAtomContainerOf (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 ()
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.

Definition at line 30 of file atomContainer.h.


Member Enumeration Documentation

The number of predefined properties for AtomContainer.

Enumerator:
NUMBER_OF_PROPERTIES 

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

Definition at line 43 of file atomContainer.h.


Constructor & Destructor Documentation

Default constructor

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

Copy constructor

Parameters:
atom_containerthe AtomContainer to construct from
deepa flag indicating cloning

Detailed Constructor

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

Destructor


Member Function Documentation

Append an atom to the last position.

Parameters:
atomthe atom to append

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

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

Append an AtomContainer at the last position.

Parameters:
atom_containerthe AtomContainer to prepend

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

Apply to all bonds connected to atoms outside this AtomContainer.

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::Residue, BALL::Nucleotide, BALL::SecondaryStructure, BALL::NucleicAcid, and BALL::Protein.

Count the child AtomContainers.

Returns:
Size the number of AtomContainers

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

Count the child atoms.

Returns:
Size the number of atoms

Reimplemented in BALL::System.

Count the child bonds.

Returns:
Size the number of bonds

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

Returns:
Size the number of inter bonds

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::Residue, BALL::Nucleotide, BALL::SecondaryStructure, BALL::NucleicAcid, and BALL::Protein.

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::Residue, BALL::Chain, BALL::SecondaryStructure, BALL::Protein, BALL::Nucleotide, BALL::Molecule, BALL::NucleicAcid, and BALL::Fragment.

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_containerthe AtomContainer to be assigned to
See also:
Composite::get

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:
positionthe position of the child atom
Returns:
Atom* - mutable pointer to the child

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

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:
positionthe position of the child atom
Returns:
Atom* - constant pointer to the child

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

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:
namethe name of the child atom
Returns:
Atom* - mutable pointer to the child
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:
namethe name of the child atom
Returns:
Atom* - constant pointer to the child

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:
positionof the child AtomContainer
Returns:
AtomContainer* - mutable pointer to the child

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

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:
positionof the child AtomContainer
Returns:
AtomContainer* - constant pointer to the child

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

Return the name.

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

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.

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.

Insert an atom to the last position.

Parameters:
atomthe atom to insert

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

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

Insert an AtomContainer at the last position.

Parameters:
atom_containerthe AtomContainer to insert

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

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

Insert an atom after a given Composite object.

Parameters:
atomthe atom to insert
afterthe Composite object to insert after

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

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

Insert an AtomContainer after a given Composite object.

Parameters:
atom_containerthe AtomContainer to insert
afterthe Composite object to insert after

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

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

Insert an atom before a given Composite object.

Parameters:
atomthe atom to insert
beforethe Composite object to insert before

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

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

Insert an AtomContainer before a given Composite object.

Parameters:
atom_containerthe AtomContainer to insert
beforethe Composite object to insert before

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

Test if an AtomContainer is a child.

Parameters:
atom_containerthe AtomContainer to test

Reimplemented in BALL::Molecule.

Test if an AtomContainer is the parent.

Parameters:
atom_containerthe AtomContainer to test

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

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::Residue, BALL::SecondaryStructure, BALL::Protein, BALL::Nucleotide, and BALL::NucleicAcid.

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_containerthe 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) [virtual]

Read an AtomContainer object from a persistent stream.

Parameters:
pmthe persistence manager

Reimplemented from BALL::Composite.

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

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

Write an AtomContainer object to a persistent stream.

Parameters:
pmthe persistence manager

Reimplemented from BALL::Composite.

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

Prepend an atom at position 0.

Parameters:
atomthe atom to prepend

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

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

Prepend an AtomContainer at position 0.

Parameters:
atom_containerthe AtomContainer to prepend

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

Remove an atom

Parameters:
atomthe atom to remove

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

Remove an AtomContainer

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

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

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_containerthe atom_container to be copied (cloned)
deepmake a deep (=true) or shallow (=false) copy
See also:
Composite::set
void BALL::AtomContainer::setName ( const String name)

Set the name.

Parameters:
namethe 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::Residue, BALL::Chain, BALL::SecondaryStructure, BALL::Nucleotide, and BALL::Molecule.

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

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

Parameters:
atom_containerthe AtomContainer to access

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

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

Parameters:
atom_containerthe AtomContainer to access

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

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

Swap the contents of two AtomContainers.

Parameters:
atom_containerthe AtomContainer this instance is being swapped with.

Member Data Documentation

Definition at line 404 of file atomContainer.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines