diff options
25 files changed, 485 insertions, 48 deletions
diff --git a/.codelite/.tern-port b/.codelite/.tern-port index 980fde0..924dff0 100644 --- a/.codelite/.tern-port +++ b/.codelite/.tern-port @@ -1 +1 @@ -50602
\ No newline at end of file +56010
\ No newline at end of file diff --git a/.codelite/PSP.session b/.codelite/PSP.session index 7fdc807..09a0efc 100644 --- a/.codelite/PSP.session +++ b/.codelite/PSP.session @@ -1,26 +1,26 @@ <?xml version="1.0" encoding="UTF-8"?> <Session Name="C:\Users\Thales\Documents\GitHub\PSP\PSP.workspace"> - <int Value="2" Name="m_selectedTab"/> + <int Value="9" Name="m_selectedTab"/> <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\PSP.workspace" Name="m_workspaceName"/> <TabInfoArray Name="TabInfoArray"> <TabInfo> <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Workspace.cpp" Name="FileName"/> - <int Value="207" Name="FirstVisibleLine"/> - <int Value="219" Name="CurrentLine"/> + <int Value="565" Name="FirstVisibleLine"/> + <int Value="585" Name="CurrentLine"/> <wxArrayString Name="Bookmarks"/> <IntVector Name="CollapsedFolds"/> </TabInfo> <TabInfo> <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Workspace.h" Name="FileName"/> - <int Value="24" Name="FirstVisibleLine"/> + <int Value="27" Name="FirstVisibleLine"/> <int Value="38" Name="CurrentLine"/> <wxArrayString Name="Bookmarks"/> <IntVector Name="CollapsedFolds"/> </TabInfo> <TabInfo> <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Bus.cpp" Name="FileName"/> - <int Value="190" Name="FirstVisibleLine"/> - <int Value="207" Name="CurrentLine"/> + <int Value="196" Name="FirstVisibleLine"/> + <int Value="227" Name="CurrentLine"/> <wxArrayString Name="Bookmarks"/> <IntVector Name="CollapsedFolds"/> </TabInfo> @@ -33,43 +33,43 @@ </TabInfo> <TabInfo> <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Element.cpp" Name="FileName"/> - <int Value="55" Name="FirstVisibleLine"/> - <int Value="76" Name="CurrentLine"/> + <int Value="82" Name="FirstVisibleLine"/> + <int Value="98" Name="CurrentLine"/> <wxArrayString Name="Bookmarks"/> <IntVector Name="CollapsedFolds"/> </TabInfo> <TabInfo> <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Element.h" Name="FileName"/> - <int Value="0" Name="FirstVisibleLine"/> - <int Value="28" Name="CurrentLine"/> + <int Value="48" Name="FirstVisibleLine"/> + <int Value="60" Name="CurrentLine"/> <wxArrayString Name="Bookmarks"/> <IntVector Name="CollapsedFolds"/> </TabInfo> <TabInfo> <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Line.h" Name="FileName"/> - <int Value="3" Name="FirstVisibleLine"/> - <int Value="19" Name="CurrentLine"/> + <int Value="0" Name="FirstVisibleLine"/> + <int Value="1" Name="CurrentLine"/> <wxArrayString Name="Bookmarks"/> <IntVector Name="CollapsedFolds"/> </TabInfo> <TabInfo> <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Line.cpp" Name="FileName"/> - <int Value="269" Name="FirstVisibleLine"/> - <int Value="286" Name="CurrentLine"/> + <int Value="12" Name="FirstVisibleLine"/> + <int Value="31" Name="CurrentLine"/> <wxArrayString Name="Bookmarks"/> <IntVector Name="CollapsedFolds"/> </TabInfo> <TabInfo> - <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\MainFrame.cpp" Name="FileName"/> - <int Value="161" Name="FirstVisibleLine"/> - <int Value="0" Name="CurrentLine"/> + <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Transformer.h" Name="FileName"/> + <int Value="0" Name="FirstVisibleLine"/> + <int Value="5" Name="CurrentLine"/> <wxArrayString Name="Bookmarks"/> <IntVector Name="CollapsedFolds"/> </TabInfo> <TabInfo> - <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\MainFrame.h" Name="FileName"/> - <int Value="0" Name="FirstVisibleLine"/> - <int Value="0" Name="CurrentLine"/> + <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Transformer.cpp" Name="FileName"/> + <int Value="30" Name="FirstVisibleLine"/> + <int Value="45" Name="CurrentLine"/> <wxArrayString Name="Bookmarks"/> <IntVector Name="CollapsedFolds"/> </TabInfo> diff --git a/.codelite/PSP.tags b/.codelite/PSP.tags Binary files differindex 08ab4a5..0bc3c5b 100644 --- a/.codelite/PSP.tags +++ b/.codelite/PSP.tags diff --git a/.codelite/compilation.db b/.codelite/compilation.db Binary files differindex a974fb2..7850ee5 100644 --- a/.codelite/compilation.db +++ b/.codelite/compilation.db diff --git a/.codelite/compile_commands.json b/.codelite/compile_commands.json index f71231e..7fd0c63 100644 --- a/.codelite/compile_commands.json +++ b/.codelite/compile_commands.json @@ -1,17 +1,9 @@ [{ "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project", - "command": "C:/TDM-GCC-64/bin/g++.exe -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 -DNDEBUG -DUNICODE -I. -I. -MG -MP -MT./Release/Bus.cpp.o -MF./Release/Bus.cpp.o.d -MM Bus.cpp", - "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Bus.cpp" + "command": "C:/TDM-GCC-64/bin/g++.exe -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 -DNDEBUG -DUNICODE -I. -I. -MG -MP -MT./Release/Transformer.cpp.o -MF./Release/Transformer.cpp.o.d -MM Transformer.cpp", + "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Transformer.cpp" }, { "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project", - "command": "C:/TDM-GCC-64/bin/g++.exe -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 -DNDEBUG -DUNICODE -I. -I. -MG -MP -MT./Release/Line.cpp.o -MF./Release/Line.cpp.o.d -MM Line.cpp", - "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Line.cpp" - }, { - "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project", - "command": "C:/TDM-GCC-64/bin/g++.exe -c C:/Users/Thales/Documents/GitHub/PSP/Project/Bus.cpp -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 -DNDEBUG -DUNICODE -o ./Release/Bus.cpp.o -I. -I.", - "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Bus.cpp" - }, { - "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project", - "command": "C:/TDM-GCC-64/bin/g++.exe -c C:/Users/Thales/Documents/GitHub/PSP/Project/Line.cpp -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 -DNDEBUG -DUNICODE -o ./Release/Line.cpp.o -I. -I.", - "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Line.cpp" + "command": "C:/TDM-GCC-64/bin/g++.exe -c C:/Users/Thales/Documents/GitHub/PSP/Project/Transformer.cpp -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 -DNDEBUG -DUNICODE -o ./Release/Transformer.cpp.o -I. -I.", + "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Transformer.cpp" }]
\ No newline at end of file diff --git a/.codelite/refactoring.db b/.codelite/refactoring.db Binary files differindex 38f07df..48fa5d9 100644 --- a/.codelite/refactoring.db +++ b/.codelite/refactoring.db diff --git a/Project/Bus.cpp b/Project/Bus.cpp index b2f1ff1..9484328 100644 --- a/Project/Bus.cpp +++ b/Project/Bus.cpp @@ -225,6 +225,6 @@ bool Bus::GetContextMenu(wxMenu& menu) { menu.Append(ID_EDIT_BUS, _("Edit bus")); menu.Append(ID_ROTATE, _("Rotate")); - menu.Append(ID_DELETE, _("Delete bus")); + menu.Append(ID_DELETE, _("Delete")); return true; } diff --git a/Project/Element.h b/Project/Element.h index ec7496a..e4f2116 100644 --- a/Project/Element.h +++ b/Project/Element.h @@ -59,9 +59,6 @@ class Element virtual void Rotate() = 0; virtual bool Contains(wxPoint2DDouble position) const = 0; virtual bool Intersects(wxRect2DDouble rect) const = 0; - virtual bool PickboxContains(wxPoint2DDouble position) = 0; - virtual void MovePickbox(wxPoint2DDouble position) = 0; - virtual wxCursor GetBestPickboxCursor() const = 0; // General methods virtual bool GetContextMenu(wxMenu& menu) { return false; } @@ -77,6 +74,9 @@ class Element virtual wxPoint2DDouble GetSwitchPoint(Element* parent, wxPoint2DDouble parentPoint, wxPoint2DDouble secondPoint) const; + virtual bool PickboxContains(wxPoint2DDouble position) { return false;} + virtual void MovePickbox(wxPoint2DDouble position) {} + virtual wxCursor GetBestPickboxCursor() const {return wxCURSOR_ARROW;} virtual void ResetPickboxes() { m_activePickboxID = ID_PB_NONE; } virtual void ResetNodes() { m_activeNodeID= 0; } virtual wxPoint2DDouble WorldToScreen(wxPoint2DDouble translation, diff --git a/Project/Line.cpp b/Project/Line.cpp index 6c5457e..26be112 100644 --- a/Project/Line.cpp +++ b/Project/Line.cpp @@ -284,7 +284,7 @@ bool Line::GetContextMenu(wxMenu& menu) { menu.Append(ID_LINE_REMOVE_NODE, _("Remove node")); } - menu.Append(ID_DELETE, _("Delete line")); + menu.Append(ID_DELETE, _("Delete")); return true; } diff --git a/Project/Line.h b/Project/Line.h index 983293a..32ebdf8 100644 --- a/Project/Line.h +++ b/Project/Line.h @@ -1,8 +1,6 @@ #ifndef LINE_H #define LINE_H -#include <wx/msgdlg.h> - #include "Element.h" class Line : public Element diff --git a/Project/Project.mk b/Project/Project.mk index e221228..c2f3fd1 100644 --- a/Project/Project.mk +++ b/Project/Project.mk @@ -13,7 +13,7 @@ CurrentFileName := CurrentFilePath := CurrentFileFullPath := User :=Thales -Date :=29/08/2016 +Date :=30/08/2016 CodeLitePath :="C:/Program Files/CodeLite" LinkerName :=C:/TDM-GCC-64/bin/g++.exe SharedObjectLinkerName :=C:/TDM-GCC-64/bin/g++.exe -shared -fPIC @@ -64,8 +64,8 @@ AS := C:/TDM-GCC-64/bin/as.exe CodeLiteDir:=C:\Program Files\CodeLite WXWIN:=C:\wxWidgets-3.1.0 WXCFG:=gcc_dll\mswu -Objects0=$(IntermediateDirectory)/main.cpp$(ObjectSuffix) $(IntermediateDirectory)/win_resources.rc$(ObjectSuffix) $(IntermediateDirectory)/Element.cpp$(ObjectSuffix) $(IntermediateDirectory)/Bus.cpp$(ObjectSuffix) $(IntermediateDirectory)/Line.cpp$(ObjectSuffix) $(IntermediateDirectory)/ArtMetro.cpp$(ObjectSuffix) $(IntermediateDirectory)/MainFrame.cpp$(ObjectSuffix) $(IntermediateDirectory)/Workspace.cpp$(ObjectSuffix) $(IntermediateDirectory)/MainFrameBitmaps.cpp$(ObjectSuffix) $(IntermediateDirectory)/WorkspaceBitmaps.cpp$(ObjectSuffix) \ - $(IntermediateDirectory)/MainFrameBase.cpp$(ObjectSuffix) $(IntermediateDirectory)/WorkspaceBase.cpp$(ObjectSuffix) +Objects0=$(IntermediateDirectory)/main.cpp$(ObjectSuffix) $(IntermediateDirectory)/win_resources.rc$(ObjectSuffix) $(IntermediateDirectory)/Element.cpp$(ObjectSuffix) $(IntermediateDirectory)/Bus.cpp$(ObjectSuffix) $(IntermediateDirectory)/Line.cpp$(ObjectSuffix) $(IntermediateDirectory)/Transformer.cpp$(ObjectSuffix) $(IntermediateDirectory)/ArtMetro.cpp$(ObjectSuffix) $(IntermediateDirectory)/MainFrame.cpp$(ObjectSuffix) $(IntermediateDirectory)/Workspace.cpp$(ObjectSuffix) $(IntermediateDirectory)/MainFrameBitmaps.cpp$(ObjectSuffix) \ + $(IntermediateDirectory)/WorkspaceBitmaps.cpp$(ObjectSuffix) $(IntermediateDirectory)/MainFrameBase.cpp$(ObjectSuffix) $(IntermediateDirectory)/WorkspaceBase.cpp$(ObjectSuffix) @@ -130,6 +130,14 @@ $(IntermediateDirectory)/Line.cpp$(DependSuffix): Line.cpp $(IntermediateDirectory)/Line.cpp$(PreprocessSuffix): Line.cpp $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/Line.cpp$(PreprocessSuffix)Line.cpp +$(IntermediateDirectory)/Transformer.cpp$(ObjectSuffix): Transformer.cpp $(IntermediateDirectory)/Transformer.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "C:/Users/Thales/Documents/GitHub/PSP/Project/Transformer.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/Transformer.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/Transformer.cpp$(DependSuffix): Transformer.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/Transformer.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/Transformer.cpp$(DependSuffix) -MM Transformer.cpp + +$(IntermediateDirectory)/Transformer.cpp$(PreprocessSuffix): Transformer.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/Transformer.cpp$(PreprocessSuffix)Transformer.cpp + $(IntermediateDirectory)/ArtMetro.cpp$(ObjectSuffix): ArtMetro.cpp $(IntermediateDirectory)/ArtMetro.cpp$(DependSuffix) $(CXX) $(IncludePCH) $(SourceSwitch) "C:/Users/Thales/Documents/GitHub/PSP/Project/ArtMetro.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/ArtMetro.cpp$(ObjectSuffix) $(IncludePath) $(IntermediateDirectory)/ArtMetro.cpp$(DependSuffix): ArtMetro.cpp diff --git a/Project/Project.project b/Project/Project.project index c6aebe1..b249ab7 100644 --- a/Project/Project.project +++ b/Project/Project.project @@ -12,6 +12,7 @@ <File Name="Element.cpp"/> <File Name="Bus.cpp"/> <File Name="Line.cpp"/> + <File Name="Transformer.cpp"/> </VirtualDirectory> <VirtualDirectory Name="view"> <File Name="ArtMetro.cpp"/> @@ -27,6 +28,7 @@ <File Name="Element.h"/> <File Name="Bus.h"/> <File Name="Line.h"/> + <File Name="Transformer.h"/> </VirtualDirectory> <VirtualDirectory Name="view"> <File Name="ArtMetro.h"/> diff --git a/Project/Project.txt b/Project/Project.txt index 62d31e1..23dad48 100644 --- a/Project/Project.txt +++ b/Project/Project.txt @@ -1 +1 @@ -./Release/main.cpp.o ./Release/win_resources.rc.o ./Release/Element.cpp.o ./Release/Bus.cpp.o ./Release/Line.cpp.o ./Release/ArtMetro.cpp.o ./Release/MainFrame.cpp.o ./Release/Workspace.cpp.o ./Release/MainFrameBitmaps.cpp.o ./Release/WorkspaceBitmaps.cpp.o ./Release/MainFrameBase.cpp.o ./Release/WorkspaceBase.cpp.o +./Release/main.cpp.o ./Release/win_resources.rc.o ./Release/Element.cpp.o ./Release/Bus.cpp.o ./Release/Line.cpp.o ./Release/Transformer.cpp.o ./Release/ArtMetro.cpp.o ./Release/MainFrame.cpp.o ./Release/Workspace.cpp.o ./Release/MainFrameBitmaps.cpp.o ./Release/WorkspaceBitmaps.cpp.o ./Release/MainFrameBase.cpp.o ./Release/WorkspaceBase.cpp.o diff --git a/Project/Release/Bus.cpp.o b/Project/Release/Bus.cpp.o Binary files differindex 8774df4..281584b 100644 --- a/Project/Release/Bus.cpp.o +++ b/Project/Release/Bus.cpp.o diff --git a/Project/Release/Element.cpp.o b/Project/Release/Element.cpp.o Binary files differindex 9080983..1fb0803 100644 --- a/Project/Release/Element.cpp.o +++ b/Project/Release/Element.cpp.o diff --git a/Project/Release/Line.cpp.o b/Project/Release/Line.cpp.o Binary files differindex 80137cf..8bb6364 100644 --- a/Project/Release/Line.cpp.o +++ b/Project/Release/Line.cpp.o diff --git a/Project/Release/PSP-UFU.exe b/Project/Release/PSP-UFU.exe Binary files differindex 2790ce1..3f9e388 100644 --- a/Project/Release/PSP-UFU.exe +++ b/Project/Release/PSP-UFU.exe diff --git a/Project/Release/Transformer.cpp.o b/Project/Release/Transformer.cpp.o Binary files differnew file mode 100644 index 0000000..e57ba06 --- /dev/null +++ b/Project/Release/Transformer.cpp.o diff --git a/Project/Release/Transformer.cpp.o.d b/Project/Release/Transformer.cpp.o.d new file mode 100644 index 0000000..53972d6 --- /dev/null +++ b/Project/Release/Transformer.cpp.o.d @@ -0,0 +1,337 @@ +Release/Transformer.cpp.o: Transformer.cpp Transformer.h Element.h \ + C:/wxWidgets-3.1.0/include/wx/geometry.h \ + C:/wxWidgets-3.1.0/include/wx/defs.h \ + C:/wxWidgets-3.1.0/include/wx/platform.h \ + C:/wxWidgets-3.1.0/include/wx/compiler.h \ + C:/wxWidgets-3.1.0/lib/gcc_dll/mswu/wx/setup.h \ + C:/wxWidgets-3.1.0/include/wx/msw/libraries.h \ + C:/wxWidgets-3.1.0/include/wx/msw/gccpriv.h \ + C:/wxWidgets-3.1.0/include/wx/chkconf.h \ + C:/wxWidgets-3.1.0/include/wx/msw/chkconf.h \ + C:/wxWidgets-3.1.0/include/wx/version.h \ + C:/wxWidgets-3.1.0/include/wx/cpp.h \ + C:/wxWidgets-3.1.0/include/wx/dlimpexp.h \ + C:/wxWidgets-3.1.0/include/wx/debug.h \ + C:/wxWidgets-3.1.0/include/wx/chartype.h \ + C:/wxWidgets-3.1.0/include/wx/windowid.h \ + C:/wxWidgets-3.1.0/include/wx/msw/winundef.h \ + C:/wxWidgets-3.1.0/include/wx/features.h \ + C:/wxWidgets-3.1.0/include/wx/utils.h \ + C:/wxWidgets-3.1.0/include/wx/object.h \ + C:/wxWidgets-3.1.0/include/wx/memory.h \ + C:/wxWidgets-3.1.0/include/wx/string.h \ + C:/wxWidgets-3.1.0/include/wx/wxcrtbase.h \ + C:/wxWidgets-3.1.0/include/wx/strvararg.h \ + C:/wxWidgets-3.1.0/include/wx/strconv.h \ + C:/wxWidgets-3.1.0/include/wx/buffer.h \ + C:/wxWidgets-3.1.0/include/wx/fontenc.h \ + C:/wxWidgets-3.1.0/include/wx/unichar.h \ + C:/wxWidgets-3.1.0/include/wx/stringimpl.h \ + C:/wxWidgets-3.1.0/include/wx/beforestd.h \ + C:/wxWidgets-3.1.0/include/wx/afterstd.h \ + C:/wxWidgets-3.1.0/include/wx/stringops.h \ + C:/wxWidgets-3.1.0/include/wx/iosfwrap.h \ + C:/wxWidgets-3.1.0/include/wx/msgout.h \ + C:/wxWidgets-3.1.0/include/wx/xti.h C:/wxWidgets-3.1.0/include/wx/rtti.h \ + C:/wxWidgets-3.1.0/include/wx/flags.h \ + C:/wxWidgets-3.1.0/include/wx/xti2.h \ + C:/wxWidgets-3.1.0/include/wx/list.h \ + C:/wxWidgets-3.1.0/include/wx/vector.h \ + C:/wxWidgets-3.1.0/include/wx/scopeguard.h \ + C:/wxWidgets-3.1.0/include/wx/except.h \ + C:/wxWidgets-3.1.0/include/wx/meta/movable.h \ + C:/wxWidgets-3.1.0/include/wx/meta/pod.h \ + C:/wxWidgets-3.1.0/include/wx/meta/if.h \ + C:/wxWidgets-3.1.0/include/wx/filefn.h \ + C:/wxWidgets-3.1.0/include/wx/arrstr.h \ + C:/wxWidgets-3.1.0/include/wx/hashmap.h \ + C:/wxWidgets-3.1.0/include/wx/wxcrt.h \ + C:/wxWidgets-3.1.0/include/wx/versioninfo.h \ + C:/wxWidgets-3.1.0/include/wx/meta/implicitconversion.h \ + C:/wxWidgets-3.1.0/include/wx/gdicmn.h \ + C:/wxWidgets-3.1.0/include/wx/math.h \ + C:/wxWidgets-3.1.0/include/wx/mousestate.h \ + C:/wxWidgets-3.1.0/include/wx/kbdstate.h \ + C:/wxWidgets-3.1.0/include/wx/longlong.h \ + C:/wxWidgets-3.1.0/include/wx/platinfo.h \ + C:/wxWidgets-3.1.0/include/wx/cursor.h \ + C:/wxWidgets-3.1.0/include/wx/gdiobj.h \ + C:/wxWidgets-3.1.0/include/wx/msw/gdiimage.h \ + C:/wxWidgets-3.1.0/include/wx/msw/cursor.h \ + C:/wxWidgets-3.1.0/include/wx/menu.h \ + C:/wxWidgets-3.1.0/include/wx/window.h \ + C:/wxWidgets-3.1.0/include/wx/event.h \ + C:/wxWidgets-3.1.0/include/wx/clntdata.h \ + C:/wxWidgets-3.1.0/include/wx/dynarray.h \ + C:/wxWidgets-3.1.0/include/wx/thread.h \ + C:/wxWidgets-3.1.0/include/wx/tracker.h \ + C:/wxWidgets-3.1.0/include/wx/typeinfo.h \ + C:/wxWidgets-3.1.0/include/wx/any.h \ + C:/wxWidgets-3.1.0/include/wx/datetime.h \ + C:/wxWidgets-3.1.0/include/wx/anystr.h \ + C:/wxWidgets-3.1.0/include/wx/variant.h \ + C:/wxWidgets-3.1.0/include/wx/meta/convertible.h \ + C:/wxWidgets-3.1.0/include/wx/meta/removeref.h \ + C:/wxWidgets-3.1.0/include/wx/font.h \ + C:/wxWidgets-3.1.0/include/wx/msw/font.h \ + C:/wxWidgets-3.1.0/include/wx/colour.h \ + C:/wxWidgets-3.1.0/include/wx/msw/colour.h \ + C:/wxWidgets-3.1.0/include/wx/region.h \ + C:/wxWidgets-3.1.0/include/wx/msw/region.h \ + C:/wxWidgets-3.1.0/include/wx/intl.h \ + C:/wxWidgets-3.1.0/include/wx/translation.h \ + C:/wxWidgets-3.1.0/include/wx/language.h \ + C:/wxWidgets-3.1.0/include/wx/scopedptr.h \ + C:/wxWidgets-3.1.0/include/wx/checkeddelete.h \ + C:/wxWidgets-3.1.0/include/wx/validate.h \ + C:/wxWidgets-3.1.0/include/wx/palette.h \ + C:/wxWidgets-3.1.0/include/wx/msw/palette.h \ + C:/wxWidgets-3.1.0/include/wx/accel.h \ + C:/wxWidgets-3.1.0/include/wx/msw/accel.h \ + C:/wxWidgets-3.1.0/include/wx/msw/window.h \ + C:/wxWidgets-3.1.0/include/wx/settings.h \ + C:/wxWidgets-3.1.0/include/wx/menuitem.h \ + C:/wxWidgets-3.1.0/include/wx/msw/menuitem.h \ + C:/wxWidgets-3.1.0/include/wx/bitmap.h \ + C:/wxWidgets-3.1.0/include/wx/image.h \ + C:/wxWidgets-3.1.0/include/wx/stream.h \ + C:/wxWidgets-3.1.0/include/wx/imagbmp.h \ + C:/wxWidgets-3.1.0/include/wx/imagpng.h \ + C:/wxWidgets-3.1.0/include/wx/imaggif.h \ + C:/wxWidgets-3.1.0/include/wx/imagpcx.h \ + C:/wxWidgets-3.1.0/include/wx/imagjpeg.h \ + C:/wxWidgets-3.1.0/include/wx/imagtga.h \ + C:/wxWidgets-3.1.0/include/wx/imagtiff.h \ + C:/wxWidgets-3.1.0/include/wx/imagpnm.h \ + C:/wxWidgets-3.1.0/include/wx/imagxpm.h \ + C:/wxWidgets-3.1.0/include/wx/imagiff.h \ + C:/wxWidgets-3.1.0/include/wx/msw/bitmap.h \ + C:/wxWidgets-3.1.0/include/wx/ownerdrw.h \ + C:/wxWidgets-3.1.0/include/wx/msw/ownerdrw.h \ + C:/wxWidgets-3.1.0/include/wx/msw/menu.h + +Transformer.h: + +Element.h: + +C:/wxWidgets-3.1.0/include/wx/geometry.h: + +C:/wxWidgets-3.1.0/include/wx/defs.h: + +C:/wxWidgets-3.1.0/include/wx/platform.h: + +C:/wxWidgets-3.1.0/include/wx/compiler.h: + +C:/wxWidgets-3.1.0/lib/gcc_dll/mswu/wx/setup.h: + +C:/wxWidgets-3.1.0/include/wx/msw/libraries.h: + +C:/wxWidgets-3.1.0/include/wx/msw/gccpriv.h: + +C:/wxWidgets-3.1.0/include/wx/chkconf.h: + +C:/wxWidgets-3.1.0/include/wx/msw/chkconf.h: + +C:/wxWidgets-3.1.0/include/wx/version.h: + +C:/wxWidgets-3.1.0/include/wx/cpp.h: + +C:/wxWidgets-3.1.0/include/wx/dlimpexp.h: + +C:/wxWidgets-3.1.0/include/wx/debug.h: + +C:/wxWidgets-3.1.0/include/wx/chartype.h: + +C:/wxWidgets-3.1.0/include/wx/windowid.h: + +C:/wxWidgets-3.1.0/include/wx/msw/winundef.h: + +C:/wxWidgets-3.1.0/include/wx/features.h: + +C:/wxWidgets-3.1.0/include/wx/utils.h: + +C:/wxWidgets-3.1.0/include/wx/object.h: + +C:/wxWidgets-3.1.0/include/wx/memory.h: + +C:/wxWidgets-3.1.0/include/wx/string.h: + +C:/wxWidgets-3.1.0/include/wx/wxcrtbase.h: + +C:/wxWidgets-3.1.0/include/wx/strvararg.h: + +C:/wxWidgets-3.1.0/include/wx/strconv.h: + +C:/wxWidgets-3.1.0/include/wx/buffer.h: + +C:/wxWidgets-3.1.0/include/wx/fontenc.h: + +C:/wxWidgets-3.1.0/include/wx/unichar.h: + +C:/wxWidgets-3.1.0/include/wx/stringimpl.h: + +C:/wxWidgets-3.1.0/include/wx/beforestd.h: + +C:/wxWidgets-3.1.0/include/wx/afterstd.h: + +C:/wxWidgets-3.1.0/include/wx/stringops.h: + +C:/wxWidgets-3.1.0/include/wx/iosfwrap.h: + +C:/wxWidgets-3.1.0/include/wx/msgout.h: + +C:/wxWidgets-3.1.0/include/wx/xti.h: + +C:/wxWidgets-3.1.0/include/wx/rtti.h: + +C:/wxWidgets-3.1.0/include/wx/flags.h: + +C:/wxWidgets-3.1.0/include/wx/xti2.h: + +C:/wxWidgets-3.1.0/include/wx/list.h: + +C:/wxWidgets-3.1.0/include/wx/vector.h: + +C:/wxWidgets-3.1.0/include/wx/scopeguard.h: + +C:/wxWidgets-3.1.0/include/wx/except.h: + +C:/wxWidgets-3.1.0/include/wx/meta/movable.h: + +C:/wxWidgets-3.1.0/include/wx/meta/pod.h: + +C:/wxWidgets-3.1.0/include/wx/meta/if.h: + +C:/wxWidgets-3.1.0/include/wx/filefn.h: + +C:/wxWidgets-3.1.0/include/wx/arrstr.h: + +C:/wxWidgets-3.1.0/include/wx/hashmap.h: + +C:/wxWidgets-3.1.0/include/wx/wxcrt.h: + +C:/wxWidgets-3.1.0/include/wx/versioninfo.h: + +C:/wxWidgets-3.1.0/include/wx/meta/implicitconversion.h: + +C:/wxWidgets-3.1.0/include/wx/gdicmn.h: + +C:/wxWidgets-3.1.0/include/wx/math.h: + +C:/wxWidgets-3.1.0/include/wx/mousestate.h: + +C:/wxWidgets-3.1.0/include/wx/kbdstate.h: + +C:/wxWidgets-3.1.0/include/wx/longlong.h: + +C:/wxWidgets-3.1.0/include/wx/platinfo.h: + +C:/wxWidgets-3.1.0/include/wx/cursor.h: + +C:/wxWidgets-3.1.0/include/wx/gdiobj.h: + +C:/wxWidgets-3.1.0/include/wx/msw/gdiimage.h: + +C:/wxWidgets-3.1.0/include/wx/msw/cursor.h: + +C:/wxWidgets-3.1.0/include/wx/menu.h: + +C:/wxWidgets-3.1.0/include/wx/window.h: + +C:/wxWidgets-3.1.0/include/wx/event.h: + +C:/wxWidgets-3.1.0/include/wx/clntdata.h: + +C:/wxWidgets-3.1.0/include/wx/dynarray.h: + +C:/wxWidgets-3.1.0/include/wx/thread.h: + +C:/wxWidgets-3.1.0/include/wx/tracker.h: + +C:/wxWidgets-3.1.0/include/wx/typeinfo.h: + +C:/wxWidgets-3.1.0/include/wx/any.h: + +C:/wxWidgets-3.1.0/include/wx/datetime.h: + +C:/wxWidgets-3.1.0/include/wx/anystr.h: + +C:/wxWidgets-3.1.0/include/wx/variant.h: + +C:/wxWidgets-3.1.0/include/wx/meta/convertible.h: + +C:/wxWidgets-3.1.0/include/wx/meta/removeref.h: + +C:/wxWidgets-3.1.0/include/wx/font.h: + +C:/wxWidgets-3.1.0/include/wx/msw/font.h: + +C:/wxWidgets-3.1.0/include/wx/colour.h: + +C:/wxWidgets-3.1.0/include/wx/msw/colour.h: + +C:/wxWidgets-3.1.0/include/wx/region.h: + +C:/wxWidgets-3.1.0/include/wx/msw/region.h: + +C:/wxWidgets-3.1.0/include/wx/intl.h: + +C:/wxWidgets-3.1.0/include/wx/translation.h: + +C:/wxWidgets-3.1.0/include/wx/language.h: + +C:/wxWidgets-3.1.0/include/wx/scopedptr.h: + +C:/wxWidgets-3.1.0/include/wx/checkeddelete.h: + +C:/wxWidgets-3.1.0/include/wx/validate.h: + +C:/wxWidgets-3.1.0/include/wx/palette.h: + +C:/wxWidgets-3.1.0/include/wx/msw/palette.h: + +C:/wxWidgets-3.1.0/include/wx/accel.h: + +C:/wxWidgets-3.1.0/include/wx/msw/accel.h: + +C:/wxWidgets-3.1.0/include/wx/msw/window.h: + +C:/wxWidgets-3.1.0/include/wx/settings.h: + +C:/wxWidgets-3.1.0/include/wx/menuitem.h: + +C:/wxWidgets-3.1.0/include/wx/msw/menuitem.h: + +C:/wxWidgets-3.1.0/include/wx/bitmap.h: + +C:/wxWidgets-3.1.0/include/wx/image.h: + +C:/wxWidgets-3.1.0/include/wx/stream.h: + +C:/wxWidgets-3.1.0/include/wx/imagbmp.h: + +C:/wxWidgets-3.1.0/include/wx/imagpng.h: + +C:/wxWidgets-3.1.0/include/wx/imaggif.h: + +C:/wxWidgets-3.1.0/include/wx/imagpcx.h: + +C:/wxWidgets-3.1.0/include/wx/imagjpeg.h: + +C:/wxWidgets-3.1.0/include/wx/imagtga.h: + +C:/wxWidgets-3.1.0/include/wx/imagtiff.h: + +C:/wxWidgets-3.1.0/include/wx/imagpnm.h: + +C:/wxWidgets-3.1.0/include/wx/imagxpm.h: + +C:/wxWidgets-3.1.0/include/wx/imagiff.h: + +C:/wxWidgets-3.1.0/include/wx/msw/bitmap.h: + +C:/wxWidgets-3.1.0/include/wx/ownerdrw.h: + +C:/wxWidgets-3.1.0/include/wx/msw/ownerdrw.h: + +C:/wxWidgets-3.1.0/include/wx/msw/menu.h: diff --git a/Project/Release/Workspace.cpp.o b/Project/Release/Workspace.cpp.o Binary files differindex 2b551da..e642dd3 100644 --- a/Project/Release/Workspace.cpp.o +++ b/Project/Release/Workspace.cpp.o diff --git a/Project/Release/Workspace.cpp.o.d b/Project/Release/Workspace.cpp.o.d index 465d6d8..39c193e 100644 --- a/Project/Release/Workspace.cpp.o.d +++ b/Project/Release/Workspace.cpp.o.d @@ -190,7 +190,7 @@ Release/Workspace.cpp.o: Workspace.cpp Workspace.h \ C:/wxWidgets-3.1.0/include/wx/msw/menuitem.h \ C:/wxWidgets-3.1.0/include/wx/ownerdrw.h \ C:/wxWidgets-3.1.0/include/wx/msw/ownerdrw.h \ - C:/wxWidgets-3.1.0/include/wx/msw/menu.h Bus.h Line.h + C:/wxWidgets-3.1.0/include/wx/msw/menu.h Bus.h Line.h Transformer.h Workspace.h: @@ -587,3 +587,5 @@ C:/wxWidgets-3.1.0/include/wx/msw/menu.h: Bus.h: Line.h: + +Transformer.h: diff --git a/Project/Transformer.cpp b/Project/Transformer.cpp new file mode 100644 index 0000000..30413d5 --- /dev/null +++ b/Project/Transformer.cpp @@ -0,0 +1,63 @@ +#include "Transformer.h" + +Transformer::Transformer() : Element() {} +Transformer::~Transformer() {} +bool Transformer::AddParent(Element* parent, wxPoint2DDouble position) +{ + if(parent) { + // First bus. + if(m_parentList.size() == 0) { + m_position = position; + m_parentList.push_back(parent); + wxPoint2DDouble parentPt = parent->RotateAtPosition( + position, -parent->GetAngle()); // Rotate click to horizontal position. + parentPt.m_y = parent->GetPosition().m_y; // Centralize on bus. + parentPt = parent->RotateAtPosition(parentPt, parent->GetAngle()); // Rotate back. + m_pointList.push_back(parentPt); // First point + m_pointList.push_back(GetSwitchPoint(parent, parentPt, m_position)); + return false; + } + // Second bus. + else if(parent != m_parentList[0]) + { + m_parentList.push_back(parent); + wxPoint2DDouble parentPt = parent->RotateAtPosition( + position, -parent->GetAngle()); // Rotate click to horizontal position. + parentPt.m_y = parent->GetPosition().m_y; // Centralize on bus. + parentPt = parent->RotateAtPosition(parentPt, parent->GetAngle()); // Rotate back. + + // Set first switch point. + wxPoint2DDouble secondPoint = parentPt; + if(m_pointList.size() > 2) { + secondPoint = m_pointList[2]; + } + m_pointList[1] = GetSwitchPoint(m_parentList[0], m_pointList[0], secondPoint); + + // Set the second switch point. + m_pointList.push_back(GetSwitchPoint(parent, parentPt, m_pointList[m_pointList.size() - 1])); + + m_pointList.push_back(parentPt); // Last point. + m_inserted = true; + + // The average between the two bus points. + m_position = wxPoint2DDouble((m_pointList[0].m_x + m_pointList[m_pointList.size() - 1].m_x) / 2.0, + (m_pointList[0].m_y + m_pointList[m_pointList.size() - 1].m_y) / 2.0); + + m_width = 80.0; + m_height = 50.0; + m_rect = wxRect2DDouble(m_position.m_x - m_width / 2.0, m_position.m_y - m_height / 2.0, m_width, + m_height); + + return true; + } + } + return false; +} +bool Transformer::Contains(wxPoint2DDouble position) const {return m_rect.Contains(position);} +void Transformer::Draw(wxPoint2DDouble translation, double scale) const +{ + +} +bool Transformer::Intersects(wxRect2DDouble rect) const { return false;} +void Transformer::Rotate() {} +void Transformer::UpdateSwitchesPosition() {} diff --git a/Project/Transformer.h b/Project/Transformer.h new file mode 100644 index 0000000..02ad59c --- /dev/null +++ b/Project/Transformer.h @@ -0,0 +1,25 @@ +#ifndef TRANSFORMER_H +#define TRANSFORMER_H + +#include "Element.h" + +class Transformer : public Element +{ +public: + Transformer(); + virtual ~Transformer(); + + virtual bool AddParent(Element* parent, wxPoint2DDouble position); + virtual bool Contains(wxPoint2DDouble position) const; + virtual void Draw(wxPoint2DDouble translation, double scale) const; + virtual bool Intersects(wxRect2DDouble rect) const; + virtual void Rotate(); + + protected: + void UpdateSwitchesPosition(); + std::vector<wxPoint2DDouble> m_pointList; + bool m_inserted = false; + std::vector<wxPoint2DDouble> m_movePts; +}; + +#endif // TRANSFORMER_H diff --git a/Project/Workspace.cpp b/Project/Workspace.cpp index 10e58d3..cefbcfb 100644 --- a/Project/Workspace.cpp +++ b/Project/Workspace.cpp @@ -3,6 +3,7 @@ #include "Element.h" #include "Bus.h" #include "Line.h" +#include "Transformer.h" // Camera Camera::Camera() @@ -578,6 +579,17 @@ void Workspace::OnKeyDown(wxKeyEvent& event) } } break; + case 'T': // Insert a transformer. + { + if(m_mode != MODE_INSERT) { + Transformer* newTransformer = new Transformer(); + m_elementList.push_back(newTransformer); + m_mode = MODE_INSERT; + m_statusBar->SetStatusText(_("Insert Transformer: Click on two buses, ESC to cancel.")); + Redraw(); + } + } + break; default: break; } @@ -692,5 +704,3 @@ void Workspace::OnPopupClick(wxCommandEvent& event) } delete menu; } - -void Workspace::DeleteElement(Element* element) {} 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<Element*> GetElementList() { return m_elementList; } void Redraw() { m_glCanvas->Refresh(); } - void DeleteElement(Element* element); protected: virtual void OnRightClickDown(wxMouseEvent& event); |