Skip to content

Commit

Permalink
Document better which matrix properties imply which other properties
Browse files Browse the repository at this point in the history
  • Loading branch information
httpdigest committed Jul 3, 2023
1 parent 22d6fc1 commit afb0e79
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 2 deletions.
4 changes: 3 additions & 1 deletion src/main/java/org/joml/Matrix4dc.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 3 additions & 1 deletion src/main/java/org/joml/Matrix4fc.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/org/joml/Matrix4x3dc.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
/**
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/org/joml/Matrix4x3fc.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
/**
Expand Down

0 comments on commit afb0e79

Please sign in to comment.