Fix Detail Highlight when Detail has no Geometry

- Detail circles were no drawn if detail area did not
  produce any geometry (detail anchor point + radius not
  over original part.
This commit is contained in:
wandererfan
2019-04-18 13:15:44 -04:00
committed by WandererFan
parent 02da48cac8
commit 818ea62f66
2 changed files with 9 additions and 5 deletions

View File

@@ -288,7 +288,13 @@ App::DocumentObjectExecReturn *DrawViewDetail::execute(void)
testBox.SetGap(0.0);
BRepBndLib::Add(detail, testBox);
if (testBox.IsVoid()) {
Base::Console().Message("DrawViewDetail - detail area contains no geometry\n");
// Base::Console().Warning("DrawViewDetail - detail area contains no geometry\n");
TechDrawGeometry::GeometryObject* go = getGeometryObject();
if (go != nullptr) {
go->clear();
}
requestPaint();
dvp->requestPaint();
return new App::DocumentObjectExecReturn("DVDetail - detail area contains no geometry");
}

View File

@@ -331,6 +331,8 @@ void QGIViewPart::drawViewPart()
return;
}
if (!viewPart->hasGeometry()) {
removePrimitives(); //clean the slate
removeDecorations();
return;
}
@@ -754,10 +756,6 @@ void QGIViewPart::drawHighlight(TechDraw::DrawViewDetail* viewDetail, bool b)
return;
}
if (!viewDetail->hasGeometry()) {
return;
}
auto vp = static_cast<ViewProviderViewPart*>(getViewProvider(getViewObject()));
if ( vp == nullptr ) {
return;