Skip to content

Commit

Permalink
Even larger ENU coordinates (#69)
Browse files Browse the repository at this point in the history
up to 1e8m
  • Loading branch information
berndgassmann committed Aug 31, 2021
1 parent 9eb4535 commit 97fd301
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 37 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
* \note the specified input range is defined by
* std::numeric_limits<::ad::map::point::ENUCoordinate>::lowest() <= \c input <=
* std::numeric_limits<::ad::map::point::ENUCoordinate>::max()
* -1e6 <= \c input <= 1e6
* -1e8 <= \c input <= 1e8
*/
inline bool withinValidInputRange(::ad::map::point::ENUCoordinate const &input, bool const logErrors = true)
{
Expand All @@ -52,13 +52,13 @@ inline bool withinValidInputRange(::ad::map::point::ENUCoordinate const &input,
if (inValidInputRange)
{
inValidInputRange
= (::ad::map::point::ENUCoordinate(-1e6) <= input) && (input <= ::ad::map::point::ENUCoordinate(1e6));
= (::ad::map::point::ENUCoordinate(-1e8) <= input) && (input <= ::ad::map::point::ENUCoordinate(1e8));
if (!inValidInputRange && logErrors)
{
spdlog::error("withinValidInputRange(::ad::map::point::ENUCoordinate)>> {} out of valid input range [{}, {}]",
input,
::ad::map::point::ENUCoordinate(-1e6),
::ad::map::point::ENUCoordinate(1e6)); // LCOV_EXCL_BR_LINE
::ad::map::point::ENUCoordinate(-1e8),
::ad::map::point::ENUCoordinate(1e8)); // LCOV_EXCL_BR_LINE
}
}
return inValidInputRange;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,24 +50,24 @@ TEST(ENUCoordinateValidInputRangeTests, testValidInputRangeExceedsMax)

TEST(ENUCoordinateValidInputRangeTests, testValidInputRangeInputMinOk)
{
::ad::map::point::ENUCoordinate value(-1e6);
::ad::map::point::ENUCoordinate value(-1e8);
ASSERT_TRUE(withinValidInputRange(value));
}

TEST(ENUCoordinateValidInputRangeTests, testValidInputRangeInputMaxOk)
{
::ad::map::point::ENUCoordinate value(1e6);
::ad::map::point::ENUCoordinate value(1e8);
ASSERT_TRUE(withinValidInputRange(value));
}

TEST(ENUCoordinateValidInputRangeTests, testValidInputRangeBelowInputMin)
{
::ad::map::point::ENUCoordinate value(-1e6 * 1.1);
::ad::map::point::ENUCoordinate value(-1e8 * 1.1);
ASSERT_FALSE(withinValidInputRange(value));
}

TEST(ENUCoordinateValidInputRangeTests, testValidInputRangeExceedsInputMax)
{
::ad::map::point::ENUCoordinate value(1e6 * 1.1);
::ad::map::point::ENUCoordinate value(1e8 * 1.1);
ASSERT_FALSE(withinValidInputRange(value));
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,43 +21,43 @@
TEST(ENUPointValidInputRangeTests, testValidInputRange)
{
::ad::map::point::ENUPoint value;
::ad::map::point::ENUCoordinate valueX(-1e6);
::ad::map::point::ENUCoordinate valueX(-1e8);
value.x = valueX;
::ad::map::point::ENUCoordinate valueY(-1e6);
::ad::map::point::ENUCoordinate valueY(-1e8);
value.y = valueY;
::ad::map::point::ENUCoordinate valueZ(-1e6);
::ad::map::point::ENUCoordinate valueZ(-1e8);
value.z = valueZ;
ASSERT_TRUE(withinValidInputRange(value));
}

TEST(ENUPointValidInputRangeTests, testValidInputRangeXTooSmall)
{
::ad::map::point::ENUPoint value;
::ad::map::point::ENUCoordinate valueX(-1e6);
::ad::map::point::ENUCoordinate valueX(-1e8);
value.x = valueX;
::ad::map::point::ENUCoordinate valueY(-1e6);
::ad::map::point::ENUCoordinate valueY(-1e8);
value.y = valueY;
::ad::map::point::ENUCoordinate valueZ(-1e6);
::ad::map::point::ENUCoordinate valueZ(-1e8);
value.z = valueZ;

// override member with data type value below input range minimum
::ad::map::point::ENUCoordinate invalidInitializedMember(-1e6 * 1.1);
::ad::map::point::ENUCoordinate invalidInitializedMember(-1e8 * 1.1);
value.x = invalidInitializedMember;
ASSERT_FALSE(withinValidInputRange(value));
}

TEST(ENUPointValidInputRangeTests, testValidInputRangeXTooBig)
{
::ad::map::point::ENUPoint value;
::ad::map::point::ENUCoordinate valueX(-1e6);
::ad::map::point::ENUCoordinate valueX(-1e8);
value.x = valueX;
::ad::map::point::ENUCoordinate valueY(-1e6);
::ad::map::point::ENUCoordinate valueY(-1e8);
value.y = valueY;
::ad::map::point::ENUCoordinate valueZ(-1e6);
::ad::map::point::ENUCoordinate valueZ(-1e8);
value.z = valueZ;

// override member with data type value above input range maximum
::ad::map::point::ENUCoordinate invalidInitializedMember(1e6 * 1.1);
::ad::map::point::ENUCoordinate invalidInitializedMember(1e8 * 1.1);
value.x = invalidInitializedMember;
ASSERT_FALSE(withinValidInputRange(value));
}
Expand All @@ -73,31 +73,31 @@ TEST(ENUPointValidInputRangeTests, testValidInputRangexDefault)
TEST(ENUPointValidInputRangeTests, testValidInputRangeYTooSmall)
{
::ad::map::point::ENUPoint value;
::ad::map::point::ENUCoordinate valueX(-1e6);
::ad::map::point::ENUCoordinate valueX(-1e8);
value.x = valueX;
::ad::map::point::ENUCoordinate valueY(-1e6);
::ad::map::point::ENUCoordinate valueY(-1e8);
value.y = valueY;
::ad::map::point::ENUCoordinate valueZ(-1e6);
::ad::map::point::ENUCoordinate valueZ(-1e8);
value.z = valueZ;

// override member with data type value below input range minimum
::ad::map::point::ENUCoordinate invalidInitializedMember(-1e6 * 1.1);
::ad::map::point::ENUCoordinate invalidInitializedMember(-1e8 * 1.1);
value.y = invalidInitializedMember;
ASSERT_FALSE(withinValidInputRange(value));
}

TEST(ENUPointValidInputRangeTests, testValidInputRangeYTooBig)
{
::ad::map::point::ENUPoint value;
::ad::map::point::ENUCoordinate valueX(-1e6);
::ad::map::point::ENUCoordinate valueX(-1e8);
value.x = valueX;
::ad::map::point::ENUCoordinate valueY(-1e6);
::ad::map::point::ENUCoordinate valueY(-1e8);
value.y = valueY;
::ad::map::point::ENUCoordinate valueZ(-1e6);
::ad::map::point::ENUCoordinate valueZ(-1e8);
value.z = valueZ;

// override member with data type value above input range maximum
::ad::map::point::ENUCoordinate invalidInitializedMember(1e6 * 1.1);
::ad::map::point::ENUCoordinate invalidInitializedMember(1e8 * 1.1);
value.y = invalidInitializedMember;
ASSERT_FALSE(withinValidInputRange(value));
}
Expand All @@ -113,31 +113,31 @@ TEST(ENUPointValidInputRangeTests, testValidInputRangeyDefault)
TEST(ENUPointValidInputRangeTests, testValidInputRangeZTooSmall)
{
::ad::map::point::ENUPoint value;
::ad::map::point::ENUCoordinate valueX(-1e6);
::ad::map::point::ENUCoordinate valueX(-1e8);
value.x = valueX;
::ad::map::point::ENUCoordinate valueY(-1e6);
::ad::map::point::ENUCoordinate valueY(-1e8);
value.y = valueY;
::ad::map::point::ENUCoordinate valueZ(-1e6);
::ad::map::point::ENUCoordinate valueZ(-1e8);
value.z = valueZ;

// override member with data type value below input range minimum
::ad::map::point::ENUCoordinate invalidInitializedMember(-1e6 * 1.1);
::ad::map::point::ENUCoordinate invalidInitializedMember(-1e8 * 1.1);
value.z = invalidInitializedMember;
ASSERT_FALSE(withinValidInputRange(value));
}

TEST(ENUPointValidInputRangeTests, testValidInputRangeZTooBig)
{
::ad::map::point::ENUPoint value;
::ad::map::point::ENUCoordinate valueX(-1e6);
::ad::map::point::ENUCoordinate valueX(-1e8);
value.x = valueX;
::ad::map::point::ENUCoordinate valueY(-1e6);
::ad::map::point::ENUCoordinate valueY(-1e8);
value.y = valueY;
::ad::map::point::ENUCoordinate valueZ(-1e6);
::ad::map::point::ENUCoordinate valueZ(-1e8);
value.z = valueZ;

// override member with data type value above input range maximum
::ad::map::point::ENUCoordinate invalidInitializedMember(1e6 * 1.1);
::ad::map::point::ENUCoordinate invalidInitializedMember(1e8 * 1.1);
value.z = invalidInitializedMember;
ASSERT_FALSE(withinValidInputRange(value));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ TEST_F(CoordianteTransformTest, Distances)
ASSERT_TRUE(isValid(ecef3));

ENUPoint enu0 = mCoordinateTransform.ECEF2ENU(ecef1);
ASSERT_FALSE(isValid(enu0, false));
ASSERT_TRUE(isValid(enu0, false));

mCoordinateTransform.setENUReferencePoint(geo1);
ENUPoint enu1 = mCoordinateTransform.ECEF2ENU(ecef1);
Expand Down
2 changes: 1 addition & 1 deletion doc/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Release 2.4.8
#### :ghost: Maintenance
* Allow larger ENUCoordinates up to 1e9 (previously 1e6) and ENUCoordinate input up to 1e7 (previously 1.6e4)
* Allow larger ENUCoordinates up to 1e9 (previously 1e6) and ENUCoordinate input up to 1e8 (previously 1.6e4)

## Release 2.4.7
#### :ghost: Maintenance
Expand Down

0 comments on commit 97fd301

Please sign in to comment.