[Sketcher] Fix endpoint-to-endpoint/edge tangency substitution

Only substitute if the point(s) involved are `start`/`end`. Centers do
not make sense here.
This commit is contained in:
Ajinkya Dahale
2024-08-19 06:54:34 +05:30
parent 7c797b5a10
commit 6a1afdc4e2
3 changed files with 83 additions and 49 deletions

View File

@@ -440,8 +440,8 @@ int DrawSketchHandler::seekAutoConstraint(std::vector<AutoConstraint>& suggested
int preSelPnt = getPreselectPoint();
int preSelCrv = getPreselectCurve();
int preSelCrs = getPreselectCross();
int GeoId = GeoEnum::GeoUndef;
int GeoId = GeoEnum::GeoUndef;
PointPos PosId = PointPos::none;
if (preSelPnt != -1) {
@@ -459,15 +459,18 @@ int DrawSketchHandler::seekAutoConstraint(std::vector<AutoConstraint>& suggested
}
}
}
else if (preSelCrs == 0) { // root point
else if (preSelCrs == 0) {
// root point
GeoId = Sketcher::GeoEnum::RtPnt;
PosId = PointPos::start;
}
else if (preSelCrs == 1) { // x axis
else if (preSelCrs == 1) {
// x axis
GeoId = Sketcher::GeoEnum::HAxis;
hitShapeDir = Base::Vector3d(1, 0, 0);
}
else if (preSelCrs == 2) { // y axis
else if (preSelCrs == 2) {
// y axis
GeoId = Sketcher::GeoEnum::VAxis;
hitShapeDir = Base::Vector3d(0, 1, 0);
}