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