diff --git a/src/Mod/PartDesign/App/Body.cpp b/src/Mod/PartDesign/App/Body.cpp index 7110e04a08..0b5bbb8308 100644 --- a/src/Mod/PartDesign/App/Body.cpp +++ b/src/Mod/PartDesign/App/Body.cpp @@ -45,9 +45,8 @@ Body::Body() short Body::mustExecute() const { - //if (Sketch.isTouched() || - // Length.isTouched()) - // return 1; + if (Tip.isTouched() ) + return 1; return 0; } diff --git a/src/Mod/PartDesign/Gui/ViewProviderBody.cpp b/src/Mod/PartDesign/Gui/ViewProviderBody.cpp index bf3b4e1cc9..0d2eb1412f 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderBody.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderBody.cpp @@ -24,6 +24,7 @@ #include "PreCompiled.h" #ifndef _PreComp_ +# include #endif #include "ViewProviderBody.h" @@ -38,10 +39,15 @@ PROPERTY_SOURCE(PartDesignGui::ViewProviderBody,PartGui::ViewProviderPart) ViewProviderBody::ViewProviderBody() { + pcBodyChildren = new SoGroup(); + pcBodyChildren->ref(); + } ViewProviderBody::~ViewProviderBody() { + pcBodyChildren->unref(); + pcBodyChildren = 0; } bool ViewProviderBody::doubleClicked(void) @@ -75,3 +81,10 @@ std::vector ViewProviderBody::claimChildren(void)const return std::vector(Result.begin(),it); } + +std::vector ViewProviderBody::claimChildren3D(void)const +{ + + return static_cast(getObject())->Model.getValues(); + +} diff --git a/src/Mod/PartDesign/Gui/ViewProviderBody.h b/src/Mod/PartDesign/Gui/ViewProviderBody.h index 516c7b360a..d416d01298 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderBody.h +++ b/src/Mod/PartDesign/Gui/ViewProviderBody.h @@ -42,6 +42,12 @@ public: virtual bool doubleClicked(void); std::vector claimChildren(void)const; + // returns the root node where the children gets collected(3D) + virtual SoGroup* getChildRoot(void) const {return pcBodyChildren;} + std::vector claimChildren3D(void)const; + +private: + SoGroup *pcBodyChildren; };