[Sketcher] Refactor SketchObject::toggleExternalGeometryFlag()

Doesn't seem to be used anywhere. Remove?
This commit is contained in:
Ajinkya Dahale
2025-01-19 00:28:24 +05:30
committed by Benjamin Nauck
parent 3b19a1b2ac
commit 650ccb8b4e

View File

@@ -113,7 +113,6 @@
#include "SketchObject.h"
#include "SketchObjectPy.h"
#include "SolverGeometryExtension.h"
#include "ExternalGeometryFacade.h"
#include <Mod/Part/App/Datums.h>
@@ -2109,17 +2108,20 @@ int SketchObject::toggleExternalGeometryFlag(const std::vector<int> &geoIds,
return 0;
auto flag = flags.front();
Base::StateLocker lock(managedoperation, true); // no need to check input data validity as this is an sketchobject managed operation.
// no need to check input data validity as this is an sketchobject managed operation.
Base::StateLocker lock(managedoperation, true);
bool update = false;
bool touched = false;
auto geos = ExternalGeo.getValues();
std::set<int> idSet(geoIds.begin(),geoIds.end());
for(auto geoId : geoIds) {
if(geoId > GeoEnum::RefExt || -geoId-1>=ExternalGeo.getSize())
std::set<int> idSet(geoIds.begin(), geoIds.end());
for (auto geoId : geoIds) {
if (geoId > GeoEnum::RefExt || -geoId-1>=ExternalGeo.getSize()) {
continue;
if(!idSet.count(geoId))
}
if (idSet.count(geoId) == 0) {
continue;
}
idSet.erase(geoId);
const int idx = -geoId - 1;
auto& geo = geos[idx];
@@ -2144,18 +2146,20 @@ int SketchObject::toggleExternalGeometryFlag(const std::vector<int> &geoIds,
geo = geo->clone();
egf->setGeometry(geo);
egf->setFlag(flag, value);
for (size_t i=1; i<flags.size(); ++i)
for (size_t i=1; i<flags.size(); ++i) {
egf->setFlag(flags[i], value);
if (value || flag != ExternalGeometryExtension::Frozen)
update = true;
}
update = update || (value || flag != ExternalGeometryExtension::Frozen);
touched = true;
}
if(!touched)
if (!touched) {
return -1;
}
ExternalGeo.setValues(geos);
if (update)
if (update) {
rebuildExternalGeometry();
}
return 0;
}