Class SineStarFactory

java.lang.Object
org.locationtech.jts.util.GeometricShapeFactory
org.locationtech.jts.geom.util.SineStarFactory

public class SineStarFactory extends GeometricShapeFactory
Creates geometries which are shaped like multi-armed stars with each arm shaped like a sine wave. These kinds of geometries are useful as a more complex geometry for testing algorithms.
Author:
Martin Davis
  • Field Details

    • numArms

      protected int numArms
    • armLengthRatio

      protected double armLengthRatio
  • Constructor Details

    • SineStarFactory

      public SineStarFactory()
      Creates a factory which will create sine stars using the default GeometryFactory.
    • SineStarFactory

      public SineStarFactory(GeometryFactory geomFact)
      Creates a factory which will create sine stars using the given GeometryFactory.
      Parameters:
      geomFact - the factory to use
  • Method Details

    • create

      public static Geometry create(Coordinate origin, double size, int nPts, int nArms, double armLengthRatio)
      Creates a sine star with the given parameters.
      Parameters:
      origin - the origin point
      size - the size of the star
      nPts - the number of points in the star
      nArms - the number of arms to generate
      armLengthRatio - the arm length ratio
      Returns:
      a sine star shape
    • setNumArms

      public void setNumArms(int numArms)
      Sets the number of arms in the star
      Parameters:
      numArms - the number of arms to generate
    • setArmLengthRatio

      public void setArmLengthRatio(double armLengthRatio)
      Sets the ratio of the length of each arm to the radius of the star. A smaller number makes the arms shorter. Value should be between 0.0 and 1.0
      Parameters:
      armLengthRatio - the ratio determining the length of them arms.
    • createSineStar

      public Geometry createSineStar()
      Generates the geometry for the sine star
      Returns:
      the geometry representing the sine star