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
atomContainer.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_ATOMCONTAINER_H
6
#define BALL_KERNEL_ATOMCONTAINER_H
7
8
#ifndef BALL_KERNEL_ATOMITERATOR_H
9
# include <
BALL/KERNEL/atomIterator.h
>
10
#endif
11
12
#ifndef BALL_KERNEL_ATOMCONTAINERITERATOR_H
13
# include <
BALL/KERNEL/atomContainerIterator.h
>
14
#endif
15
16
17
#define BALL_ATOMCONTAINER_DEFAULT_NAME ""
18
19
namespace
BALL
20
{
21
class
Molecule;
22
30
class
BALL_EXPORT
AtomContainer
31
:
public
Composite
,
32
public
PropertyManager
33
{
34
public
:
35
36
BALL_CREATE_DEEP
(
AtomContainer
)
37
38
41
43
enum
Property
44
{
46
NUMBER_OF_PROPERTIES = 0
47
};
48
50
53
56
AtomContainer
();
57
62
AtomContainer
(
const
AtomContainer
& atom_container,
bool
deep =
true
);
63
67
AtomContainer
(
const
String
& name);
68
71
virtual
~
AtomContainer
();
72
77
virtual
void
clear();
78
83
virtual
void
destroy();
84
86
89
93
virtual
void
persistentWrite(
PersistenceManager
& pm,
const
char
* name = 0)
const
;
94
98
virtual
void
persistentRead(
PersistenceManager
& pm);
99
101
104
111
void
set
(
const
AtomContainer
& atom_container,
bool
deep =
true
);
112
119
AtomContainer
& operator = (
const
AtomContainer
& atom_container);
120
126
void
get
(
AtomContainer
& atom_container,
bool
deep =
true
)
const
;
127
131
void
swap(
AtomContainer
& atom_container);
132
134
137
141
bool
operator == (
const
AtomContainer
& atom_container)
const
;
142
146
bool
operator != (
const
AtomContainer
& atom_container)
const
;
147
149
152
156
void
setName(
const
String
& name);
157
161
const
String
&
getName
()
const
;
162
167
AtomContainer
* getSuperAtomContainer();
168
173
const
AtomContainer
* getSuperAtomContainer()
const
;
174
181
AtomContainer
* getAtomContainer(
Position
position);
182
189
const
AtomContainer
* getAtomContainer(
Position
position)
const
;
190
197
Atom
* getAtom(
Position
position);
198
205
const
Atom
* getAtom(
Position
position)
const
;
206
213
Atom
* getAtom(
const
String
& name);
214
221
const
Atom
* getAtom(
const
String
& name)
const
;
222
226
Size
countAtomContainers()
const
;
227
231
Size
countAtoms()
const
;
232
236
Size
countBonds()
const
;
237
241
Size
countInterBonds()
const
;
242
246
Size
countIntraBonds()
const
;
247
251
void
prepend(
Atom
& atom);
252
256
void
append(
Atom
& atom);
257
261
void
insert(
Atom
& atom);
262
267
void
insertBefore(
Atom
& atom,
Composite
& before);
268
273
void
insertAfter(
Atom
& atom,
Composite
& after);
274
278
bool
remove
(
Atom
& atom);
279
280
Size
removeHavingProperty(
BALL::Property
p);
281
Size
removeNotHavingProperty(
BALL::Property
p);
282
Size
removeHavingProperty(
const
string
& name);
283
Size
removeNotHavingProperty(
const
string
& name);
284
288
void
prepend(
AtomContainer
& atom_container);
289
293
void
append(
AtomContainer
& atom_container);
294
298
void
insert(
AtomContainer
& atom_container);
299
304
void
insertBefore(
AtomContainer
& atom_container,
Composite
& before);
305
310
void
insertAfter(
AtomContainer
& atom_container,
Composite
& after);
311
316
void
spliceBefore(
AtomContainer
& atom_container);
317
322
void
spliceAfter(
AtomContainer
& atom_container);
323
329
void
splice(
AtomContainer
& atom_container);
330
335
bool
remove
(
AtomContainer
& atom_container);
336
338
341
344
void
destroyBonds();
345
347
350
354
bool
isSubAtomContainerOf(
const
AtomContainer
& atom_container)
const
;
355
359
bool
isSuperAtomContainerOf(
const
AtomContainer
& atom_container)
const
;
360
362
365
371
virtual
bool
isValid()
const
;
372
379
virtual
void
dump(std::ostream& s = std::cout,
Size
depth = 0)
const
;
380
382
385
387
bool
applyIntraBond(
UnaryProcessor<Bond>
& processor);
388
390
bool
applyInterBond(
UnaryProcessor<Bond>
& processor);
391
393
394
// --- EXTERNAL ITERATORS
395
396
BALL_KERNEL_DEFINE_ITERATOR_CREATORS
(
Atom
)
397
BALL_KERNEL_DEFINE_ITERATOR_CREATORS
(
AtomContainer
)
398
399
400
private:
401
402
/*_ The name of this container
403
*/
404
String
name_;
405
406
};
407
}
// namespace BALL
408
409
#endif // BALL_KERNEL_ATOMCONTAINER_H
Generated by
1.8.3.1