00001 //Edwin 11/25/09 carved out of CbcCutGenerator 00002 #ifndef CbcCutModifier_H 00003 #define CbcCutModifier_H 00004 00005 #include "OsiSolverInterface.hpp" 00006 #include "OsiCuts.hpp" 00007 #include "CglCutGenerator.hpp" 00008 00009 class CbcModel; 00010 class OsiRowCut; 00011 class OsiRowCutDebugger; 00021 class CbcCutModifier { 00022 public: 00024 CbcCutModifier (); 00025 00026 // Copy constructor 00027 CbcCutModifier ( const CbcCutModifier &); 00028 00030 virtual ~CbcCutModifier(); 00031 00033 CbcCutModifier & operator=(const CbcCutModifier& rhs); 00035 virtual CbcCutModifier * clone() const = 0; 00036 00043 virtual int modify(const OsiSolverInterface * solver, OsiRowCut & cut) = 0; 00045 virtual void generateCpp( FILE * ) {} 00046 protected: 00047 00048 }; 00049 00050 #endif //CbcCutModifier_H 00051