Skip to content

Releases: micycle1/PGS

PGS 1.1.0

13 Jun 21:12

Choose a tag to compare

Added

  • PGS_CirclePacking — a class for circle packings of shapes, subject to varying constraints and patterns of tangencies
  • closestPointPair() to PGS_Optimisation. Efficiently computes the closest pair of points in a set of points.
  • farthestPointPair() to PGS_Optimisation. Efficiently computes the farthest pair of points in a set of points.
  • chaikinCut() to PGS_Morphology. Smoothes shapes via iterated corner cuts.
  • createHeart() to PGS_Construction. Generates heart-shaped PShapes.
  • urquhartFaces() to PGS_Triangulation. Tesselates a triangulation into polygons corresponding to the faces of an Urquhart graph.
  • gabrielFaces() to PGS_Triangulation. Tesselates a triangulation into polygons corresponding to the faces of an Gabriel graph.
  • Additional method signature forearCutTriangulation() accepts a PShape argument (previously it accepted a list of points only)
  • Additional method signature for generateRandomPoints() that accepts a random seed.
  • Additional method signature for each of the existing 3 Delaunay Triangulation methods, accepting a collection of points only.
  • Expand PGS_Conversion to support conversion between:
    • PATH PShape<->JTS LineString
    • POINTS PShape<->JTS MultiPoint
    • LINES PShape<->JTS MultiLineString

Changed

  • Split PGS_Processing.concaveHull() into concaveHullDFS() and concaveHullBFS() (the method previously used the BFS approach only).
  • Compute (rather than ignore) circle sites of radius 0 (these are effectively points) in PGS_Voronoi.voronoiCirclesDiagram()
  • Replaced the algorithm used by PGS_Processing.generateRandomPoints() with a triangulation-based approach. The new approach is ~10x faster!
  • Renamed delaunayTriangulationTin() to delaunayTriangulationMesh().
  • Renamed poissonTriangulation() to poissonTriangulationPoints() (the method of the same original name now outputs a PShape).

Fixed

  • Error when concaveHull2() was called with alpha > 1.
  • Concave hull methods no longer mutate the input point set.
  • PShapes marked as closed and having less than 3 vertices could cause an error during conversion (#22).
  • PGS_Conversion.toPVector() now handles primitive PShapes
  • Constrained Delaunay triangulations now respect shape holes

Removed

  • PGS_Processing.concaveHull() (see Changed)

PGS 1.0.0

06 May 21:01

Choose a tag to compare

The first release😀.

Download the .jar from here to use PGS as a library within Processing.

A notable behavior (yet inconsequential for most users) at the moment is that GROUP PShapes (i.e. PShapes with multiple children) are flattened (unioned) before being processed. If this is behavior is ever problematic to you, then iterate over the child PShapes individually, calling the method for each one.