BALL
1.4.2
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
BALL
KERNEL
molecule.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_MOLECULE_H
6
#define BALL_KERNEL_MOLECULE_H
7
8
#ifndef BALL_KERNEL_ATOMCONTAINER_H
9
# include <
BALL/KERNEL/atomContainer.h
>
10
#endif
11
12
#ifndef BALL_KERNEL_FRAGMENT_H
13
# include <
BALL/KERNEL/fragment.h
>
14
#endif
15
16
#ifndef BALL_KERNEL_FRAGMENTITERATOR_H
17
# include <
BALL/KERNEL/fragmentIterator.h
>
18
#endif
19
20
namespace
BALL
21
{
22
class
System;
23
29
class
BALL_EXPORT
Molecule
30
:
public
AtomContainer
31
{
32
public
:
33
34
BALL_CREATE_DEEP
(
Molecule
)
35
36
39
42
enum
Property
43
{
44
IS_SOLVENT =
AtomContainer::NUMBER_OF_PROPERTIES
,
45
NUMBER_OF_PROPERTIES
46
};
47
49
52
55
Molecule
();
56
59
Molecule
(
const
Molecule
& molecule,
bool
deep =
true
);
60
63
Molecule
(
const
String
& name);
64
67
virtual
~
Molecule
();
68
70
73
77
void
persistentWrite(
PersistenceManager
& pm,
const
char
* name = 0)
const
;
78
82
void
persistentRead(
PersistenceManager
& pm);
83
85
88
93
void
set
(
const
Molecule
& molecule,
bool
deep =
true
);
94
98
Molecule
& operator = (
const
Molecule
& molecule);
99
104
void
get
(
Molecule
& molecule,
bool
deep =
true
)
const
;
105
109
void
swap(
Molecule
& molecule);
110
112
115
119
System
* getSystem();
120
124
const
System
* getSystem()
const
;
125
129
void
prepend(
Atom
& atom);
130
134
void
append(
Atom
& atom);
135
139
void
insert(
Atom
& atom);
140
145
void
insertBefore(
Atom
& atom,
Composite
& before);
146
151
void
insertAfter(
Atom
& atom,
Composite
& after);
152
156
bool
remove
(
Atom
& atom);
157
161
void
prepend(
AtomContainer
& atom_container);
162
166
void
append(
AtomContainer
& atom_container);
167
171
void
insert(
AtomContainer
& atom_container);
172
177
void
insertBefore(
AtomContainer
& atom_container,
Composite
& before);
178
183
void
insertAfter(
AtomContainer
& atom_container,
Composite
& after);
184
188
void
spliceBefore(
AtomContainer
& atom_container);
189
193
void
spliceAfter(
AtomContainer
& atom_container);
194
200
void
splice(
AtomContainer
& atom_container);
201
205
bool
remove
(
AtomContainer
& atom_container);
206
208
211
218
virtual
void
dump(std::ostream& s = std::cout,
Size
depth = 0)
const
;
219
221
226
bool
operator == (
const
Molecule
& molecule)
const
;
227
231
bool
operator != (
const
Molecule
& molecule)
const
;
232
233
234
BALL_KERNEL_DEFINE_ITERATOR_CREATORS
(
Fragment
)
235
236
237
protected:
238
239
Molecule
* getMolecule();
240
241
const
Molecule
* getMolecule() const;
242
243
AtomContainer
* getSuperAtomContainer();
244
245
const
AtomContainer
* getSuperAtomContainer() const;
246
247
void
prepend(
Molecule
& molecule);
248
249
void
append(
Molecule
& molecule);
250
251
void
insert(
Molecule
& molecule);
252
253
void
insertBefore(
Molecule
& molecule,
Composite
& composite);
254
255
void
insertAfter(
Molecule
& molecule,
Composite
& composite);
256
257
bool
remove(
Molecule
& molecule);
258
259
bool
isSubAtomContainerOf(const
AtomContainer
& atom_container) const;
260
};
261
}
// namespace BALL
262
263
#endif // BALL_KERNEL_MOLECULE_H
Generated by
1.8.3.1