This is an automated email from the ASF dual-hosted git repository. erans pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-geometry.git
commit a7ef97fea91e6ed73df653041d0efdfa15f1ec26 Author: Steven Fontaine <[email protected]> AuthorDate: Tue Sep 24 13:22:16 2019 -0500 GEOMETRY-46: Add additional UnitVector methods --- .../org/apache/commons/geometry/euclidean/oned/Vector1D.java | 12 ++++++++++++ .../apache/commons/geometry/euclidean/threed/Vector3D.java | 12 ++++++++++++ .../org/apache/commons/geometry/euclidean/twod/Vector2D.java | 12 ++++++++++++ 3 files changed, 36 insertions(+) diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/Vector1D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/Vector1D.java index 07f3417..56b0af0 100644 --- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/Vector1D.java +++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/Vector1D.java @@ -409,6 +409,12 @@ public class Vector1D extends EuclideanVector<Vector1D> { /** {@inheritDoc} */ @Override + public double normSq() { + return 1; + } + + /** {@inheritDoc} */ + @Override public Vector1D normalize() { return this; } @@ -418,5 +424,11 @@ public class Vector1D extends EuclideanVector<Vector1D> { public Vector1D withNorm(final double mag) { return multiply(mag); } + + /** {@inheritDoc} */ + @Override + public UnitVector negate() { + return new UnitVector(-super.x); + } } } diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Vector3D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Vector3D.java index 977c32a..1ad050b 100644 --- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Vector3D.java +++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Vector3D.java @@ -622,6 +622,12 @@ public class Vector3D extends MultiDimensionalEuclideanVector<Vector3D> { /** {@inheritDoc} */ @Override + public double normSq() { + return 1; + } + + /** {@inheritDoc} */ + @Override public Vector3D normalize() { return this; } @@ -631,5 +637,11 @@ public class Vector3D extends MultiDimensionalEuclideanVector<Vector3D> { public Vector3D withNorm(final double mag) { return multiply(mag); } + + /** {@inheritDoc} */ + @Override + public UnitVector negate() { + return new UnitVector(-super.x, -super.y, -super.z); + } } } diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Vector2D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Vector2D.java index 8f3cf7b..27eef71 100644 --- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Vector2D.java +++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Vector2D.java @@ -556,6 +556,12 @@ public class Vector2D extends MultiDimensionalEuclideanVector<Vector2D> { /** {@inheritDoc} */ @Override + public double normSq() { + return 1; + } + + /** {@inheritDoc} */ + @Override public Vector2D normalize() { return this; } @@ -565,5 +571,11 @@ public class Vector2D extends MultiDimensionalEuclideanVector<Vector2D> { public Vector2D withNorm(final double mag) { return multiply(mag); } + + /** {@inheritDoc} */ + @Override + public UnitVector negate() { + return new UnitVector(-super.x, -super.y); + } } }
