BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
threads.h
Go to the documentation of this file.
1 #ifndef BALL_VIEW_KERNEL_THREADS_H
2 #define BALL_VIEW_KERNEL_THREADS_H
3 
4 #ifndef BALL_VIEW_KERNEL_COMMON_H_
6 #endif
7 
8 #include <QtCore/QThread>
9 #include <QtCore/QEvent>
10 
11 namespace BALL
12 {
13  class EnergyMinimizer;
14  class MolecularDynamics;
15  class Composite;
16  class DockingAlgorithm;
17  class TrajectoryFile;
18 
19 namespace VIEW
20 {
21  class MainControl;
22  class FDPBDialog;
23  class Message;
24  class Representation;
25 
31  : public QEvent
32  {
33  public:
34 
37  : QEvent((QEvent::Type)MESSAGE_EVENT),
38  message_(msg)
39  {}
40 
42  void setMessage(Message* msg) { message_ = msg; }
43 
45  Message* getMessage() { return message_; }
46 
47  protected:
48 
50  };
51 
52 
70  : public virtual QThread
71  {
72  public:
73 
75  BALLThread();
76 
78  void setMainControl(MainControl* mf) {main_control_ = mf;}
79 
81  void setComposite(Composite* composite) {composite_ = composite;}
82 
84  Composite* getComposite() { return composite_;}
85 
88  virtual void run() {};
89 
90  protected:
91 
95  void sendMessage_(Message* msg);
96 
103  void updateStructure_();
104 
106  void output_(const String& string, bool important = false);
107 
112  void waitForUpdateOfRepresentations_();
113 
116  };
117 
120  : public BALLThread
121  {
122  public:
123 
126 
128  virtual void run();
129 
131  void setFDPBDialog(FDPBDialog* dialog) {dialog_ = dialog;}
132 
133  protected:
135  };
136 
137 
140  : public BALLThread
141  {
142  public:
143 
146 
148  virtual void run();
149 
151  void setRepresentation(Representation& rep)
152  { rep_ = &rep;}
153 
155  Representation* getRepresentation()
156  { return rep_; }
157 
158  protected:
159 
161  };
162 
163 
170  : public BALLThread
171  {
172  public:
173 
176 
178  void setNumberOfStepsBetweenUpdates(Size steps)
179  { steps_between_updates_ = steps;}
180 
182  void setTrajectoryFile(TrajectoryFile* file) {trajectory_file_ = file;}
183 
185  TrajectoryFile* getTrajectoryFile() { return trajectory_file_;}
186 
187  protected:
188 
190  void exportSceneToPNG_();
191 
193  void finish_();
194 
197  };
198 
199 
202  : public SimulationThread
203  {
204  public:
205 
208 
210  virtual ~EnergyMinimizerThread();
211 
213  virtual void run();
214 
216  void setEnergyMinimizer(EnergyMinimizer* minimizer);
217 
218  protected:
220  };
221 
222 
225  : public SimulationThread
226  {
227  public:
228 
231 
233  virtual ~MDSimulationThread();
234 
236  virtual void run()
237  throw(Exception::NullPointer);
238 
240  void setMolecularDynamics(MolecularDynamics* md);
241 
243  void setNumberOfSteps(Size steps) { steps_ = steps;}
244 
246  void setSaveImages(bool state) { save_images_ = state;}
247 
248  protected:
252  };
253 
254 
257  : public BALLThread
258  {
259  public:
261  DockingThread();
262 
264  virtual ~DockingThread();
265 
268  const DockingThread& operator =(const DockingThread& dock_thread);
269 
271  void setDockingAlgorithm(DockingAlgorithm* dock_alg);
272 
274  virtual void run()
275  throw(Exception::NullPointer);
276 
277  protected:
279  };
280 
281  }
282 }
283 #endif //BALL_VIEW_KERNEL_THREADS_H