From a10dcb2a1ab84b1394e85cda98b81872fad6eb3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Althaus?= Date: Sat, 28 Sep 2024 00:12:49 +0200 Subject: [PATCH] Only omit edges for group children in the dependecy graph All edges for GeoFeatureGroupExtension where omited even if the dependency was not a child of the object. --- src/App/Graphviz.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/App/Graphviz.cpp b/src/App/Graphviz.cpp index 7799339cef..2971075ef7 100644 --- a/src/App/Graphviz.cpp +++ b/src/App/Graphviz.cpp @@ -489,23 +489,20 @@ void Document::exportGraphviz(std::ostream& out) const // Add edges between document objects for (const auto & It : d->objectMap) { - if(omitGeoFeatureGroups) { - //coordinate systems are represented by subgraphs - if(It.second->hasExtension(GeoFeatureGroupExtension::getExtensionClassTypeId())) - continue; - - //as well as origins - if(It.second->isDerivedFrom(Origin::getClassTypeId())) - continue; + if(omitGeoFeatureGroups && It.second->isDerivedFrom(Origin::getClassTypeId())) { + continue; } std::map dups; std::vector OutList = It.second->getOutList(); const DocumentObject * docObj = It.second; + const bool docObj_is_group = docObj->hasExtension(GeoFeatureGroupExtension::getExtensionClassTypeId()); for (auto obj : OutList) { if (obj) { - + if(omitGeoFeatureGroups && docObj_is_group && GeoFeatureGroupExtension::getGroupOfObject(obj) == docObj) { + continue; + } // Count duplicate edges bool inserted = edge(GlobalVertexList[getId(docObj)], GlobalVertexList[getId(obj)], DepList).second; if (inserted) {