BALL 1.5.0
Loading...
Searching...
No Matches
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
30namespace BALL
31{
39 : public AtomContainer
40 {
41 public:
42
44
45
48
49
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
#define BALL_DECLARE_STD_ITERATOR_WRAPPER(container, type, method_name)
#define BALL_KERNEL_DEFINE_ITERATOR_CREATORS(Type)
Definition iterator.h:25
#define BALL_CREATE_DEEP(name)
Definition create.h:26
#define BALL_EXPORT