Loading...
Searching...
No Matches
KERNEL/system.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#ifndef BALL_KERNEL_SYSTEM_H
#define BALL_KERNEL_SYSTEM_H
#ifndef BALL_KERNEL_ATOM_H
# include <BALL/KERNEL/atomIterator.h>
#endif
#ifndef BALL_KERNEL_MOLECULEITERATOR_H
# include <BALL/KERNEL/moleculeIterator.h>
#endif
#ifndef BALL_KERNEL_PROTEINITERATOR_H
# include <BALL/KERNEL/proteinIterator.h>
#endif
#ifndef BALL_KERNEL_NUCLEICACIDITERATOR_H
# include <BALL/KERNEL/nucleicAcidIterator.h>
#endif
#ifndef BALL_KERNEL_NUCLEOTIDEIDITERATOR_H
# include <BALL/KERNEL/nucleotideIterator.h>
#endif
#define BALL_SYSTEM_DEFAULT_NAME ""
namespace BALL
{
class BALL_EXPORT System
: public AtomContainer
{
public:
BALL_CREATE_DEEP(System)
System();
System(const System& system, bool deep = true);
System(const String& name);
virtual ~System();
void persistentWrite(PersistenceManager& pm, const char* name = 0) const;
void persistentRead(PersistenceManager& pm);
void set(const System& system, bool deep = true);
System& operator = (const System& system);
void get(System& system, bool deep = true) const;
bool operator == (const System& system) const;
bool operator != (const System& system) const;
Molecule* getMolecule(Position position);
const Molecule* getMolecule(Position position) const;
Protein* getProtein(Position position);
const Protein* getProtein(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);
// --- EXTERNAL ITERATORS ---
BALL_KERNEL_DEFINE_ITERATOR_CREATORS(Atom)
BALL_KERNEL_DEFINE_ITERATOR_CREATORS(AtomContainer)
BALL_KERNEL_DEFINE_ITERATOR_CREATORS(Fragment)
BALL_KERNEL_DEFINE_ITERATOR_CREATORS(Molecule)
BALL_KERNEL_DEFINE_ITERATOR_CREATORS(Protein)
BALL_KERNEL_DEFINE_ITERATOR_CREATORS(Residue)
BALL_KERNEL_DEFINE_ITERATOR_CREATORS(Chain)
BALL_KERNEL_DEFINE_ITERATOR_CREATORS(SecondaryStructure)
BALL_KERNEL_DEFINE_ITERATOR_CREATORS(Nucleotide)
BALL_KERNEL_DEFINE_ITERATOR_CREATORS(NucleicAcid)
BALL_DECLARE_STD_ITERATOR_WRAPPER(System, Atom, atoms)
BALL_DECLARE_STD_ITERATOR_WRAPPER(System, AtomContainer, atomContainers)
BALL_DECLARE_STD_ITERATOR_WRAPPER(System, Fragment, fragments)
BALL_DECLARE_STD_ITERATOR_WRAPPER(System, Molecule, molecules)
BALL_DECLARE_STD_ITERATOR_WRAPPER(System, Protein, proteins)
BALL_DECLARE_STD_ITERATOR_WRAPPER(System, Residue, residues)
BALL_DECLARE_STD_ITERATOR_WRAPPER(System, Chain, chains)
BALL_DECLARE_STD_ITERATOR_WRAPPER(System, SecondaryStructure, secondaryStructures)
BALL_DECLARE_STD_ITERATOR_WRAPPER(System, Nucleotide, nucleotides)
BALL_DECLARE_STD_ITERATOR_WRAPPER(System, NucleicAcid, nucleicAcids)
};
} // namespace BALL
#endif // BALL_KERNEL_SYSTEM_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
atomIterator.h
BALL::AtomContainer::AtomContainer
AtomContainer()
BALL::Atom
Definition atom.h:90
BALL::Chain
Definition chain.h:32
BALL::Composite
Definition composite.h:74
BALL::Fragment
Definition fragment.h:22
BALL::Molecule
Definition molecule.h:31
BALL::NucleicAcid
Definition nucleicAcid.h:29
BALL::Nucleotide
Definition nucleotide.h:37
BALL::PersistenceManager
Definition persistenceManager.h:73
BALL::Protein
Definition protein.h:30
BALL::Residue
Definition residue.h:38
BALL::SecondaryStructure
Definition secondaryStructure.h:31
BALL::String
Definition string.h:57
BALL::System::persistentWrite
void persistentWrite(PersistenceManager &pm, const char *name=0) const
BALL::System::insert
void insert(Molecule &molecule)
BALL::System::insertBefore
void insertBefore(Molecule &molecule, Composite &before)
BALL::System::countProteins
Size countProteins() const
BALL::System::countFragments
Size countFragments() const
BALL::System::splice
void splice(System &system)
BALL::System::getProtein
Protein * getProtein(Position position)
BALL::System::get
void get(System &system, bool deep=true) const
BALL::System::append
void append(Molecule &molecule)
BALL::System::remove
bool remove(Molecule &molecule)
BALL::System::countNucleicAcids
Size countNucleicAcids() const
BALL::System::countNucleotides
Size countNucleotides() const
BALL::System::countChains
Size countChains() const
BALL::System::countResidues
Size countResidues() const
BALL::System::countSecondaryStructures
Size countSecondaryStructures() const
BALL::System::insertAfter
void insertAfter(Molecule &molecule, Composite &after)
BALL::System::countAtoms
Size countAtoms() const
BALL::System::System
System()
Default constructor.
BALL::System::spliceBefore
void spliceBefore(System &system)
BALL::System::persistentRead
void persistentRead(PersistenceManager &pm)
BALL::System::countMolecules
Size countMolecules() const
BALL::System::getMolecule
Molecule * getMolecule(Position position)
BALL::System::prepend
void prepend(Molecule &molecule)
BALL::System::spliceAfter
void spliceAfter(System &system)
BALL::System::set
void set(const System &system, bool deep=true)
BALL_CREATE_DEEP
#define BALL_CREATE_DEEP(name)
Definition create.h:26
BALL::atoms
BALL_EXPORT AtomList atoms(const AtomContainer &fragment, const String &expression=String())
BALL_KERNEL_DEFINE_ITERATOR_CREATORS
#define BALL_KERNEL_DEFINE_ITERATOR_CREATORS(Type)
Definition iterator.h:25
moleculeIterator.h
BALL
Definition constants.h:13
BALL::atomContainers
BALL_EXPORT AtomContainerList atomContainers(const AtomContainer &fragment, bool selected_only=false)
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
BALL::proteins
BALL_EXPORT ProteinList proteins(const AtomContainer &fragment, bool selected_only=false)
BALL::molecules
BALL_EXPORT MoleculeList molecules(const AtomContainer &fragment, bool selected_only=false)
BALL::Position
BALL_SIZE_TYPE Position
Definition COMMON/global.h:140
BALL::nucleotides
BALL_EXPORT NucleotideList nucleotides(const AtomContainer &fragment, bool selected_only=false)
BALL::fragments
BALL_EXPORT FragmentList fragments(const AtomContainer &fragment, bool selected_only=false)
BALL::secondaryStructures
BALL_EXPORT SecondaryStructureList secondaryStructures(const AtomContainer &fragment, bool selected_only=false)
BALL::chains
BALL_EXPORT ChainList chains(const AtomContainer &fragment, bool selected_only=false)
BALL::residues
BALL_EXPORT ResidueList residues(const AtomContainer &fragment, bool selected_only=false)
BALL::nucleicAcids
BALL_EXPORT NucleicAcidList nucleicAcids(const AtomContainer &fragment, bool selected_only=false)
nucleicAcidIterator.h
nucleotideIterator.h
proteinIterator.h
BALL_DECLARE_STD_ITERATOR_WRAPPER
#define BALL_DECLARE_STD_ITERATOR_WRAPPER(container, type, method_name)
Definition stdIteratorWrapper.h:30