BALL 1.5.0
atomBondModelBaseProcessor.h
Go to the documentation of this file.
1// -*- Mode: C++; tab-width: 2; -*-
2// vi: set ts=2:
3//
4// $Id: atomBondModelBaseProcessor.h,v 1.18 2005/12/23 17:02:17 amoll Exp $
5//
6
7#ifndef BALL_VIEW_MODELS_ATOMBONDMODELBASEPROCESSOR_H
8#define BALL_VIEW_MODELS_ATOMBONDMODELBASEPROCESSOR_H
9
10#ifndef BALL_DATATYPE_HASHSET_H
12#endif
13
14#ifndef BALL_VIEW_MODELS_MODELPROCESSOR_H
16#endif
17
18namespace BALL
19{
20 class Atom;
21 class Bond;
22
23 namespace VIEW
24 {
32 : public ModelProcessor
33 {
34 public:
35
37
38
41
42
46
50
54
62 virtual void clear();
63
65
68
73 void set(const AtomBondModelBaseProcessor& processor);
74
78 const AtomBondModelBaseProcessor& operator = (const AtomBondModelBaseProcessor& processor);
79
81
84
92 virtual Processor::Result operator() (Composite& composite);
93
95
98
106 virtual void dump(std::ostream& s = std::cout, Size depth = 0) const;
107
109 virtual void clearComposites();
110
112 virtual bool createGeometricObjects();
113
114 protected:
115
117
126
132 void insertAtom_(const Atom* atom);
133
136 void clearUsedAtoms_();
137
140 std::list<const Atom*>& getAtomList_();
141
144 HashSet<const Atom*>& getAtomSet_();
145
151 void buildBondModels_();
152
154
155 virtual void visualiseBond_(const Bond& bond);
156
157 virtual void visualiseRings_(){};
158
159 vector<vector<Atom*> > rings_;
161
162 private:
163
164 std::list<const Atom*> used_atoms_;
165 HashSet<const Atom*> atom_set_;
166 };
167
168# ifndef BALL_NO_INLINE_FUNCTIONS
169# include <BALL/VIEW/MODELS/atomBondModelBaseProcessor.iC>
170# endif
171
172} } // namespaces
173
174#endif // BALL_VIEW_MODELS_ATOMBONDMODELBASEPROCESSOR_H
#define BALL_CREATE(name)
Definition: create.h:62
STL namespace.
Definition: constants.h:13
char Atom[5]
Definition: PDBdefs.h:257
#define BALL_VIEW_EXPORT
Definition: COMMON/global.h:52