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
11 # include <BALL/DATATYPE/hashSet.h>
12 #endif
13 
14 #ifndef BALL_VIEW_MODELS_MODELPROCESSOR_H
16 #endif
17 
18 namespace BALL
19 {
20  class Atom;
21  class Bond;
22 
23  namespace VIEW
24  {
32  : public ModelProcessor
33  {
34  public:
35 
37 
38 
41 
46 
50 
53  virtual ~AtomBondModelBaseProcessor();
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
BALL::Bond
Definition: bond.h:54
modelProcessor.h
BALL::VIEW::AtomBondModelBaseProcessor
Definition: atomBondModelBaseProcessor.h:31
BALL::Atom
Definition: atom.h:87
BALL
Definition: constants.h:12
BALL::HashSet
Definition: hashSet.h:45
BALL::VIEW::ModelProcessor
Definition: modelProcessor.h:37
BALL::PDB::Atom
char Atom[5]
Definition: PDBdefs.h:257
BALL::VIEW::AtomBondModelBaseProcessor::visualiseRings_
virtual void visualiseRings_()
Definition: atomBondModelBaseProcessor.h:157
BALL::Composite
Definition: composite.h:71
BALL_SIZE_TYPE
hashSet.h
BALL_VIEW_EXPORT
#define BALL_VIEW_EXPORT
Definition: COMMON/global.h:52
BALL::VIEW::AtomBondModelBaseProcessor::ring_atoms_
HashSet< const Atom * > ring_atoms_
Definition: atomBondModelBaseProcessor.h:160
BALL_CREATE
#define BALL_CREATE(name)
Definition: create.h:62
BALL::Processor::Result
int Result
Definition: processor.h:36