From 35afc22060448b7d12d04eb2c0607ec0515dccbe Mon Sep 17 00:00:00 2001 From: wmayer Date: Mon, 22 Oct 2012 16:49:24 +0200 Subject: [PATCH] View providers for sweep and loft --- src/Mod/Part/App/PartFeatures.h | 6 ++++ src/Mod/Part/Gui/AppPartGui.cpp | 2 ++ src/Mod/Part/Gui/ViewProviderMirror.cpp | 47 +++++++++++++++++++++++++ src/Mod/Part/Gui/ViewProviderMirror.h | 30 ++++++++++++++++ 4 files changed, 85 insertions(+) diff --git a/src/Mod/Part/App/PartFeatures.h b/src/Mod/Part/App/PartFeatures.h index ddaae9627d..e891cee593 100644 --- a/src/Mod/Part/App/PartFeatures.h +++ b/src/Mod/Part/App/PartFeatures.h @@ -67,6 +67,9 @@ public: /// recalculate the feature App::DocumentObjectExecReturn *execute(void); short mustExecute() const; + const char* getViewProviderName(void) const { + return "PartGui::ViewProviderLoft"; + } //@} protected: @@ -91,6 +94,9 @@ public: /// recalculate the feature App::DocumentObjectExecReturn *execute(void); short mustExecute() const; + const char* getViewProviderName(void) const { + return "PartGui::ViewProviderSweep"; + } //@} protected: diff --git a/src/Mod/Part/Gui/AppPartGui.cpp b/src/Mod/Part/Gui/AppPartGui.cpp index fadff8744a..48f9796756 100644 --- a/src/Mod/Part/Gui/AppPartGui.cpp +++ b/src/Mod/Part/Gui/AppPartGui.cpp @@ -103,6 +103,8 @@ void PartGuiExport initPartGui() PartGui::ViewProviderFillet ::init(); PartGui::ViewProviderChamfer ::init(); PartGui::ViewProviderRevolution ::init(); + PartGui::ViewProviderLoft ::init(); + PartGui::ViewProviderSweep ::init(); PartGui::ViewProviderCustom ::init(); PartGui::ViewProviderCustomPython ::init(); PartGui::ViewProviderBoolean ::init(); diff --git a/src/Mod/Part/Gui/ViewProviderMirror.cpp b/src/Mod/Part/Gui/ViewProviderMirror.cpp index 841fb402b4..b3c6d705ab 100644 --- a/src/Mod/Part/Gui/ViewProviderMirror.cpp +++ b/src/Mod/Part/Gui/ViewProviderMirror.cpp @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -348,3 +349,49 @@ bool ViewProviderRevolution::onDelete(const std::vector &) return true; } + +// --------------------------------------- + +PROPERTY_SOURCE(PartGui::ViewProviderLoft, PartGui::ViewProviderPart) + +ViewProviderLoft::ViewProviderLoft() +{ + sPixmap = "Part_Loft"; +} + +ViewProviderLoft::~ViewProviderLoft() +{ +} + +std::vector ViewProviderLoft::claimChildren() const +{ + return static_cast(getObject())->Sections.getValues(); +} + +bool ViewProviderLoft::onDelete(const std::vector &) +{ + return true; +} + +// --------------------------------------- + +PROPERTY_SOURCE(PartGui::ViewProviderSweep, PartGui::ViewProviderPart) + +ViewProviderSweep::ViewProviderSweep() +{ + sPixmap = "Part_Sweep"; +} + +ViewProviderSweep::~ViewProviderSweep() +{ +} + +std::vector ViewProviderSweep::claimChildren() const +{ + return static_cast(getObject())->Sections.getValues(); +} + +bool ViewProviderSweep::onDelete(const std::vector &) +{ + return true; +} diff --git a/src/Mod/Part/Gui/ViewProviderMirror.h b/src/Mod/Part/Gui/ViewProviderMirror.h index 7e282b01ac..aae6a79aa6 100644 --- a/src/Mod/Part/Gui/ViewProviderMirror.h +++ b/src/Mod/Part/Gui/ViewProviderMirror.h @@ -108,6 +108,36 @@ public: bool onDelete(const std::vector &); }; +class ViewProviderLoft : public ViewProviderPart +{ + PROPERTY_HEADER(PartGui::ViewProviderLoft); + +public: + /// constructor + ViewProviderLoft(); + /// destructor + virtual ~ViewProviderLoft(); + + /// grouping handling + std::vector claimChildren(void)const; + bool onDelete(const std::vector &); +}; + +class ViewProviderSweep : public ViewProviderPart +{ + PROPERTY_HEADER(PartGui::ViewProviderSweep); + +public: + /// constructor + ViewProviderSweep(); + /// destructor + virtual ~ViewProviderSweep(); + + /// grouping handling + std::vector claimChildren(void)const; + bool onDelete(const std::vector &); +}; + } // namespace PartGui