+ Add selected sketches to one Face, implement specialized view provider for Face
This commit is contained in:
@@ -26,18 +26,11 @@
|
||||
#ifndef _PreComp_
|
||||
#endif
|
||||
|
||||
/// Here the FreeCAD includes sorted by Base,App,Gui......
|
||||
#include <Base/Parameter.h>
|
||||
|
||||
#include <Mod/Part/App/FeatureFace.h>
|
||||
#include <Mod/Part/App/Part2DObject.h>
|
||||
#include "ViewProviderPlaneParametric.h"
|
||||
|
||||
|
||||
//#include "Tree.h"
|
||||
|
||||
|
||||
|
||||
using namespace PartGui;
|
||||
using namespace std;
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@@ -45,10 +38,10 @@ using namespace std;
|
||||
|
||||
PROPERTY_SOURCE(PartGui::ViewProviderPlaneParametric, PartGui::ViewProviderPart)
|
||||
|
||||
|
||||
|
||||
ViewProviderPlaneParametric::ViewProviderPlaneParametric()
|
||||
{
|
||||
sPixmap = "Tree_Part_Plane_Parametric.svg";
|
||||
sPixmap = "Tree_Part_Plane_Parametric.svg";
|
||||
}
|
||||
|
||||
ViewProviderPlaneParametric::~ViewProviderPlaneParametric()
|
||||
@@ -56,20 +49,80 @@ ViewProviderPlaneParametric::~ViewProviderPlaneParametric()
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
// **********************************************************************************
|
||||
|
||||
std::vector<std::string> ViewProviderPlaneParametric::getDisplayModes(void) const
|
||||
{
|
||||
// get the modes of the father
|
||||
std::vector<std::string> StrList;
|
||||
// get the modes of the father
|
||||
std::vector<std::string> StrList;
|
||||
|
||||
// add your own modes
|
||||
StrList.push_back("Flat Lines");
|
||||
StrList.push_back("Shaded");
|
||||
StrList.push_back("Wireframe");
|
||||
StrList.push_back("Points");
|
||||
// add your own modes
|
||||
StrList.push_back("Flat Lines");
|
||||
StrList.push_back("Shaded");
|
||||
StrList.push_back("Wireframe");
|
||||
StrList.push_back("Points");
|
||||
|
||||
return StrList;
|
||||
return StrList;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
PROPERTY_SOURCE(PartGui::ViewProviderFace, PartGui::ViewProviderPlaneParametric)
|
||||
|
||||
|
||||
ViewProviderFace::ViewProviderFace()
|
||||
{
|
||||
}
|
||||
|
||||
ViewProviderFace::~ViewProviderFace()
|
||||
{
|
||||
}
|
||||
|
||||
std::vector<App::DocumentObject*> ViewProviderFace::claimChildren(void) const
|
||||
{
|
||||
return std::vector<App::DocumentObject*>(static_cast<Part::Face*>(getObject())->Sources.getValues());
|
||||
}
|
||||
|
||||
bool ViewProviderFace::canDragObjects() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ViewProviderFace::canDragObject(App::DocumentObject* obj) const
|
||||
{
|
||||
if (!obj)
|
||||
return false;
|
||||
if (obj->getTypeId().isDerivedFrom(Part::Part2DObject::getClassTypeId()))
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
void ViewProviderFace::dragObject(App::DocumentObject* obj)
|
||||
{
|
||||
Part::Face* face = static_cast<Part::Face*>(getObject());
|
||||
std::vector<App::DocumentObject*> sources = face->Sources.getValues();
|
||||
for (std::vector<App::DocumentObject*>::iterator it = sources.begin(); it != sources.end(); ++it) {
|
||||
if (*it == obj) {
|
||||
sources.erase(it);
|
||||
face->Sources.setValues(sources);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool ViewProviderFace::canDropObjects() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ViewProviderFace::canDropObject(App::DocumentObject* obj) const
|
||||
{
|
||||
return canDragObject(obj);
|
||||
}
|
||||
|
||||
void ViewProviderFace::dropObject(App::DocumentObject* obj)
|
||||
{
|
||||
Part::Face* face = static_cast<Part::Face*>(getObject());
|
||||
std::vector<App::DocumentObject*> sources = face->Sources.getValues();
|
||||
sources.push_back(obj);
|
||||
face->Sources.setValues(sources);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user