Changed tree ordering of booleans and bodies

This commit is contained in:
jrheinlaender
2013-05-24 08:23:04 +04:30
committed by Stefan Tröger
parent e16b398cbc
commit d09eaa2168
8 changed files with 104 additions and 45 deletions

View File

@@ -90,7 +90,7 @@ const gp_Pnt Feature::getPointFromFace(const TopoDS_Face& f)
throw Base::Exception("getPointFromFace(): Not implemented yet for this case");
}
const TopoDS_Shape& Feature::getBaseShape() const {
const Part::Feature* Feature::getBaseObject() const {
App::DocumentObject* BaseLink = BaseFeature.getValue();
if (BaseLink == NULL) throw Base::Exception("Base property not set");
Part::Feature* BaseObject = NULL;
@@ -100,6 +100,12 @@ const TopoDS_Shape& Feature::getBaseShape() const {
if (BaseObject == NULL)
throw Base::Exception("No base feature linked");
return BaseObject;
}
const TopoDS_Shape& Feature::getBaseShape() const {
const Part::Feature* BaseObject = getBaseObject();
const TopoDS_Shape& result = BaseObject->Shape.getValue();
if (result.IsNull())
throw Base::Exception("Base feature's shape is invalid");
@@ -110,6 +116,16 @@ const TopoDS_Shape& Feature::getBaseShape() const {
return result;
}
const Part::TopoShape Feature::getBaseTopoShape() const {
const Part::Feature* BaseObject = getBaseObject();
const Part::TopoShape& result = BaseObject->Shape.getShape();
if (result._Shape.IsNull())
throw Base::Exception("Base feature's TopoShape is invalid");
return result;
}
bool Feature::isDatum(const App::DocumentObject* feature)
{
return feature->getTypeId().isDerivedFrom(App::Plane::getClassTypeId()) ||