00001 // Copyright (C) 2003, International Business Machines 00002 // Corporation and others. All Rights Reserved. 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