BALL  1.5.0
KERNEL/system.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_KERNEL_SYSTEM_H
6 #define BALL_KERNEL_SYSTEM_H
7 
8 #ifndef BALL_KERNEL_ATOM_H
10 #endif
11 
12 #ifndef BALL_KERNEL_MOLECULEITERATOR_H
14 #endif
15 
16 #ifndef BALL_KERNEL_PROTEINITERATOR_H
18 #endif
19 
20 #ifndef BALL_KERNEL_NUCLEICACIDITERATOR_H
22 #endif
23 
24 #ifndef BALL_KERNEL_NUCLEOTIDEIDITERATOR_H
26 #endif
27 
28 #define BALL_SYSTEM_DEFAULT_NAME ""
29 
30 namespace BALL
31 {
39  : public AtomContainer
40  {
41  public:
42 
44 
45 
48 
50  System();
51 
53  System(const System& system, bool deep = true);
54 
56  System(const String& name);
57 
59  virtual ~System();
60 
62 
65 
69  void persistentWrite(PersistenceManager& pm, const char* name = 0) const;
70 
74  void persistentRead(PersistenceManager& pm);
75 
77 
80 
86  void set(const System& system, bool deep = true);
87 
92  System& operator = (const System& system);
93 
98  void get(System& system, bool deep = true) const;
99 
101 
106  bool operator == (const System& system) const;
107 
111  bool operator != (const System& system) const;
112 
116 
125  Molecule* getMolecule(Position position);
126 
135  const Molecule* getMolecule(Position position) const;
136 
145  Protein* getProtein(Position position);
146 
155  const Protein* getProtein(Position position) const;
156 
160  Size countMolecules() const;
161 
165  Size countFragments() const;
166 
170  Size countAtoms() const;
171 
175  Size countProteins() const;
176 
180  Size countChains() const;
181 
185  Size countSecondaryStructures() const;
186 
190  Size countResidues() const;
191 
195  Size countNucleicAcids() const;
196 
200  Size countNucleotides() const;
201 
205  void prepend(Molecule& molecule);
206 
210  void append(Molecule& molecule);
211 
215  void insert(Molecule& molecule);
216 
221  void insertBefore(Molecule& molecule, Composite& before);
222 
227  void insertAfter(Molecule& molecule, Composite& after);
228 
232  bool remove(Molecule& molecule);
233 
238  void spliceBefore(System& system);
239 
244  void spliceAfter(System& system);
245 
249  void splice(System& system);
250 
252 
253  // --- EXTERNAL ITERATORS ---
254 
265 
276  };
277 } // namespace BALL
278 
279 #endif // BALL_KERNEL_SYSTEM_H
BALL::chains
BALL_EXPORT ChainList chains(const AtomContainer &fragment, bool selected_only=false)
nucleicAcidIterator.h
BALL::nucleotides
BALL_EXPORT NucleotideList nucleotides(const AtomContainer &fragment, bool selected_only=false)
BALL::atoms
BALL_EXPORT AtomList atoms(const AtomContainer &fragment, const String &expression=String())
BALL::Chain
Definition: chain.h:30
atomIterator.h
BALL::Nucleotide
Definition: nucleotide.h:35
BALL::nucleicAcids
BALL_EXPORT NucleicAcidList nucleicAcids(const AtomContainer &fragment, bool selected_only=false)
BALL::operator!=
BALL_EXPORT bool operator!=(const String &s1, const String &s2)
BALL::AtomContainer
Definition: atomContainer.h:29
BALL::Molecule
Definition: molecule.h:29
BALL::System
Definition: KERNEL/system.h:38
BALL::SecondaryStructure
Definition: secondaryStructure.h:29
BALL_DECLARE_STD_ITERATOR_WRAPPER
#define BALL_DECLARE_STD_ITERATOR_WRAPPER(container, type, method_name)
Definition: stdIteratorWrapper.h:30
BALL_KERNEL_DEFINE_ITERATOR_CREATORS
#define BALL_KERNEL_DEFINE_ITERATOR_CREATORS(Type)
Definition: iterator.h:25
BALL::Atom
Definition: atom.h:87
BALL_CREATE_DEEP
#define BALL_CREATE_DEEP(name)
Definition: create.h:26
BALL::PersistenceManager
Definition: persistenceManager.h:72
BALL::residues
BALL_EXPORT ResidueList residues(const AtomContainer &fragment, bool selected_only=false)
BALL::Residue
Definition: residue.h:36
nucleotideIterator.h
BALL::String
Definition: string.h:56
BALL::Protein
Definition: protein.h:28
BALL::fragments
BALL_EXPORT FragmentList fragments(const AtomContainer &fragment, bool selected_only=false)
BALL
Definition: constants.h:12
BALL::secondaryStructures
BALL_EXPORT SecondaryStructureList secondaryStructures(const AtomContainer &fragment, bool selected_only=false)
BALL::atomContainers
BALL_EXPORT AtomContainerList atomContainers(const AtomContainer &fragment, bool selected_only=false)
BALL::Composite
Definition: composite.h:71
BALL_SIZE_TYPE
moleculeIterator.h
BALL::Fragment
Definition: fragment.h:20
BALL::operator==
BALL_EXPORT bool operator==(const String &s1, const String &s2)
BALL::molecules
BALL_EXPORT MoleculeList molecules(const AtomContainer &fragment, bool selected_only=false)
BALL::NucleicAcid
Definition: nucleicAcid.h:27
BALL_EXPORT
#define BALL_EXPORT
Definition: COMMON/global.h:50
BALL::proteins
BALL_EXPORT ProteinList proteins(const AtomContainer &fragment, bool selected_only=false)
proteinIterator.h