diff options
Diffstat (limited to 'Project/Capacitor.h')
-rw-r--r-- | Project/Capacitor.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Project/Capacitor.h b/Project/Capacitor.h new file mode 100644 index 0000000..248ec6c --- /dev/null +++ b/Project/Capacitor.h @@ -0,0 +1,35 @@ +#ifndef CAPACITOR_H +#define CAPACITOR_H + +#include "Shunt.h" + +class ReactiveShuntElementForm; + +struct CapacitorElectricalData { + wxString name; + double reactivePower = 100.0; + ElectricalUnit reactivePowerUnit = UNIT_MVAr; +}; + +class Capacitor : public Shunt +{ + public: + Capacitor(); + Capacitor(wxString name); + ~Capacitor(); + + 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 bool ShowForm(wxWindow* parent, Element* element); + virtual CapacitorElectricalData GetElectricalData() { return m_electricalData; } + virtual CapacitorElectricalData GetPUElectricalData(double systemPowerBase); + virtual void SetElectricalData(CapacitorElectricalData electricalData) { m_electricalData = electricalData; } + protected: + CapacitorElectricalData m_electricalData; +}; + +#endif // CAPACITOR_H |