From 9fb33a91aa22fbce6d0b74529e07af9f7781b916 Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Mon, 8 May 2017 21:43:17 -0300 Subject: Secondary branch, TF and limiter solution much work, such results --- Project/TransferFunction.h | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) (limited to 'Project/TransferFunction.h') diff --git a/Project/TransferFunction.h b/Project/TransferFunction.h index 45681ce..38e31bb 100644 --- a/Project/TransferFunction.h +++ b/Project/TransferFunction.h @@ -10,7 +10,14 @@ class TransferFunctionForm; class TransferFunction : public ControlElement { -public: + public: + struct SpaceState { + std::vector > A; + std::vector B; + std::vector C; + double D; + }; + TransferFunction(int id); ~TransferFunction(); @@ -19,25 +26,35 @@ public: virtual bool Intersects(wxRect2DDouble rect) const { return m_rect.Intersects(rect); } virtual bool ShowForm(wxWindow* parent, Element* element); virtual void Rotate(bool clockwise = true); - + virtual std::vector GetNumerator() const { return m_numerator; } virtual std::vector GetDenominator() const { return m_denominator; } virtual void SetNumerator(std::vector numerator) { m_numerator = numerator; } virtual void SetDenominator(std::vector denominator) { m_denominator = denominator; } virtual void UpdateTFText(); - -protected: + virtual SpaceState GetSpaceState() { return m_ss; } + virtual void CalculateSpaceState(double timeStep = 1e-3, double error = 1e-3); + virtual bool Solve(double input); + + protected: virtual void SetText(wxString numerator, wxString denominator); virtual wxString GetSuperscriptNumber(int number); virtual void GetTFString(wxString& numerator, wxString& denominator); - + wchar_t m_supNumber[10]; - + wxGLString* m_glStringNum = NULL; wxGLString* m_glStringDen = NULL; int m_fontSize = 10; + std::vector m_numerator; std::vector m_denominator; + SpaceState m_ss; + + std::vector m_x; + std::vector m_dx; + double m_timeStep = 1e-3; + double m_error = 1e-3; }; -#endif // TRANSFERFUNCTION_H +#endif // TRANSFERFUNCTION_H -- cgit