Victor
 All Data Structures Functions Variables Friends Pages
Monomer.h
1 /* This file is part of Victor.
2 
3  Victor is free software: you can redistribute it and/or modify
4  it under the terms of the GNU General Public License as published by
5  the Free Software Foundation, either version 3 of the License, or
6  (at your option) any later version.
7 
8  Victor is distributed in the hope that it will be useful,
9  but WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  GNU General Public License for more details.
12 
13  You should have received a copy of the GNU General Public License
14  along with Victor. If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 
18 #ifndef _MONOMER_H_
19 #define _MONOMER_H_
20 
21 // Includes:
22 #include <Component.h>
23 #include <Debug.h>
24 
25 // Global constants, typedefs, etc. (to avoid):
26 
27 namespace Victor { namespace Biopool {
28 
32  class Monomer : public Component {
33  public:
34 
35  // CONSTRUCTORS/DESTRUCTOR:
36  Monomer(unsigned int mI = 1, unsigned int mO = 1);
37  Monomer(const Monomer& orig);
38  ~Monomer();
39 
40  // PREDICATES:
41 
42  virtual string getClassName() const {
43  return "Monomer";
44  };
45 
46  virtual vgVector3<double> getTrans() const {
47  ERROR(" Monomer::getTrans is not a viable method.", exception);
48  };
49 
50  virtual vgMatrix3<double> getRot() const {
51  ERROR("Monomer::getRot is not a viable method.", exception);
52  };
53 
54  virtual void save(Saver& s) {
55  ERROR("Monomer::save is not a viable method.", exception);
56  };
57 
58  // MODIFIERS:
59 
60  void insertComponent(Component* c) {
61  ERROR("Monomer::insertComponent is not a viable method.", exception);
62  };
63 
64  void removeComponent(Component* c) {
65  ERROR("Monomer::removeComponent is not a viable method.", exception);
66  };
67 
68  void deleteComponent(Component* c) {
69  ERROR("Monomer::deleteComponent is not a viable method.", exception);
70  };
71 
72  void copy(const Monomer& orig);
73  virtual Component* clone();
74 
75  virtual void load(Loader& l) {
76  ERROR("Monomer::load is not a viable method.", exception);
77  };
78 
79  virtual void setTrans(vgVector3<double> t) {
80  ERROR("Monomer::setTrans is not a viable method.", exception);
81  };
82 
83  virtual void addTrans(vgVector3<double> t) {
84  ERROR("Monomer::addTrans is not a viable method.", exception);
85  };
86 
87  virtual void setRot(vgMatrix3<double> r) {
88  ERROR("Monomer::setRot is not a viable method.", exception);
89  };
90 
91  virtual void addRot(vgMatrix3<double> r) {
92  ERROR("Monomer::addRot is not a viable method.", exception);
93  };
94 
95  virtual void sync() // synchronize coords with structure
96  {
97  ERROR("Monomer::sync is not a viable method.", exception);
98  };
99 
100  virtual void acceptCalculator(EnergyVisitor* v) {
101  ERROR("Monomer::acceptCalculator is not a viable method.", exception);
102  };
103 
104  virtual void acceptOptimizer(OptimizationVisitor* v) {
105  ERROR("Monomer::acceptOptimizer is not a viable method.", exception);
106  };
107 
108  // OPERATORS:
109 
110  protected:
111 
112  // HELPERS:
113 
114  virtual void resetBoundaries() {
115  ERROR("Monomer::resetBoundaries is not a viable method.", exception);
116  };
117 
118  private:
119 
120  };
121 
122 
123  // ---------------------------------------------------------------------------
124  // Monomer
125  // -----------------x-------------------x-------------------x-----------------
126 
127  // PREDICATES:
128 
129  // MODIFIERS:
130 
131  // OPERATORS:
132 
133 }} //namespace
134 #endif //_MONOMER_H_
Base class for saving components (Atoms, Groups, etc.).
Definition: Saver.h:39
Base class for composite structures.
Definition: Component.h:39
Base class for loading components (Atoms, Groups, etc.).
Definition: Loader.h:39
Base class implementing the visitor pattern.
Definition: Visitor.h:38
Base class for components without elements.
Definition: Monomer.h:32
Base class Optimizacion Patter.
Definition: Visitor.h:66