From afb0e79078ae7f52eae38fea0eaf050b59083902 Mon Sep 17 00:00:00 2001 From: httpdigest Date: Mon, 3 Jul 2023 16:27:04 +0200 Subject: [PATCH] Document better which matrix properties imply which other properties --- src/main/java/org/joml/Matrix4dc.java | 4 +++- src/main/java/org/joml/Matrix4fc.java | 4 +++- src/main/java/org/joml/Matrix4x3dc.java | 2 ++ src/main/java/org/joml/Matrix4x3fc.java | 2 ++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/joml/Matrix4dc.java b/src/main/java/org/joml/Matrix4dc.java index 1729a7b6..75f21b51 100644 --- a/src/main/java/org/joml/Matrix4dc.java +++ b/src/main/java/org/joml/Matrix4dc.java @@ -122,15 +122,17 @@ public interface Matrix4dc { byte PROPERTY_AFFINE = 1<<1; /** * Bit returned by {@link #properties()} to indicate that the matrix represents the identity transformation. + * This implies {@link #PROPERTY_AFFINE}, {@link #PROPERTY_TRANSLATION} and {@link #PROPERTY_ORTHONORMAL}. */ byte PROPERTY_IDENTITY = 1<<2; /** * Bit returned by {@link #properties()} to indicate that the matrix represents a pure translation transformation. + * This implies {@link #PROPERTY_AFFINE} and {@link #PROPERTY_ORTHONORMAL}. */ byte PROPERTY_TRANSLATION = 1<<3; /** * Bit returned by {@link #properties()} to indicate that the upper-left 3x3 submatrix represents an orthogonal - * matrix (i.e. orthonormal basis). For practical reasons, this property also always implies + * matrix (i.e. orthonormal basis). For practical reasons, this property also always implies * {@link #PROPERTY_AFFINE} in this implementation. */ byte PROPERTY_ORTHONORMAL = 1<<4; diff --git a/src/main/java/org/joml/Matrix4fc.java b/src/main/java/org/joml/Matrix4fc.java index b22e5c80..1b11dbb3 100644 --- a/src/main/java/org/joml/Matrix4fc.java +++ b/src/main/java/org/joml/Matrix4fc.java @@ -121,15 +121,17 @@ public interface Matrix4fc { byte PROPERTY_AFFINE = 1<<1; /** * Bit returned by {@link #properties()} to indicate that the matrix represents the identity transformation. + * This implies {@link #PROPERTY_AFFINE}, {@link #PROPERTY_TRANSLATION} and {@link #PROPERTY_ORTHONORMAL}. */ byte PROPERTY_IDENTITY = 1<<2; /** * Bit returned by {@link #properties()} to indicate that the matrix represents a pure translation transformation. + * This implies {@link #PROPERTY_AFFINE} and {@link #PROPERTY_ORTHONORMAL}. */ byte PROPERTY_TRANSLATION = 1<<3; /** * Bit returned by {@link #properties()} to indicate that the upper-left 3x3 submatrix represents an orthogonal - * matrix (i.e. orthonormal basis). For practical reasons, this property also always implies + * matrix (i.e. orthonormal basis). For practical reasons, this property also always implies * {@link #PROPERTY_AFFINE} in this implementation. */ byte PROPERTY_ORTHONORMAL = 1<<4; diff --git a/src/main/java/org/joml/Matrix4x3dc.java b/src/main/java/org/joml/Matrix4x3dc.java index 0374b2d0..5d3937de 100644 --- a/src/main/java/org/joml/Matrix4x3dc.java +++ b/src/main/java/org/joml/Matrix4x3dc.java @@ -74,10 +74,12 @@ public interface Matrix4x3dc { byte PROPERTY_UNKNOWN = 0; /** * Bit returned by {@link #properties()} to indicate that the matrix represents the identity transformation. + * This implies {@link #PROPERTY_TRANSLATION} and {@link #PROPERTY_ORTHONORMAL}. */ byte PROPERTY_IDENTITY = 1<<2; /** * Bit returned by {@link #properties()} to indicate that the matrix represents a pure translation transformation. + * This implies {@link #PROPERTY_ORTHONORMAL}. */ byte PROPERTY_TRANSLATION = 1<<3; /** diff --git a/src/main/java/org/joml/Matrix4x3fc.java b/src/main/java/org/joml/Matrix4x3fc.java index 38e7e7cc..0ec43d00 100644 --- a/src/main/java/org/joml/Matrix4x3fc.java +++ b/src/main/java/org/joml/Matrix4x3fc.java @@ -73,10 +73,12 @@ public interface Matrix4x3fc { byte PROPERTY_UNKNOWN = 0; /** * Bit returned by {@link #properties()} to indicate that the matrix represents the identity transformation. + * This implies {@link #PROPERTY_TRANSLATION} and {@link #PROPERTY_ORTHONORMAL}. */ byte PROPERTY_IDENTITY = 1<<2; /** * Bit returned by {@link #properties()} to indicate that the matrix represents a pure translation transformation. + * This implies {@link #PROPERTY_ORTHONORMAL}. */ byte PROPERTY_TRANSLATION = 1<<3; /**