Class 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
    • Constructor Detail

      • 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 Detail

      • 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