src/biu/PivotMoveSet.hh
Go to the documentation of this file.00001 #ifndef PIVOTMOVESET_HH_ 00002 #define PIVOTMOVESET_HH_ 00003 00004 00005 #include "LatticeMoveSet.hh" 00006 #include "LatticeProtein_Ipnt.hh" 00007 00008 namespace biu 00009 { 00017 class PivotMoveSet : public LatticeMoveSet 00018 { 00019 protected: 00020 00022 Move lastOverwrittenMove; 00024 size_t lastOverwritePos; 00026 LatticeProtein* lastChangedObject; 00027 00028 public: 00029 PivotMoveSet(const LatticeModel* lattice); 00030 00031 virtual ~PivotMoveSet(); 00032 00033 PivotMoveSet* clone(); 00034 00035 // abstract functions (LatticeMoveSet) 00048 virtual LatticeProtein* applyMove(const LatticeProtein* const toChange, 00049 size_t moveIndex) ; 00050 00063 virtual LatticeProtein* 00064 applyMoveInPlace(LatticeProtein* toChange, size_t moveIndex) ; 00065 00066 virtual size_t 00067 getMoveNumber( const LatticeProtein* const lp ) const; 00068 00069 virtual LatticeProtein* undoLastMove(LatticeProtein* toUndo); 00070 }; 00071 00072 } // namespace biu 00073 00074 #endif /*PIVOTMOVESET_HH_*/