Gui: Reduce cognitive complexity of ViewProviderCoordinateSystem::setTemporaryVisibility

This commit is contained in:
wmayer
2024-12-30 19:03:58 +01:00
parent 8d4ddac85e
commit 63088a29a9

View File

@@ -97,51 +97,41 @@ void ViewProviderCoordinateSystem::setDisplayMode(const char* ModeName)
ViewProviderDocumentObject::setDisplayMode(ModeName);
}
void ViewProviderCoordinateSystem::setTemporaryVisibility(bool axis, bool plane, bool points) {
auto origin = static_cast<App::Origin*>( getObject() );
void ViewProviderCoordinateSystem::setTemporaryVisibility(bool axis, bool plane, bool points)
{
auto origin = getObject<App::Origin>();
bool saveState = tempVisMap.empty();
try {
// Remember & Set axis visibility
for(App::DocumentObject* obj : origin->axes()) {
if (obj) {
Gui::ViewProvider* vp = Gui::Application::Instance->getViewProvider(obj);
if(vp) {
if (saveState) {
tempVisMap[vp] = vp->isVisible();
}
vp->setVisible(axis);
if (auto vp = Gui::Application::Instance->getViewProvider(obj)) {
if (saveState) {
tempVisMap[vp] = vp->isVisible();
}
vp->setVisible(axis);
}
}
// Remember & Set plane visibility
for(App::DocumentObject* obj : origin->planes()) {
if (obj) {
Gui::ViewProvider* vp = Gui::Application::Instance->getViewProvider(obj);
if(vp) {
if (saveState) {
tempVisMap[vp] = vp->isVisible();
}
vp->setVisible(plane);
if (auto vp = Gui::Application::Instance->getViewProvider(obj)) {
if (saveState) {
tempVisMap[vp] = vp->isVisible();
}
vp->setVisible(plane);
}
}
// Remember & Set origin point visibility
App::DocumentObject* obj = origin->getOrigin();
if (obj) {
Gui::ViewProvider* vp = Gui::Application::Instance->getViewProvider(obj);
if (vp) {
if (saveState) {
tempVisMap[vp] = vp->isVisible();
}
vp->setVisible(points);
if (auto vp = Gui::Application::Instance->getViewProvider(obj)) {
if (saveState) {
tempVisMap[vp] = vp->isVisible();
}
vp->setVisible(points);
}
}
catch (const Base::Exception &ex) {
Base::Console().Error ("%s\n", ex.what() );