00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 #ifndef PICK_MODE_FORCE_H__
00022 #define PICK_MODE_FORCE_H__
00023 
00024 #include "PickMode.h"
00025 class MolAtom;
00026 
00028 class PickModeForce : public PickMode {
00029 protected:
00030   int mytag;
00031 
00032   PickModeForce() {}
00033   void get_force(const float *atomPos, const float *pos,
00034                               DrawMolecule *m, int dim, DisplayDevice *d,
00035                               float *newforce);
00036   void set_force(MolAtom *, const float *);
00037 };
00038 
00039 
00040 
00041 
00043 class PickModeForceAtom : public PickModeForce {
00044 public:
00045   PickModeForceAtom() {} 
00046   virtual void pick_molecule_start(DrawMolecule *, DisplayDevice *,
00047                              int btn, int tag, const int *cell,
00048                              int dim, const float *pos);
00049   virtual void pick_molecule_move (DrawMolecule *, DisplayDevice *,
00050                              int tag, int dim, const float *pos);
00051 };
00052 
00054 class PickModeForceResidue : public PickModeForce {
00055 public:
00056   PickModeForceResidue() {}
00057   virtual void pick_molecule_start(DrawMolecule *, DisplayDevice *,
00058                              int btn, int tag, const int *cell,
00059                              int dim, const float *pos);
00060   virtual void pick_molecule_move (DrawMolecule *, DisplayDevice *,
00061                              int tag, int dim, const float *pos);
00062 };
00063 
00065 class PickModeForceFragment : public PickModeForce {
00066 public:
00067   PickModeForceFragment() {}
00068   virtual void pick_molecule_start(DrawMolecule *, DisplayDevice *,
00069                              int btn, int tag, const int *cell,
00070                              int dim, const float *pos);
00071   virtual void pick_molecule_move (DrawMolecule *, DisplayDevice *,
00072                              int tag, int dim, const float *pos);
00073 };
00074 
00075 #endif
00076