PartDesign: decouple refine and other geometric computation (#17008)

This commit is contained in:
Florian Foinant-Willig
2024-12-02 17:57:30 +01:00
committed by GitHub
parent 32e339447a
commit 115667f73a
14 changed files with 141 additions and 5 deletions

View File

@@ -104,6 +104,12 @@ short Chamfer::mustExecute() const
App::DocumentObjectExecReturn *Chamfer::execute()
{
if (onlyHasToRefine()){
TopoShape result = refineShapeIfActive(rawShape);
Shape.setValue(result);
return App::DocumentObject::StdReturn;
}
// NOTE: Normally the Base property and the BaseFeature property should point to the same object.
// The only difference is that the Base property also stores the edges that are to be chamfered
Part::TopoShape TopShape;
@@ -164,6 +170,9 @@ App::DocumentObjectExecReturn *Chamfer::execute()
TopAbs_SHAPE);
}
if (!failed) {
// store shape before refinement
this->rawShape = shape;
shape = refineShapeIfActive(shape);
shape = getSolid(shape);
}