vecmath

vecmath: A Java vector math library

APACHE-2.0 License

Stars
7
Committers
1

Bot releases are visible (Hide)

vecmath - v0.13 Latest Release

Published by realityforge almost 3 years ago

Changes in this release:

  • Update the org.realityforge.grim artifacts to version 0.06.
  • Add Vector3d.mult(Matrix4d) method.
  • Add the Matrix4d.setOrthographic(...) support method.
vecmath - v0.12

Published by realityforge about 3 years ago

Changes in this release:

  • Add constants COMPONENTS, BYTES, SIZE, FLOAT_SIZE and FLOAT_BYTES to the types Matrix4d, Vector2d, Vector3f, Vector3d and Vector4d to simplify operations when manipulating buffers containing these values.
vecmath - v0.11

Published by realityforge about 3 years ago

Changes in this release:

  • Remove test dependencies from the pom as not needed by downstream libraries.
  • Make the org.realityforge.grim dependency transitive in the generated pom to reflect actual intent.
vecmath - v0.10

Published by realityforge about 3 years ago

Changes in this release:

  • Upgrade the org.realityforge.grim artifacts to version 0.05.
  • Upgrade the au.com.stocksoftware.idea.codestyle artifact to version 1.17.
  • Add Matrix4d.multiply(...) static and instance methods.
vecmath - v0.09

Published by realityforge almost 4 years ago

  • Upgrade the org.realityforge.org.jetbrains.annotations artifact to version 1.7.0.
  • Add Matrix4d.setTranslation(x,y,z) method to change matrix into translation matrix.
  • Add Matrix4d.translate(...) methods to support applying a translation to a matrix.
  • Change the way that the Matrix4d.toArray(...) layout the matrix in the array to align with OpenGL conventions.
  • Rename Matrix4d.identity() method to Matrix4d.setIdentity() to follow the conventions that methods that set the values of the matrix rather than applying an operation are prefixed with set.
  • Add Matrix4d.setScale(...) methods to change matrix into a scaling matrix.
  • Add Matrix4d.scale(...) methods to support applying a scale operation to a matrix.
  • Change the Matrix4d.asString() method to layout the matrix components in multi-line column major format rather than a single line row-major format. Introduce the methods Matrix4d.asColumnMajorString() and Matrix4d.asRowMajorString() so that the desired string form can be explicitly requested.
  • Add Matrix4d.setPerspective(...) method to set matrix up with a perspective projection.
  • Add basic rotations to Matrix4d in the form Matrix4d.rotateX(double), Matrix4d.rotateY(double) and Matrix4d.rotateZ(double).
  • Add the Matrix4d.lookAt(eye,center,up) helper method to apply the "lookAt" transformation.
vecmath - v0.08

Published by realityforge almost 4 years ago

  • Update javadocs in Vector* classes to indicate that the toString() method may be optimized out depending on the values of some compile-time settings.
  • Introduce a method named asString() to the Vector* classes to return a string representation of the vectors that
    will not be optimized out if it is used, regardless of the compile time settings.
  • Create a minimal Matrix4d matrix.
  • Add a toArray() method to the Vector* classes to support extracting the vector components as an array of values.
  • Remove the unused z parameter from the Vector2d.sub(...) method.
  • Add a lengthSquared() method to the Vector* classes to support retrieving the suared magnitude of the vector. This allows the caller to minimize the number of invocations to sqrt if multiple length values are added or subtracted.
  • Create a 4-dimensional, double-precision, floating-point vector class named Vector4d.
vecmath - v0.07

Published by realityforge about 4 years ago

  • Add a 2-dimensional, double-precision, floating-point vector named Vector2d.
vecmath - v0.06

Published by realityforge about 4 years ago

  • Add div (scalar divide) method to Vector3[fd].
vecmath - v0.05

Published by realityforge about 4 years ago

  • Add lerp (linear interpolation) methods to Vector3[fd].
vecmath - v0.04

Published by realityforge about 4 years ago

  • Add Vector3f.isEqualTo(Vector3f) method that can be invoked even if the vecmath.isObjectEqualsImplemented
    compile-time constant is set to false.
  • Introduce a Vector3d which has feature parity with Vector3f except that the components are represented
    using double precision floating point numbers.
vecmath - v0.03

Published by realityforge about 4 years ago

  • Add a compile time setting that controls whether the Vector3f overrides Object.equals(Object) and
    Object.hashCode() methods. These methods are very difficult for GWT and/or J2CL to optimize away but
    are rarely needed for geometric objects. The compile setting defaults to omitting these methods but still
    allows the applciation developer to opt-in to including the methods if required.
vecmath - v0.02

Published by realityforge about 4 years ago

  • Add missing inherit of grim.annotations.Annotations gwt module into org.realityforge.vecmath.Vecmath.
  • Add a Vector3f.angle(Vector3f) method to calculate the angle between two vectors.
vecmath - v0.01

Published by realityforge about 4 years ago

🎉 Initial super-alpha release 🎉.