Ref T111, normalize utility functions

This commit is contained in:
Klaus Basan
2017-08-04 01:27:23 +02:00
committed by Mathew Sutcliffe
parent 4e45496431
commit 9445bd56a3
4 changed files with 31 additions and 3 deletions

View File

@@ -126,5 +126,18 @@ namespace BlackMisc
{
return std::tan(this->value(CAngleUnit::rad()));
}
double CAngle::normalizeDegrees180(double degrees, int roundDigits)
{
double d = CMathUtils::normalizeDegrees360(degrees + 180.0) - 180.0;
if (d <= -180.0) { d = 180.0; } // -180 -> 180
return roundDigits < 0 ? d : CMathUtils::round(d, roundDigits);
}
double CAngle::normalizeDegrees360(double degrees, int roundDigits)
{
const double d = CMathUtils::normalizeDegrees360(degrees);
return roundDigits < 0 ? d : CMathUtils::round(d, roundDigits);
}
} // ns
} // ns

View File

@@ -96,6 +96,12 @@ namespace BlackMisc
//! Tangent of angle
double tan() const;
//! Normalize: -180< degrees ≤180
static double normalizeDegrees180(double degrees, int roundDigits = -1);
//! Normalize: 0≤ degrees <360
static double normalizeDegrees360(double degrees, int roundDigits = -1);
};
} // ns
} // ns