00001
00006 #ifndef _SimplexLayer_h
00007 #define _SimplexLayer_h
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "XyConstraintsLayer.h"
00018 #include "XyResultLayer.h"
00019
00020
00021
00022
00023
00024 class SimplexLayer
00025 : public XyResultLayer
00026 {
00027 public:
00028
00029
00032 SimplexLayer(
00033 const PlotControl& plotControl,
00034 const Result& result,
00035 CountedPtr<PlotLayer> cpFunctionLayer,
00036 std::auto_ptr<XyConstraintsLayer> apConstraintsLayer);
00037
00040 SimplexLayer(const SimplexLayer& from);
00041
00044 ~SimplexLayer(void);
00045
00046
00047
00048
00049 virtual void Draw(wxDC& dc) const;
00050
00051 virtual vector<ToolbarTool> CreateTools(PlotControl* pPlotControl);
00052
00055 static std::auto_ptr<ResultLayer> Create(
00056 const PlotControl& plotControl,
00057 const Result& result,
00058 CountedPtr<PlotLayer> cpFunctionLayer);
00059
00060
00061
00062 virtual Region IterationBoundingBox(unsigned iterationNumber) const;
00063
00064
00065
00066 protected:
00067 private:
00068
00069 void DrawIteration(wxDC& dc,
00070 unsigned iterationNumber,
00071 bool highlight) const;
00072
00073 CountedPtr<XyConstraintsLayer> mcpConstraintsLayer;
00074
00075 const static void* mRegistrationDummy;
00076 };
00077
00078
00079
00080
00081
00082
00083
00084 #endif // _SimplexLayer_h