diff options
Diffstat (limited to 'Project/HarmCurrent.h')
-rw-r--r-- | Project/HarmCurrent.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Project/HarmCurrent.h b/Project/HarmCurrent.h new file mode 100644 index 0000000..c01f150 --- /dev/null +++ b/Project/HarmCurrent.h @@ -0,0 +1,51 @@ +#ifndef HARMCURRENT_H +#define HARMCURRENT_H + +#include "Shunt.h" + +class HarmCurrentForm; + +struct HarmCurrentElectricalData { + wxString name; + std::vector<int> harmonicOrder; + std::vector<double> injHarmCurrent; + std::vector<ElectricalUnit> injHarmCurrentUnit; + std::vector<double> injHarmAngle; +}; + +/** + * @class HarmCurrent + * @author Thales Lima Oliveira <thales@ufu.br> + * @date 22/04/2019 + * @brief Shunt Harmonic Corrent Source. + * @file HarmCurrent.h + */ +class HarmCurrent : public Shunt +{ + public: + HarmCurrent(); + HarmCurrent(wxString name); + ~HarmCurrent(); + + virtual Element* GetCopy(); + virtual bool AddParent(Element* parent, wxPoint2DDouble position); + virtual void Draw(wxPoint2DDouble translation, double scale) const; + virtual bool Contains(wxPoint2DDouble position) const; + virtual bool Intersects(wxRect2DDouble rect) const; + virtual void Rotate(bool clockwise = true); + virtual bool GetContextMenu(wxMenu& menu); + virtual wxString GetTipText() const; + virtual bool ShowForm(wxWindow* parent, Element* element); + virtual HarmCurrentElectricalData GetElectricalData() { return m_electricalData; } + virtual HarmCurrentElectricalData GetPUElectricalData(double systemPowerBase, double voltage); + virtual void SetElectricalData(HarmCurrentElectricalData electricalData) { m_electricalData = electricalData; } + + virtual rapidxml::xml_node<>* SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* elementListNode); + virtual bool OpenElement(rapidxml::xml_node<>* elementNode, std::vector<Element*> parentList); + + protected: + std::vector<wxPoint2DDouble> m_triangPts; + HarmCurrentElectricalData m_electricalData; +}; + +#endif // HARMCURRENT_H |