Sketcher: Preference color added for External defining geometry

This commit is contained in:
Andrew Shkolik
2025-02-27 00:28:20 -06:00
parent 493e940da3
commit aaf0d897c3
7 changed files with 62 additions and 6 deletions

View File

@@ -135,6 +135,16 @@ void EditModeGeometryCoinManager::updateGeometryColor(const GeoListFacade& geoli
return false;
};
auto isExternalDefiningGeomPoint = [&geolistfacade](int GeoId) {
auto geom = geolistfacade.getGeometryFacadeFromGeoId(GeoId);
if (geom) {
auto egf = ExternalGeometryFacade::getFacade(geom->clone());
auto ref = egf->getRef();
return egf->testFlag(ExternalGeometryExtension::Defining);
}
return false;
};
auto isCoincident = [&](int GeoId, Sketcher::PointPos PosId) {
const std::vector<Sketcher::Constraint*>& constraints =
ViewProviderSketchCoinAttorney::getConstraints(viewProvider);
@@ -202,7 +212,9 @@ void EditModeGeometryCoinManager::updateGeometryColor(const GeoListFacade& geoli
pcolor[i] = drawingParameters.ConstrIcoColor;
}
else {
pcolor[i] = drawingParameters.CurveExternalColor;
pcolor[i] = isExternalDefiningGeomPoint(GeoId)
? drawingParameters.CurveExternalDefiningColor
: drawingParameters.CurveExternalColor;
}
}
else if (issketchinvalid) {
@@ -423,7 +435,9 @@ void EditModeGeometryCoinManager::updateGeometryColor(const GeoListFacade& geoli
color[i] = drawingParameters.InvalidSketchColor;
}
else {
color[i] = drawingParameters.CurveExternalColor;
color[i] = egf->testFlag(ExternalGeometryExtension::Defining)
? drawingParameters.CurveExternalDefiningColor
: drawingParameters.CurveExternalColor;
}
for (int k = j; j < k + indexes; j++) {
verts[j].getValue(x, y, z);