src/biu/LatticeMoveSet.hh
Go to the documentation of this file.00001 #ifndef LATTICEMOVESET_H_ 00002 #define LATTICEMOVESET_H_ 00003 00004 00005 #include "LatticeModel.hh" 00006 #include "LatticeProtein.hh" 00007 00008 namespace biu 00009 { 00010 00020 class LatticeMoveSet 00021 { 00022 protected: 00024 const LatticeModel* lattice; 00025 00026 public: 00030 LatticeMoveSet(const LatticeModel* lattice); 00031 00032 virtual LatticeMoveSet* clone() = 0; 00033 00034 virtual ~LatticeMoveSet(); 00035 00048 virtual LatticeProtein* applyMove(const LatticeProtein* const todo, 00049 size_t moveIndex) = 0; 00050 00061 virtual LatticeProtein* applyMoveInPlace(LatticeProtein* const todo, 00062 size_t moveIndex) = 0; 00063 00065 virtual size_t getMoveNumber( const LatticeProtein* const lp) const = 0; 00066 00071 virtual LatticeProtein* undoLastMove(LatticeProtein* toUndo) = 0; 00072 }; 00073 00074 } // namespace biu 00075 00076 #include "LatticeMoveSet.icc" 00077 00078 #endif /*LATTICEMOVESET_H_*/