UniformDivision.h

00001 
00047 #ifndef _UniformDivision_h
00048 #define _UniformDivision_h
00049 
00050 // SYSTEM INCLUDES
00051 //
00052 
00053 // PROJECT INCLUDES
00054 //
00055 
00056 // LOCAL INCLUDES
00057 //
00058 #include "../DoubleParameter.h"
00059 #include "../ProblemBase.h"
00060 #include "../SectionLineSearch.h"
00061 #include "../UnivariateFunction.h"
00062 
00063 // FORWARD REFERENCES
00064 //
00065 
00066 
00067 class UniformDivision
00068     : public SectionLineSearch
00069 {
00070 public:
00071 
00072     friend class UniformDivisionPanel;
00073 
00074 // LIFECYCLE
00075 
00076 
00079     ~UniformDivision(void);
00080 
00081 
00082 // OPERATORS
00083 
00084 // OPERATIONS
00085 
00088     virtual std::auto_ptr<Method>       Clone() const;
00089 
00090 // ACCESS
00091 
00094     virtual const wxString&         Name() const;
00095 
00098     virtual MethodIdType            Id() const;
00099 
00102     static MethodIdType             ClassId();
00103 
00104 // INQUIRY
00105 
00106     virtual bool                    CanHandle(const ProblemBase* problem) const;
00107 
00108 protected:
00109 
00112     UniformDivision(void);
00113 
00118     UniformDivision(const UniformDivision& from);
00119 
00120     virtual wxString&               rName();
00121 private:
00122 
00123     virtual std::auto_ptr<Result>   Solve(
00124                                       const UnivariateFunction& function,
00125                                       double                    a,
00126                                       double                    b,
00127                                       bool                      generateResult)
00128                           const throw(OptimizationError);
00129 
00130     static wxString      mName;                   
00131     static UniformDivision mUniformDivision;    
00132 };
00133 
00134 // INLINE METHODS
00135 //
00136 
00137 // EXTERNAL REFERENCES
00138 //
00139 
00140 #endif  // _UniformDivision_h_

Wygenerowano Fri Sep 29 21:04:48 2006 dla EduOptim2 programem  doxygen 1.4.6