Sketcher: Use std::numeric_limits and std::numbers instead of defines

This commit is contained in:
Benjamin Nauck
2025-03-27 19:02:24 +01:00
parent 883d02756d
commit 3279a1dd8f
41 changed files with 355 additions and 225 deletions

View File

@@ -3060,6 +3060,7 @@ int Sketch::addAngleAtPointConstraint(int geoId1,
ConstraintType cTyp,
bool driving)
{
using std::numbers::pi;
if (!(cTyp == Angle || cTyp == Tangent || cTyp == Perpendicular)) {
// assert(0);//none of the three types. Why are we here??
return -1;
@@ -3132,28 +3133,28 @@ int Sketch::addAngleAtPointConstraint(int geoId1,
// the desired angle value (and we are to decide if 180* should be added to it)
double angleDesire = 0.0;
if (cTyp == Tangent) {
angleOffset = -M_PI / 2;
angleOffset = -pi / 2;
angleDesire = 0.0;
}
if (cTyp == Perpendicular) {
angleOffset = 0;
angleDesire = M_PI / 2;
angleDesire = pi / 2;
}
if (*value
== 0.0) { // autodetect tangency internal/external (and same for perpendicularity)
double angleErr = GCSsys.calculateAngleViaPoint(*crv1, *crv2, p) - angleDesire;
// bring angleErr to -pi..pi
if (angleErr > M_PI) {
angleErr -= M_PI * 2;
if (angleErr > pi) {
angleErr -= pi * 2;
}
if (angleErr < -M_PI) {
angleErr += M_PI * 2;
if (angleErr < -pi) {
angleErr += pi * 2;
}
// the autodetector
if (fabs(angleErr) > M_PI / 2) {
angleDesire += M_PI;
if (fabs(angleErr) > pi / 2) {
angleDesire += pi;
}
*angle = angleDesire;
@@ -4542,7 +4543,7 @@ bool Sketch::updateNonDrivingConstraints()
}
else if ((*it).constr->Type == Angle) {
(*it).constr->setValue(std::fmod(*((*it).value), 2.0 * M_PI));
(*it).constr->setValue(std::fmod(*((*it).value), 2.0 * std::numbers::pi));
}
else if ((*it).constr->Type == Diameter && (*it).constr->First >= 0) {