BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
molecularInformation.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_CONCEPT_MOLECULARINFORMATION_H
6 #define BALL_CONCEPT_MOLECULARINFORMATION_H
7 
8 #ifndef BALL_CONCEPT_COMPOSITE_H
9 # include <BALL/CONCEPT/composite.h>
10 #endif
11 
12 namespace BALL
13 {
14  class Atom;
15 
22  : public Visitor<Composite>
23  {
24  public:
25 
32  enum Type
33  {
35  TYPE__UNKNOWN = -1,
36 
38  TYPE__SYSTEM = 0,
39 
41  TYPE__PROTEIN = 1,
42 
44  TYPE__MOLECULE = 2,
45 
47  TYPE__CHAIN = 3,
48 
50  TYPE__FRAGMENT = 4,
51 
53  TYPE__RESIDUE = 5,
54 
56  TYPE__SECONDARY_STRUCTURE = 6,
57 
59  TYPE__ATOM = 7,
60 
62  TYPE__BOND = 8
63 
64 
65  };
66 
68 
70 
75  ;
76 
79  virtual ~MolecularInformation()
80  ;
81 
87  virtual void clear()
88  ;
89 
91 
93 
101  Type getType() const { return type_;}
102 
104  String getName() const { return name_;}
105 
107  String getTypeName() const { return type_name_;}
108 
119  virtual void visit(Composite& composite);
121 
122  private:
123 
124  String getBondAtomName_(Atom* atom);
125  void getType_(Composite& composite);
126  void getTypeName_();
127  void getName_(Composite& composite);
128 
132  };
133 
134 } // namespace BALL
135 
136 #endif // BALL_CONCEPT_MOLECULARINFORMATION_H