From 19c800c4f843081420ae6241017e439e7b6da132 Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Sun, 21 Aug 2016 22:14:56 -0300 Subject: Line implementation almost finished --- Project/Workspace.h | 1 + 1 file changed, 1 insertion(+) (limited to 'Project/Workspace.h') diff --git a/Project/Workspace.h b/Project/Workspace.h index e240206..3f25130 100644 --- a/Project/Workspace.h +++ b/Project/Workspace.h @@ -19,6 +19,7 @@ enum WorkspaceMode MODE_EDIT = 0, MODE_MOVE_ELEMENT, MODE_MOVE_PICKBOX, + MODE_MOVE_NODE, MODE_DRAG, MODE_INSERT, MODE_SELECTION_RECT -- cgit From 06e57f5c75772dcba902e3032c756f79090f3424 Mon Sep 17 00:00:00 2001 From: Thales1330 Date: Mon, 29 Aug 2016 17:26:50 -0300 Subject: Delete implemented --- Project/Workspace.h | 1 + 1 file changed, 1 insertion(+) (limited to 'Project/Workspace.h') diff --git a/Project/Workspace.h b/Project/Workspace.h index 3f25130..d6e1803 100644 --- a/Project/Workspace.h +++ b/Project/Workspace.h @@ -36,6 +36,7 @@ class Workspace : public WorkspaceBase void SetName(wxString name) { m_name = name; } std::vector GetElementList() { return m_elementList; } void Redraw() { m_glCanvas->Refresh(); } + void DeleteElement(Element* element); protected: virtual void OnRightClickDown(wxMouseEvent& event); -- cgit From c478afa9fbef4b21ea85dbc266169b9eebf369a9 Mon Sep 17 00:00:00 2001 From: Thales1330 Date: Tue, 30 Aug 2016 17:30:54 -0300 Subject: Transformer --- Project/Workspace.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Project/Workspace.h') diff --git a/Project/Workspace.h b/Project/Workspace.h index d6e1803..8de169c 100644 --- a/Project/Workspace.h +++ b/Project/Workspace.h @@ -13,6 +13,7 @@ class Camera; class Element; class Bus; class Line; +class Transformer; enum WorkspaceMode { @@ -36,7 +37,6 @@ class Workspace : public WorkspaceBase void SetName(wxString name) { m_name = name; } std::vector GetElementList() { return m_elementList; } void Redraw() { m_glCanvas->Refresh(); } - void DeleteElement(Element* element); protected: virtual void OnRightClickDown(wxMouseEvent& event); -- cgit From b817a3f0e398c7e938ed1a37ebdbfc5a03eb7471 Mon Sep 17 00:00:00 2001 From: Thales1330 Date: Thu, 1 Sep 2016 18:23:35 -0300 Subject: generator under implementation --- Project/Workspace.h | 1 + 1 file changed, 1 insertion(+) (limited to 'Project/Workspace.h') diff --git a/Project/Workspace.h b/Project/Workspace.h index 8de169c..4dd1d05 100644 --- a/Project/Workspace.h +++ b/Project/Workspace.h @@ -14,6 +14,7 @@ class Element; class Bus; class Line; class Transformer; +class Generator; enum WorkspaceMode { -- cgit From 077270f0294d236c6047d850703c5d011cb4b711 Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Sat, 3 Sep 2016 01:10:18 -0300 Subject: Motor implementation done, elements classes reorganized --- Project/Workspace.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Project/Workspace.h') diff --git a/Project/Workspace.h b/Project/Workspace.h index 4dd1d05..2364487 100644 --- a/Project/Workspace.h +++ b/Project/Workspace.h @@ -14,7 +14,8 @@ class Element; class Bus; class Line; class Transformer; -class Generator; +class SyncGenerator; +class IndMotor; enum WorkspaceMode { -- cgit From 726686c9b378f3a727ded52226b13a760cba1e6c Mon Sep 17 00:00:00 2001 From: Thales1330 Date: Sat, 3 Sep 2016 17:09:24 -0300 Subject: Inductor under implementation Ind motor, sync condenser and load implemented --- Project/Workspace.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Project/Workspace.h') diff --git a/Project/Workspace.h b/Project/Workspace.h index 2364487..e285ab8 100644 --- a/Project/Workspace.h +++ b/Project/Workspace.h @@ -16,6 +16,8 @@ class Line; class Transformer; class SyncGenerator; class IndMotor; +class SyncMotor; +class Load; enum WorkspaceMode { -- cgit From c1aad656847602f7e4c7aead048f7465a76838d4 Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Sun, 4 Sep 2016 00:59:41 -0300 Subject: Inductor implemented --- Project/Workspace.h | 1 + 1 file changed, 1 insertion(+) (limited to 'Project/Workspace.h') diff --git a/Project/Workspace.h b/Project/Workspace.h index e285ab8..b506189 100644 --- a/Project/Workspace.h +++ b/Project/Workspace.h @@ -18,6 +18,7 @@ class SyncGenerator; class IndMotor; class SyncMotor; class Load; +class Inductor; enum WorkspaceMode { -- cgit From d93ef357da510f2515556ff2cb51688a4e068805 Mon Sep 17 00:00:00 2001 From: Thales1330 Date: Mon, 5 Sep 2016 18:43:50 -0300 Subject: All elements implemented, switches implemented --- Project/Workspace.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Project/Workspace.h') diff --git a/Project/Workspace.h b/Project/Workspace.h index b506189..7df1190 100644 --- a/Project/Workspace.h +++ b/Project/Workspace.h @@ -19,6 +19,7 @@ class IndMotor; class SyncMotor; class Load; class Inductor; +class Capacitor; enum WorkspaceMode { @@ -44,6 +45,7 @@ class Workspace : public WorkspaceBase void Redraw() { m_glCanvas->Refresh(); } protected: + virtual void OnLeftDoubleClick(wxMouseEvent& event); virtual void OnRightClickDown(wxMouseEvent& event); virtual void OnLeftClickUp(wxMouseEvent& event); virtual void OnScroll(wxMouseEvent& event); -- cgit From fb8a409d7e35735afc9d28bfc0d7b49974f0d3a2 Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Wed, 7 Sep 2016 23:52:26 -0300 Subject: Movementation and rotation fixed --- Project/Workspace.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'Project/Workspace.h') diff --git a/Project/Workspace.h b/Project/Workspace.h index 7df1190..d673976 100644 --- a/Project/Workspace.h +++ b/Project/Workspace.h @@ -40,9 +40,16 @@ class Workspace : public WorkspaceBase ~Workspace(); wxString GetName() const { return m_name; } - void SetName(wxString name) { m_name = name; } - std::vector GetElementList() { return m_elementList; } - void Redraw() { m_glCanvas->Refresh(); } + std::vector GetElementList() const { return m_elementList; } + WorkspaceMode GetWorkspaceMode() const { return m_mode; } + + void SetName(wxString name) { m_name = name; } + void SetElementList(std::vector elementList) { m_elementList = elementList; } + void SetStatusBarText(wxString text) { m_statusBar->SetStatusText(text); } + void SetWorkspaceMode(WorkspaceMode mode) { m_mode = mode; } + + void Redraw() { m_glCanvas->Refresh(); } + void RotateSelectedElements(bool clockwise = true); protected: virtual void OnLeftDoubleClick(wxMouseEvent& event); -- cgit From 122d124108384bb4579b6d96956b931d7221d3c1 Mon Sep 17 00:00:00 2001 From: Thales1330 Date: Thu, 8 Sep 2016 18:54:52 -0300 Subject: Fit implemented --- Project/Workspace.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'Project/Workspace.h') diff --git a/Project/Workspace.h b/Project/Workspace.h index d673976..5bea745 100644 --- a/Project/Workspace.h +++ b/Project/Workspace.h @@ -28,6 +28,7 @@ enum WorkspaceMode MODE_MOVE_PICKBOX, MODE_MOVE_NODE, MODE_DRAG, + MODE_DRAG_INSERT, MODE_INSERT, MODE_SELECTION_RECT }; @@ -42,6 +43,7 @@ class Workspace : public WorkspaceBase wxString GetName() const { return m_name; } std::vector GetElementList() const { return m_elementList; } WorkspaceMode GetWorkspaceMode() const { return m_mode; } + Camera* GetCamera() const { return m_camera; } void SetName(wxString name) { m_name = name; } void SetElementList(std::vector elementList) { m_elementList = elementList; } @@ -50,6 +52,8 @@ class Workspace : public WorkspaceBase void Redraw() { m_glCanvas->Refresh(); } void RotateSelectedElements(bool clockwise = true); + void DeleteSelectedElements(); + void Fit(); protected: virtual void OnLeftDoubleClick(wxMouseEvent& event); @@ -89,6 +93,7 @@ class Camera ~Camera(); void SetScale(wxPoint2DDouble screenPoint, double delta); + void SetScale(double scale) { m_scale = scale; } void SetTranslation(wxPoint2DDouble screenPoint); void StartTranslation(wxPoint2DDouble startPoint) { this->m_translationStartPt = startPoint; } void UpdateMousePosition(wxPoint2DDouble mousePosition) { this->m_mousePosition = mousePosition; } @@ -96,6 +101,8 @@ class Camera wxPoint2DDouble GetTranslation() const { return m_translation; } wxPoint2DDouble GetMousePosition(bool worldCoords = true) const; wxPoint2DDouble ScreenToWorld(wxPoint2DDouble screenCoords) const; + double GetZoomMin() const { return m_zoomMin; } + double GetZoomMax() const { return m_zoomMax; } protected: wxPoint2DDouble m_translation; @@ -103,6 +110,9 @@ class Camera double m_scale; wxPoint2DDouble m_mousePosition; + + double m_zoomMin = 0.05; + double m_zoomMax = 3.0; }; #endif // WORKSPACE_H -- cgit From 66fd00eda79d106d07617ebdeb90cdd46786e691 Mon Sep 17 00:00:00 2001 From: Thales1330 Date: Fri, 9 Sep 2016 17:01:27 -0300 Subject: Bus form under implementation --- Project/Workspace.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Project/Workspace.h') diff --git a/Project/Workspace.h b/Project/Workspace.h index 5bea745..60001b9 100644 --- a/Project/Workspace.h +++ b/Project/Workspace.h @@ -8,10 +8,11 @@ #include #include "WorkspaceBase.h" +#include "Bus.h" class Camera; class Element; -class Bus; +//class Bus; class Line; class Transformer; class SyncGenerator; -- cgit From 1088617b8f1c31af3ad6a87f9934f7a55240b3a2 Mon Sep 17 00:00:00 2001 From: Thales1330 Date: Mon, 12 Sep 2016 18:49:00 -0300 Subject: Bus form under implementation [2] --- Project/Workspace.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'Project/Workspace.h') diff --git a/Project/Workspace.h b/Project/Workspace.h index 60001b9..c5c0547 100644 --- a/Project/Workspace.h +++ b/Project/Workspace.h @@ -34,6 +34,22 @@ enum WorkspaceMode MODE_SELECTION_RECT }; +enum ElementID +{ + ID_BUS = 0, + ID_LINE, + ID_TRANSFORMER, + ID_SYNCGENERATOR, + ID_INDMOTOR, + ID_SYNCMOTOR, + ID_LOAD, + ID_CAPACITOR, + ID_INDUCTOR, + ID_TEXT, + + NUM_ELEMENTS +}; + class Workspace : public WorkspaceBase { public: @@ -55,6 +71,9 @@ class Workspace : public WorkspaceBase void RotateSelectedElements(bool clockwise = true); void DeleteSelectedElements(); void Fit(); + + int GetElementNumber(ElementID elementID) { return m_elementNumber[elementID]; } + void IncrementElementNumber(ElementID elementID) { m_elementNumber[elementID]++; } protected: virtual void OnLeftDoubleClick(wxMouseEvent& event); @@ -79,6 +98,8 @@ class Workspace : public WorkspaceBase WorkspaceMode m_mode = MODE_EDIT; std::vector m_elementList; + //int m_numElements = NUM_ELEMENTS; + int m_elementNumber[NUM_ELEMENTS]; void UpdateStatusBar(); -- cgit From f6718ac24553ac99bf90f99a33543d6d6b96999b Mon Sep 17 00:00:00 2001 From: Thales1330 Date: Fri, 30 Sep 2016 16:58:37 -0300 Subject: Line form implemented, voltages corrections under implementation --- Project/Workspace.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'Project/Workspace.h') diff --git a/Project/Workspace.h b/Project/Workspace.h index c5c0547..a4c84d8 100644 --- a/Project/Workspace.h +++ b/Project/Workspace.h @@ -72,6 +72,9 @@ class Workspace : public WorkspaceBase void DeleteSelectedElements(); void Fit(); + void ValidateBusesVoltages(Element* initialBus); + void ValidateElementsVoltages(); + int GetElementNumber(ElementID elementID) { return m_elementNumber[elementID]; } void IncrementElementNumber(ElementID elementID) { m_elementNumber[elementID]++; } @@ -98,7 +101,6 @@ class Workspace : public WorkspaceBase WorkspaceMode m_mode = MODE_EDIT; std::vector m_elementList; - //int m_numElements = NUM_ELEMENTS; int m_elementNumber[NUM_ELEMENTS]; void UpdateStatusBar(); -- cgit From b306118b2683cf6f264b5f1617c3e0e62a6c9042 Mon Sep 17 00:00:00 2001 From: Thales1330 Date: Tue, 1 Nov 2016 19:36:24 -0200 Subject: Power flow (gs) under implementation --- Project/Workspace.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Project/Workspace.h') diff --git a/Project/Workspace.h b/Project/Workspace.h index a4c84d8..310bcbe 100644 --- a/Project/Workspace.h +++ b/Project/Workspace.h @@ -22,6 +22,8 @@ class Load; class Inductor; class Capacitor; +class PowerFlow; + enum WorkspaceMode { MODE_EDIT = 0, @@ -77,6 +79,8 @@ class Workspace : public WorkspaceBase int GetElementNumber(ElementID elementID) { return m_elementNumber[elementID]; } void IncrementElementNumber(ElementID elementID) { m_elementNumber[elementID]++; } + + bool RunPowerFlow(); protected: virtual void OnLeftDoubleClick(wxMouseEvent& event); -- cgit From 8e79aff80e56adbdcfd6a9be5a873c6bb4b1020a Mon Sep 17 00:00:00 2001 From: Thales1330 Date: Wed, 23 Nov 2016 17:08:20 -0200 Subject: Text under implementation --- Project/Workspace.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'Project/Workspace.h') diff --git a/Project/Workspace.h b/Project/Workspace.h index 310bcbe..93ea070 100644 --- a/Project/Workspace.h +++ b/Project/Workspace.h @@ -22,6 +22,8 @@ class Load; class Inductor; class Capacitor; +class Text; + class PowerFlow; enum WorkspaceMode @@ -33,6 +35,7 @@ enum WorkspaceMode MODE_DRAG, MODE_DRAG_INSERT, MODE_INSERT, + MODE_INSERT_TEXT, MODE_SELECTION_RECT }; @@ -106,6 +109,8 @@ class Workspace : public WorkspaceBase std::vector m_elementList; int m_elementNumber[NUM_ELEMENTS]; + + std::vector m_textList; void UpdateStatusBar(); -- cgit From 6b9054f1bb28b4ac1b0a7b682204baa0e2643220 Mon Sep 17 00:00:00 2001 From: Thales1330 Date: Tue, 29 Nov 2016 18:27:32 -0200 Subject: Text form under implementation --- Project/Workspace.h | 1 + 1 file changed, 1 insertion(+) (limited to 'Project/Workspace.h') diff --git a/Project/Workspace.h b/Project/Workspace.h index 93ea070..b4d1e54 100644 --- a/Project/Workspace.h +++ b/Project/Workspace.h @@ -34,6 +34,7 @@ enum WorkspaceMode MODE_MOVE_NODE, MODE_DRAG, MODE_DRAG_INSERT, + MODE_DRAG_INSERT_TEXT, MODE_INSERT, MODE_INSERT_TEXT, MODE_SELECTION_RECT -- cgit