00001
00002
00003 #ifndef MyMessageHandler_H
00004 #define MyMessageHandler_H
00005
00006 #include <deque>
00007
00008 #include "CoinPragma.hpp"
00009 #include <stdio.h>
00010 #include "CoinMessageHandler.hpp"
00011
00020 class ClpSimplex;
00021
00022
00023 typedef std::vector<double> StdVectorDouble;
00024
00025 class MyMessageHandler : public CoinMessageHandler {
00026
00027 public:
00030 virtual int print();
00032
00034
00035 const ClpSimplex * model() const;
00036 void setModel(ClpSimplex * model);
00038 const std::deque<StdVectorDouble> & getFeasibleExtremePoints() const;
00040 void clearFeasibleExtremePoints();
00042
00046 MyMessageHandler();
00048 MyMessageHandler(ClpSimplex * model,
00049 FILE * userPointer=NULL);
00051 virtual ~MyMessageHandler();
00053
00057 MyMessageHandler(const MyMessageHandler&);
00059 MyMessageHandler(const CoinMessageHandler&);
00060
00061 MyMessageHandler& operator=(const MyMessageHandler&);
00063 virtual CoinMessageHandler * clone() const ;
00065
00066
00067 protected:
00071
00072 ClpSimplex * model_;
00074 std::deque<StdVectorDouble> feasibleExtremePoints_;
00076 int iterationNumber_;
00078 };
00079
00080 #endif