+ allow to select whole wire in sweep panel
This commit is contained in:
parent
2313c5d757
commit
91ad22e3ab
|
@ -75,11 +75,26 @@ public:
|
|||
}
|
||||
bool allow(App::Document*pDoc, App::DocumentObject*pObj, const char*sSubName)
|
||||
{
|
||||
if (!sSubName || sSubName[0] == '\0')
|
||||
return false;
|
||||
if (pObj->getTypeId().isDerivedFrom(Part::Feature::getClassTypeId())) {
|
||||
if (!sSubName) {
|
||||
// If selecting again the same edge the passed sub-element is empty. If the whole
|
||||
// shape is an edge or wire we can use it completely.
|
||||
const TopoDS_Shape& shape = static_cast<Part::Feature*>(pObj)->Shape.getValue();
|
||||
if (!shape.IsNull()) {
|
||||
if (shape.ShapeType() == TopAbs_EDGE)
|
||||
return true;
|
||||
if (shape.ShapeType() == TopAbs_WIRE)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
std::string element(sSubName);
|
||||
return element.substr(0,4) == "Edge";
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user