From b2ffebb927a6a196280a63c61c94b3b987f45c63 Mon Sep 17 00:00:00 2001 From: Diego Gomez Deck Date: Mon, 15 Oct 2018 12:52:20 +0200 Subject: [PATCH] - --- .../glob3/mobile/generated/LayoutUtils.java | 24 +++++++++---------- .../Commons/Geometry/LayoutUtils.cpp | 15 ++++++------ .../Commons/Geometry/LayoutUtils.hpp | 9 ++++--- 3 files changed, 23 insertions(+), 25 deletions(-) diff --git a/Commons/G3MSharedSDK/src/org/glob3/mobile/generated/LayoutUtils.java b/Commons/G3MSharedSDK/src/org/glob3/mobile/generated/LayoutUtils.java index af4f0c0830..21659e9c63 100644 --- a/Commons/G3MSharedSDK/src/org/glob3/mobile/generated/LayoutUtils.java +++ b/Commons/G3MSharedSDK/src/org/glob3/mobile/generated/LayoutUtils.java @@ -17,10 +17,9 @@ - //class Geodetic3D; //class Geodetic2D; -//class EllipsoidalPlanet; +//class Planet; public class LayoutUtils @@ -29,18 +28,18 @@ private LayoutUtils() { } - public static java.util.ArrayList splitOverCircle(EllipsoidalPlanet EllipsoidalPlanet, Geodetic3D center, double radiusInMeters, int splits) + public static java.util.ArrayList splitOverCircle(Planet planet, Geodetic3D center, double radiusInMeters, int splits) { - return splitOverCircle(EllipsoidalPlanet, center, radiusInMeters, splits, Angle.zero()); + return splitOverCircle(planet, center, radiusInMeters, splits, Angle.zero()); } - public static java.util.ArrayList splitOverCircle(EllipsoidalPlanet EllipsoidalPlanet, Geodetic3D center, double radiusInMeters, int splits, Angle startAngle) + public static java.util.ArrayList splitOverCircle(Planet planet, Geodetic3D center, double radiusInMeters, int splits, Angle startAngle) { java.util.ArrayList result = new java.util.ArrayList(); final double startAngleInRadians = startAngle._radians; final double deltaInRadians = (DefineConstants.PI * 2.0) / splits; - final Vector3D cartesianCenter = EllipsoidalPlanet.toCartesian(center); - final Vector3D normal = EllipsoidalPlanet.geodeticSurfaceNormal(center); + final Vector3D cartesianCenter = planet.toCartesian(center); + final Vector3D normal = planet.geodeticSurfaceNormal(center); final Vector3D northInPlane = Vector3D.UP_Z.projectionInPlane(normal).normalized().times(radiusInMeters); for (int i = 0; i < splits; i++) @@ -50,19 +49,20 @@ public static java.util.ArrayList splitOverCircle(EllipsoidalPlanet final Vector3D finalVector = northInPlane.rotateAroundAxis(normal, Angle.fromRadians(angleInRadians)); final Vector3D cartesianPosition = cartesianCenter.add(finalVector); - result.add(new Geodetic3D(EllipsoidalPlanet.toGeodetic3D(cartesianPosition))); + result.add(new Geodetic3D(planet.toGeodetic3D(cartesianPosition))); } return result; } - public static java.util.ArrayList splitOverCircle(EllipsoidalPlanet EllipsoidalPlanet, Geodetic2D center, double radiusInMeters, int splits) + + public static java.util.ArrayList splitOverCircle(Planet planet, Geodetic2D center, double radiusInMeters, int splits) { - return splitOverCircle(EllipsoidalPlanet, center, radiusInMeters, splits, Angle.zero()); + return splitOverCircle(planet, center, radiusInMeters, splits, Angle.zero()); } - public static java.util.ArrayList splitOverCircle(EllipsoidalPlanet EllipsoidalPlanet, Geodetic2D center, double radiusInMeters, int splits, Angle startAngle) + public static java.util.ArrayList splitOverCircle(Planet planet, Geodetic2D center, double radiusInMeters, int splits, Angle startAngle) { java.util.ArrayList result2D = new java.util.ArrayList(); - java.util.ArrayList result3D = splitOverCircle(EllipsoidalPlanet, new Geodetic3D(center, 0), radiusInMeters, splits, startAngle); + java.util.ArrayList result3D = splitOverCircle(planet, new Geodetic3D(center, 0), radiusInMeters, splits, startAngle); for (int i = 0; i < splits; i++) { diff --git a/iOS/G3MiOSSDK/Commons/Geometry/LayoutUtils.cpp b/iOS/G3MiOSSDK/Commons/Geometry/LayoutUtils.cpp index 8d8a166bb9..0d9219996a 100644 --- a/iOS/G3MiOSSDK/Commons/Geometry/LayoutUtils.cpp +++ b/iOS/G3MiOSSDK/Commons/Geometry/LayoutUtils.cpp @@ -14,7 +14,7 @@ #include "Geodetic2D.hpp" -std::vector LayoutUtils::splitOverCircle(const EllipsoidalPlanet* EllipsoidalPlanet, +std::vector LayoutUtils::splitOverCircle(const Planet* planet, const Geodetic3D& center, double radiusInMeters, int splits, @@ -23,8 +23,8 @@ std::vector LayoutUtils::splitOverCircle(const EllipsoidalPlanet* E const double startAngleInRadians = startAngle._radians; const double deltaInRadians = (PI * 2.0) / splits; - const Vector3D cartesianCenter = EllipsoidalPlanet->toCartesian(center); - const Vector3D normal = EllipsoidalPlanet->geodeticSurfaceNormal(center); + const Vector3D cartesianCenter = planet->toCartesian(center); + const Vector3D normal = planet->geodeticSurfaceNormal(center); const Vector3D northInPlane = Vector3D::UP_Z.projectionInPlane(normal).normalized().times(radiusInMeters); for (int i = 0; i < splits; i++) { @@ -34,22 +34,21 @@ std::vector LayoutUtils::splitOverCircle(const EllipsoidalPlanet* E Angle::fromRadians(angleInRadians)); const Vector3D cartesianPosition = cartesianCenter.add(finalVector); - result.push_back( new Geodetic3D( EllipsoidalPlanet->toGeodetic3D(cartesianPosition) ) ); + result.push_back( new Geodetic3D( planet->toGeodetic3D(cartesianPosition) ) ); } return result; } - -std::vector LayoutUtils::splitOverCircle(const EllipsoidalPlanet* EllipsoidalPlanet, +std::vector LayoutUtils::splitOverCircle(const Planet* planet, const Geodetic2D& center, double radiusInMeters, int splits, const Angle& startAngle) { std::vector result2D; - std::vector result3D = splitOverCircle(EllipsoidalPlanet, Geodetic3D(center, 0), radiusInMeters, splits, startAngle); + std::vector result3D = splitOverCircle(planet, Geodetic3D(center, 0), radiusInMeters, splits, startAngle); - for (int i = 0; i < splits; i++) { + for (int i = 0; i < splits; i++) { result2D.push_back( new Geodetic2D(result3D[i]->asGeodetic2D())); delete result3D[i]; } diff --git a/iOS/G3MiOSSDK/Commons/Geometry/LayoutUtils.hpp b/iOS/G3MiOSSDK/Commons/Geometry/LayoutUtils.hpp index c742b0d63a..e3fc9db188 100644 --- a/iOS/G3MiOSSDK/Commons/Geometry/LayoutUtils.hpp +++ b/iOS/G3MiOSSDK/Commons/Geometry/LayoutUtils.hpp @@ -10,12 +10,11 @@ #define G3MiOSSDK_LayoutUtils #include - #include "Angle.hpp" class Geodetic3D; class Geodetic2D; -class EllipsoidalPlanet; +class Planet; class LayoutUtils { @@ -23,17 +22,17 @@ class LayoutUtils { LayoutUtils() {} public: - static std::vector splitOverCircle(const EllipsoidalPlanet* EllipsoidalPlanet, + static std::vector splitOverCircle(const Planet* planet, const Geodetic3D& center, double radiusInMeters, int splits, const Angle& startAngle = Angle::zero()); - static std::vector splitOverCircle(const EllipsoidalPlanet* EllipsoidalPlanet, + + static std::vector splitOverCircle(const Planet* planet, const Geodetic2D& center, double radiusInMeters, int splits, const Angle& startAngle = Angle::zero()); }; - #endif