LinearProblem.h

00001 
00007 #ifndef _LinearProblem_h
00008 #define _LinearProblem_h
00009 
00010 
00011 // SYSTEM INCLUDES
00012 //
00013 
00014 // PROJECT INCLUDES
00015 //
00016 //#include <newmat/newmat.h>
00017 
00018 // LOCAL INCLUDES
00019 //
00020 #include "Constraint.h"
00021 #include "ProblemBase.h"
00022 #include "LinearFunction.h"
00023 
00024 // FORWARD REFERENCES
00025 //
00026 
00027 
00028 class LinearProblem
00029     : public ProblemBase
00030 {
00031 public:
00032     friend class LinearProblemPanel;
00033 
00034 // LIFECYCLE
00035 
00036 //    /** Konstruktor.
00037 //     *
00038 //     * @param function Ciąg znaków reprezentujący wzór funkcji.
00039 //     * @throws ParseError Błąd parsowania.
00040 //     * @deprecated Patrz ProblemBase::SetFunction.
00041 //     */
00042 //    LinearProblem(const wxString& function);
00043 
00044 
00047     virtual ~LinearProblem(void);
00048 
00049 
00050 // OPERATORS
00051 // OPERATIONS
00052 
00055     virtual std::auto_ptr<ProblemBase>  Clone() const;
00056 
00059     virtual wxString                    ToString() const;
00060 
00061 // ACCESS
00062 
00063 //    /** Ustawia funkcję celu na podstawie reprezentacji tekstowej.
00064 //     *
00065 //     * @deprecated Należy używać SetFunction.
00066 //     */
00067 //    void        ParseFunction(const wxString& input);
00068 
00071     void        AddConstraint(const Constraint& Constraint);
00072 
00075     virtual const Constraint::Container& Constraints() const;
00076 
00077     const Constraint::Container  ConstraintsWithAxes() const;
00078 
00079 //    /** Zwraca referencję na listę ograniczeń.
00080 //     */ // TODO: może być niepotrzebne
00081 //    list<const Constraint*>&            rConstraints();
00082 
00085     virtual int                         ConstraintCount() const;
00086 
00089     virtual RowVector                   Coefficients() const;
00090 
00093     virtual const double                A0() const;
00094 
00097     virtual wxString                    Name() const;
00098 
00101     virtual ProblemIdType               Id() const;
00102 
00105     static ProblemIdType                ClassId();
00106 
00107 // INQUIRY
00108 
00109 protected:
00110 
00115     LinearProblem(bool doRegister = false);
00116 
00117 
00124     LinearProblem(const LinearProblem& from);
00125 
00126 
00127 private:
00128     Constraint::Container   mConstraints;   
00129 
00130     static const wxString   mName;          
00131     static LinearProblem    mLinearProblem; 
00132 };
00133 
00134 // INLINE METHODS
00135 //
00136 
00137 // EXTERNAL REFERENCES
00138 //
00139 
00140 #endif  // _LinearProblem_h_

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