Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

PickModeForce.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *cr
00003  *cr            (C) Copyright 1995-2019 The Board of Trustees of the
00004  *cr                        University of Illinois
00005  *cr                         All Rights Reserved
00006  *cr
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  * RCS INFORMATION:
00011  *
00012  *      $RCSfile: PickModeForce.h,v $
00013  *      $Author: johns $        $Locker:  $             $State: Exp $
00014  *      $Revision: 1.17 $       $Date: 2019/09/11 17:43:45 $
00015  *
00016  ***************************************************************************
00017  * DESCRIPTION:
00018  *  Pick mode for applying forces to atoms.
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 // The cool way to do this would be to define an iterator in each subclass,
00040 // but alas, I'm not cool enough at the moment.
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 

Generated on Fri Oct 4 02:44:49 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002