Skip to content

Latest commit

 

History

History
51 lines (43 loc) · 2.16 KB

README.md

File metadata and controls

51 lines (43 loc) · 2.16 KB

Geom

Utility classes for geometry computations

This project contains utility classes for geometry computations, mainly targeting the classes from the java.awt.geom package. For most of the classes and interfaces of the java.awt.geom package, there is a corresponding class that contains utility methods:

  • java.awt.geom.Point2D : de.javagl.geom.Points
  • java.awt.geom.Line2D : de.javagl.geom.Liness
  • java.awt.geom.Rectangle2D : de.javagl.geom.Rectangles
  • java.awt.geom.Path2D : de.javagl.geom.Paths
  • java.awt.geom.Shape : de.javagl.geom.Shapes
  • java.awt.geom.AffineTransform : de.javagl.geom.AffineTransforms
For the primitives, these classes contain utility methods that in general allow modifications of the primitives that are implemented aiming at high performance and low memory overhead. For example, most of the methods have an optional parameter that may store the transformed result, and will return this result parameter, or create a new object internally when the result parameter was null.

The remaining classes deal with tasks that frequently occur in geometry-heavy applications. All these classes should be considered as being preliminary, meaning that they might be moved to different packages, or minor details of the interfaces may change, but their basic functionality will then still be available in a similar (and possibly extended) form.

Change log:

Version 0.0.2-SNAPSHOT:

  • Bugfix in the AffineTransforms class to handle negative scales when transforming rectangles
  • Added the Stars class which allows creating star shapes
  • Added option to create closed CatmullRomSpline instances in response to Issue 1
  • Added methods to compute the area of shapes in the Shapes class
  • Added PathIterators class, which offers a path iterator that limits the distance between consecutive points
  • Added method for computing sub-shapes in the Shapes class
  • Added method for computing the (border) length of shapes in the Shapes class

Version 0.0.1, 2015-06-22:

  • Initial commit