00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef BALL_STRUCTURE_DOCKING_DOCKINGALGORITHM_H
00011 #define BALL_STRUCTURE_DOCKING_DOCKINGALGORITHM_H
00012
00013 #ifndef BALL_DATATYPE_OPTIONS_H
00014 # include <BALL/DATATYPE/options.h>
00015 #endif
00016
00017 #ifndef BALL_KERNEL_SYSTEM_H
00018 # include <BALL/KERNEL/system.h>
00019 #endif
00020
00021 #ifndef BALL_STRUCTURE_DOCKING_CONFORMATIONSET_H
00022 # include <BALL/STRUCTURE/DOCKING/conformationSet.h>
00023 #endif
00024
00025 namespace BALL
00026 {
00030 class BALL_EXPORT DockingAlgorithm
00031 {
00032 public:
00033
00034 virtual ~DockingAlgorithm() {};
00035
00038 Options options;
00039
00040
00047 virtual void setup(System& system1, System& system2, Options& new_options)
00048 ;
00049
00053 virtual void setup(System& system1, System& system2)
00054 ;
00055
00058 virtual void start()
00059 ;
00060
00063 virtual void pause()
00064 ;
00065
00068 virtual void proceed()
00069 ;
00070
00073 virtual void abort()
00074 ;
00075
00078 virtual bool hasFinished() const
00079 ;
00080
00082 virtual bool wasAborted() const
00083 { return abort_;}
00084
00086 virtual bool wasPaused() const
00087 { return pause_;}
00088
00091 virtual float getProgress() const
00092 ;
00093
00098 virtual ConformationSet getConformationSet(Index total_conformations = 0)
00099 ;
00100
00101 protected:
00102 System system1_;
00103 System system2_;
00104 bool pause_;
00105 bool abort_;
00106 };
00107
00108 }
00109
00110 #endif