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
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
BALL_EXPORT AtomList atoms(const AtomContainer &fragment, const String &expression=String())
Definition: constants.h:13
BALL_EXPORT AtomContainerList atomContainers(const AtomContainer &fragment, bool selected_only=false)
BALL_EXPORT ProteinList proteins(const AtomContainer &fragment, bool selected_only=false)
BALL_EXPORT MoleculeList molecules(const AtomContainer &fragment, bool selected_only=false)
BALL_EXPORT NucleotideList nucleotides(const AtomContainer &fragment, bool selected_only=false)
BALL_EXPORT FragmentList fragments(const AtomContainer &fragment, bool selected_only=false)
BALL_EXPORT SecondaryStructureList secondaryStructures(const AtomContainer &fragment, bool selected_only=false)
BALL_EXPORT ChainList chains(const AtomContainer &fragment, bool selected_only=false)
BALL_EXPORT ResidueList residues(const AtomContainer &fragment, bool selected_only=false)
BALL_EXPORT NucleicAcidList nucleicAcids(const AtomContainer &fragment, bool selected_only=false)
#define BALL_EXPORT
Definition: COMMON/global.h:50