BALL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | List of all members
BALL::System Class Reference

#include <BALL/KERNEL/system.h>

Inheritance diagram for BALL::System:
BALL::AtomContainer BALL::Composite BALL::PropertyManager BALL::PersistentObject BALL::Selectable BALL::Object BALL::AutoDeletable

Public Member Functions

bool operator== (const System &system) const
bool operator!= (const System &system) const
Constructors and Destructors
 System ()
 Default constructor.
 System (const System &system, bool deep=true)
 Copy constructor.
 System (const String &name)
 Detailled constructor.
virtual ~System ()
 Destructor.
Persistence
void persistentWrite (PersistenceManager &pm, const char *name=0) const
void persistentRead (PersistenceManager &pm)
Assignment
void set (const System &system, bool deep=true)
Systemoperator= (const System &system)
void get (System &system, bool deep=true) const
Accessors
MoleculegetMolecule (Position position)
const MoleculegetMolecule (Position position) const
ProteingetProtein (Position position)
const ProteingetProtein (Position position) const
Size countMolecules () const
Size countFragments () const
Size countAtoms () const
Size countProteins () const
Size countChains () const
Size countSecondaryStructures () const
Size countResidues () const
Size countNucleicAcids () const
Size countNucleotides () const
void prepend (Molecule &molecule)
void append (Molecule &molecule)
void insert (Molecule &molecule)
void insertBefore (Molecule &molecule, Composite &before)
void insertAfter (Molecule &molecule, Composite &after)
bool remove (Molecule &molecule)
void spliceBefore (System &system)
void spliceAfter (System &system)
void splice (System &system)
- Public Member Functions inherited from BALL::AtomContainer
 AtomContainer ()
 AtomContainer (const AtomContainer &atom_container, bool deep=true)
 AtomContainer (const String &name)
virtual ~AtomContainer ()
virtual void clear ()
virtual void destroy ()
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)
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
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 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)
void destroyBonds ()
virtual bool isValid () const
virtual void dump (std::ostream &s=std::cout, Size depth=0) const
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.
- Public Member Functions inherited from BALL::Composite
AncestorIterator beginAncestor ()
AncestorIterator endAncestor ()
AncestorConstIterator beginAncestor () const
AncestorConstIterator endAncestor () const
ChildCompositeIterator beginChildComposite ()
ChildCompositeIterator endChildComposite ()
ChildCompositeConstIterator beginChildComposite () const
ChildCompositeConstIterator endChildComposite () const
ChildCompositeReverseIterator rbeginChildComposite ()
ChildCompositeReverseIterator rendChildComposite ()
ChildCompositeConstReverseIterator rbeginChildComposite () const
ChildCompositeConstReverseIterator rendChildComposite () const
CompositeIterator beginComposite ()
CompositeIterator endComposite ()
CompositeConstIterator beginComposite () const
CompositeConstIterator endComposite () const
CompositeReverseIterator rbeginComposite ()
CompositeReverseIterator rendComposite ()
CompositeConstReverseIterator rbeginComposite () const
CompositeConstReverseIterator rendComposite () const
void deleteChildrenList_ (std::list< Composite * > &composites)
 Composite ()
 Composite (const Composite &composite, bool deep=true)
virtual ~Composite ()
void destroy (bool virtual_destroy)
void * clone (Composite &root) const
bool operator== (const Composite &composite) const
bool operator!= (const Composite &composite) const
bool isEmpty () const
bool isRoot () const
bool isRootOf (const Composite &composite) const
bool isInterior () const
bool hasChild () const
bool isChildOf (const Composite &composite) const
bool isFirstChild () const
bool isFirstChildOf (const Composite &composite) const
bool isLastChild () const
bool isLastChildOf (const Composite &composite) const
bool hasParent () const
bool isParentOf (const Composite &composite) const
bool hasSibling () const
bool isSiblingOf (const Composite &composite) const
bool hasPreviousSibling () const
bool isPreviousSiblingOf (const Composite &composite) const
bool hasNextSibling () const
bool isNextSiblingOf (const Composite &composite) const
bool isDescendantOf (const Composite &composite) const
template<typename T >
bool hasAncestor (const T &dummy) const
bool isAncestorOf (const Composite &composite) const
bool isRelatedWith (const Composite &composite) const
bool isHomomorph (const Composite &composite) const
bool containsSelection () const
void host (Visitor< Composite > &visitor)
template<typename T >
bool applyAncestor (UnaryProcessor< T > &processor)
template<typename T >
bool applyChild (UnaryProcessor< T > &processor)
template<typename T >
bool applyDescendantPreorder (UnaryProcessor< T > &processor)
template<typename T >
bool applyDescendantPostorder (UnaryProcessor< T > &processor)
template<typename T >
bool applyDescendant (UnaryProcessor< T > &processor)
template<typename T >
bool applyPreorder (UnaryProcessor< T > &processor)
template<typename T >
bool applyPostorder (UnaryProcessor< T > &processor)
template<typename T >
bool apply (UnaryProcessor< T > &processor)
template<typename T >
bool applyLevel (UnaryProcessor< T > &processor, long level)
void set (const Composite &composite, bool deep=true)
Compositeoperator= (const Composite &composite)
void get (Composite &composite, bool deep=true) const
Size getDegree () const
Size count (const KernelPredicateType &predicate) const
Size countDescendants () const
Size getPathLength (const Composite &composite) const
Size getDepth () const
Size getHeight () const
CompositegetRoot ()
const CompositegetRoot () const
CompositegetLowestCommonAncestor (const Composite &composite)
const CompositegetLowestCommonAncestor (const Composite &composite) const
template<typename T >
T * getAncestor (const T &)
template<typename T >
const T * getAncestor (const T &) const
template<typename T >
T * getPrevious (const T &)
template<typename T >
const T * getPrevious (const T &dummy) const
template<typename T >
T * getNext (const T &)
template<typename T >
const T * getNext (const T &dummy) const
CompositegetParent ()
const CompositegetParent () const
CompositegetChild (Index index)
const CompositegetChild (Index index) const
CompositegetSibling (Index index)
const CompositegetSibling (Index index) const
CompositegetFirstChild ()
const CompositegetFirstChild () const
CompositegetLastChild ()
const CompositegetLastChild () const
const PreciseTimegetModificationTime () const
const PreciseTimegetSelectionTime () const
void stamp (StampType stamp=BOTH)
void prependChild (Composite &composite)
void appendChild (Composite &composite)
void insertBefore (Composite &composite)
void insertAfter (Composite &composite)
void spliceBefore (Composite &composite)
void spliceAfter (Composite &composite)
void splice (Composite &composite)
bool removeChild (Composite &child)
Size removeSelected ()
Size removeUnselected ()
void replace (Composite &composite)
void swap (Composite &composite)
virtual void select ()
virtual void deselect ()
- Public Member Functions inherited from BALL::PersistentObject
 PersistentObject ()
virtual ~PersistentObject ()
PersistenceManageroperator>> (PersistenceManager &pm) const
virtual void finalize ()
- Public Member Functions inherited from BALL::Object
 Object ()
 Default constructor.
 Object (const Object &object)
 Copy constructor.
virtual ~Object ()
 Destructor.
const Objectoperator= (const Object &)
bool operator== (const Object &object) const
bool operator!= (const Object &object) const
bool operator< (const Object &object) const
bool operator<= (const Object &object) const
bool operator>= (const Object &object) const
bool operator> (const Object &object) const
int compare (const Object &object) const
virtual void dump (::std::ostream &s=std::cout, Size depth=0) const
Handle getHandle () const
- Public Member Functions inherited from BALL::AutoDeletable
virtual ~AutoDeletable ()
void * operator new (size_t size)
void operator delete (void *ptr)
void * operator new (size_t size, void *ptr)
void operator delete (void *ptr, void *)
bool isAutoDeletable () const
void setAutoDeletable (bool enable)
- Public Member Functions inherited from BALL::Selectable
 Selectable ()
 Selectable (const Selectable &selectable, bool deep=true)
virtual ~Selectable ()
void set (const Selectable &selectable, bool deep=true)
const Selectableoperator= (const Selectable &selectable)
void get (Selectable &selectable, bool deep=true) const
void swap (Selectable &selectable)
virtual void setSelected (bool selected)
bool isSelected () const
bool operator== (const Selectable &selectable) const
bool operator!= (const Selectable &selectable) const
void write (PersistenceManager &pm) const
bool read (PersistenceManager &pm)
virtual void dump (::std::ostream &s=std::cout, Size depth=0) const
- Public Member Functions inherited from BALL::PropertyManager
BALL_INLINE PropertyManager ()
 Default constructor.
BALL_INLINE PropertyManager (const PropertyManager &property_manager)
 Copy constructor.
virtual ~PropertyManager ()
 Destructor.
void set (const PropertyManager &property_manager)
const PropertyManageroperator= (const PropertyManager &property_manager)
void get (PropertyManager &property_manager) const
void swap (PropertyManager &property_manager)
BitVectorgetBitVector ()
const BitVectorgetBitVector () const
 operator BitVector & ()
void setProperty (Property property)
void clearProperty (Property property)
void toggleProperty (Property property)
Size countProperties () const
const NamedPropertygetNamedProperty (Position index) const
NamedPropertygetNamedProperty (Position index)
void setProperty (const NamedProperty &property)
void setProperty (const string &name)
void setProperty (const string &name, bool value)
void setProperty (const string &name, int value)
void setProperty (const string &name, unsigned int value)
void setProperty (const string &name, float value)
void setProperty (const string &name, double value)
void setProperty (const string &name, const string &value)
void setProperty (const string &name, const PersistentObject &value)
const NamedPropertygetProperty (const string &name) const
NamedPropertyIterator beginNamedProperty ()
NamedPropertyIterator endNamedProperty ()
void clearProperty (const string &name)
Size countNamedProperties () const
bool hasProperty (Property property) const
 Query for an unnamed property.
bool hasProperty (const string &name) const
 Query for a named property.
bool operator== (const PropertyManager &pm) const
bool operator!= (const PropertyManager &pm) const
 Inequality operator.
void write (PersistenceManager &pm) const
 Persistent stream writing.
bool read (PersistenceManager &pm)
 Persistent stream reading.

Additional Inherited Members

- Public Types inherited from BALL::AtomContainer
enum  Property { NUMBER_OF_PROPERTIES = 0 }
 The number of predefined properties for AtomContainer. More...
- Static Public Member Functions inherited from BALL::Composite
static bool insertParent (Composite &parent, Composite &first, Composite &last, bool destroy_parent=true)
- Static Public Member Functions inherited from BALL::Object
static Handle getNextHandle ()
static Handle getNewHandle ()
- Static Public Member Functions inherited from BALL::AutoDeletable
static void clearLastPtr ()
- Static Public Attributes inherited from BALL::Composite
static UnaryProcessor< CompositeDEFAULT_PROCESSOR
static KernelPredicateType DEFAULT_UNARY_PREDICATE
- Protected Member Functions inherited from BALL::AutoDeletable
 AutoDeletable ()
 AutoDeletable (const AutoDeletable &auto_deletable, bool deep=false)
- Protected Attributes inherited from BALL::Selectable
bool selected_

Detailed Description

System class. This class is used to represent a system, i.e., a collection of molecules.

Definition at line 38 of file KERNEL/system.h.

Constructor & Destructor Documentation

BALL::System::System ( )

Default constructor.

BALL::System::System ( const System system,
bool  deep = true 
)

Copy constructor.

BALL::System::System ( const String name)

Detailled constructor.

virtual BALL::System::~System ( )
virtual

Destructor.

Member Function Documentation

void BALL::System::append ( Molecule molecule)

Append a molecule after the last position.

Parameters
moleculethe molecule to append
Size BALL::System::countAtoms ( ) const

Count the atoms in this system.

Returns
Size the number of atoms

Reimplemented from BALL::AtomContainer.

Size BALL::System::countChains ( ) const

Count the chains in this system.

Returns
Size the number of chains
Size BALL::System::countFragments ( ) const

Count the fragments in this system.

Returns
Size the number of fragments
Size BALL::System::countMolecules ( ) const

Count the molecules in this system.

Returns
Size the number of molecules
Size BALL::System::countNucleicAcids ( ) const

Count the nucleic acids in this system.

Returns
Size the number of nucleic acids
Size BALL::System::countNucleotides ( ) const

Count the nucleotides in this system.

Returns
Size the number of nucleotides
Size BALL::System::countProteins ( ) const

Count the proteins in this system.

Returns
Size the number of proteins
Size BALL::System::countResidues ( ) const

Count the residues in this system.

Returns
Size the number of residues
Size BALL::System::countSecondaryStructures ( ) const

Count the secondary structures in this system.

Returns
Size the number of secondary structures
void BALL::System::get ( System system,
bool  deep = true 
) const

Copying with cloning facility. The assignment is either deep or shallow (default).

Parameters
Systemthe System to be assigned to
Molecule* BALL::System::getMolecule ( Position  position)

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

Note
The current implementation of this function has linear complexity
Parameters
positionthe position of the child molecule
Returns
Molecule* - mutable pointer to the child Molecule at position
const Molecule* BALL::System::getMolecule ( Position  position) const

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

Note
The current implementation of this function has linear complexity
Parameters
positionthe position of the child molecule
Returns
Molecule* - constant pointer to the child Molecule at position
Protein* BALL::System::getProtein ( Position  position)

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

Note
The current implementation of this function has linear complexity
Parameters
positionthe position of the child Protein
Returns
Protien* - mutable pointer to the child Protein at position
const Protein* BALL::System::getProtein ( Position  position) const

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

Note
The current implementation of this function has linear complexity
Parameters
positionthe position of the child Protein
Returns
Protien* - mutable pointer to the child Protein at position
void BALL::System::insert ( Molecule molecule)

Insert a molecule after the last position.

Parameters
moleculethe molecule to insert
void BALL::System::insertAfter ( Molecule molecule,
Composite after 
)

Insert a molecule after a given Composite object.

Parameters
moleculethe molecule to insert
afterthe Composite object to insert before
void BALL::System::insertBefore ( Molecule molecule,
Composite before 
)

Insert a molecule before a given Composite object.

Parameters
moleculethe molecule to insert
beforethe Composite object to insert before
bool BALL::System::operator!= ( const System system) const

Inequality operator

See Also
operator ==
System& BALL::System::operator= ( const System system)

Assignment operator.

Parameters
systemthe System to be copied (cloned)
Returns
System& - this instance
bool BALL::System::operator== ( const System system) const

Equality operator. Two instance of System are equal if they have the same handle.

See Also
Object::operator ==
void BALL::System::persistentRead ( PersistenceManager pm)
virtual

Reads a System object from a persistent stream.

Parameters
pmthe persistence manager

Reimplemented from BALL::AtomContainer.

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

Writes a System object to a persistent stream.

Parameters
pmthe persistence manager

Reimplemented from BALL::AtomContainer.

void BALL::System::prepend ( Molecule molecule)

Prepend a molecule at position 0.

Parameters
moleculethe molecule to prepend
bool BALL::System::remove ( Molecule molecule)

Remove a molecule.

Parameters
moleculethe molecule to remove
void BALL::System::set ( const System system,
bool  deep = true 
)

Assignment with cloning facility. The assignment is either deep or shallow (default).

Parameters
systemthe System to be copied (cloned)
deepmake a deep (=true) or shallow (=false) copy
void BALL::System::splice ( System system)

Move the children of system into this instance. The children are inserted using spliceBefore .

void BALL::System::spliceAfter ( System system)

Move the children of system into this instance. Cut all children of system and append them after the children of this instance.

Parameters
systemthe system to access
void BALL::System::spliceBefore ( System system)

Move the children of system into this instance. Cut all children of system and prepend them before the children of this instance.

Parameters
systemthe system to access