org.jdesktop.swingx.geom
Class Star2D

java.lang.Object
  extended by org.jdesktop.swingx.geom.Star2D
All Implemented Interfaces:
java.awt.Shape

public class Star2D
extends java.lang.Object
implements java.awt.Shape

This class provides a star shape. A star is defined by two radii and a number of branches. Each branch spans between the two radii. The inner radius is the distance between the center of the star and the origin of the branches. The outer radius is the distance between the center of the star and the tips of the branches.

Author:
Romain Guy

Constructor Summary
Star2D(double x, double y, double innerRadius, double outerRadius, int branchesCount)
          Creates a new star whose center is located at the specified x and y coordinates.
 
Method Summary
 boolean contains(double x, double y)
          
 boolean contains(double x, double y, double w, double h)
          
 boolean contains(java.awt.geom.Point2D p)
          
 boolean contains(java.awt.geom.Rectangle2D r)
          
 java.awt.Rectangle getBounds()
          
 java.awt.geom.Rectangle2D getBounds2D()
          
 int getBranchesCount()
          Returns the number of branches of the star.
 double getInnerRadius()
          Returns the distance between the center of the star and the origin of the branches.
 double getOuterRadius()
          Returns the distance between the center of the star and the tips of the branches.
 java.awt.geom.PathIterator getPathIterator(java.awt.geom.AffineTransform at)
          
 java.awt.geom.PathIterator getPathIterator(java.awt.geom.AffineTransform at, double flatness)
          
 double getX()
          Returns the location of the center of star.
 double getY()
          Returns the location of the center of star.
 boolean intersects(double x, double y, double w, double h)
          
 boolean intersects(java.awt.geom.Rectangle2D r)
          
 void setBranchesCount(int branchesCount)
          Sets the number branches of the star.
 void setInnerRadius(double innerRadius)
          Sets the inner radius of the star, that is the distance between its center and the origin of the branches.
 void setOuterRadius(double outerRadius)
          Sets the outer radius of the star, that is the distance between its center and the tips of the branches.
 void setX(double x)
          Sets location of the center of the star.
 void setY(double y)
          Sets the location of the center of the star.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Star2D

public Star2D(double x,
              double y,
              double innerRadius,
              double outerRadius,
              int branchesCount)

Creates a new star whose center is located at the specified x and y coordinates. The number of branches and their length can be specified.

Parameters:
x - the location of the star center
y - the location of the star center
innerRadius - the distance between the center of the star and the origin of the branches
outerRadius - the distance between the center of the star and the tip of the branches
branchesCount - the number of branches in this star; must be >= 3
Throws:
java.lang.IllegalArgumentException - if branchesCount is < 3 or if innerRadius is >= outerRadius
Method Detail

setInnerRadius

public void setInnerRadius(double innerRadius)

Sets the inner radius of the star, that is the distance between its center and the origin of the branches. The inner radius must always be lower than the outer radius.

Parameters:
innerRadius - the distance between the center of the star and the origin of the branches
Throws:
java.lang.IllegalArgumentException - if the inner radius is >= outer radius

setX

public void setX(double x)

Sets location of the center of the star.

Parameters:
x - the x location of the center of the star

setY

public void setY(double y)

Sets the location of the center of the star.

Parameters:
y - the x location of the center of the star

setOuterRadius

public void setOuterRadius(double outerRadius)

Sets the outer radius of the star, that is the distance between its center and the tips of the branches. The outer radius must always be greater than the inner radius.

Parameters:
outerRadius - the distance between the center of the star and the tips of the branches
Throws:
java.lang.IllegalArgumentException - if the inner radius is >= outer radius

setBranchesCount

public void setBranchesCount(int branchesCount)

Sets the number branches of the star. A star must always have at least 3 branches.

Parameters:
branchesCount - the number of branches
Throws:
java.lang.IllegalArgumentException - if branchesCount is <=2

getX

public double getX()

Returns the location of the center of star.

Returns:
the x coordinate of the center of the star

getY

public double getY()

Returns the location of the center of star.

Returns:
the y coordinate of the center of the star

getInnerRadius

public double getInnerRadius()

Returns the distance between the center of the star and the origin of the branches.

Returns:
the inner radius of the star

getOuterRadius

public double getOuterRadius()

Returns the distance between the center of the star and the tips of the branches.

Returns:
the outer radius of the star

getBranchesCount

public int getBranchesCount()

Returns the number of branches of the star.

Returns:
the number of branches, always >= 3

getBounds

public java.awt.Rectangle getBounds()

Specified by:
getBounds in interface java.awt.Shape

getBounds2D

public java.awt.geom.Rectangle2D getBounds2D()

Specified by:
getBounds2D in interface java.awt.Shape

contains

public boolean contains(double x,
                        double y)

Specified by:
contains in interface java.awt.Shape

contains

public boolean contains(java.awt.geom.Point2D p)

Specified by:
contains in interface java.awt.Shape

intersects

public boolean intersects(double x,
                          double y,
                          double w,
                          double h)

Specified by:
intersects in interface java.awt.Shape

intersects

public boolean intersects(java.awt.geom.Rectangle2D r)

Specified by:
intersects in interface java.awt.Shape

contains

public boolean contains(double x,
                        double y,
                        double w,
                        double h)

Specified by:
contains in interface java.awt.Shape

contains

public boolean contains(java.awt.geom.Rectangle2D r)

Specified by:
contains in interface java.awt.Shape

getPathIterator

public java.awt.geom.PathIterator getPathIterator(java.awt.geom.AffineTransform at)

Specified by:
getPathIterator in interface java.awt.Shape

getPathIterator

public java.awt.geom.PathIterator getPathIterator(java.awt.geom.AffineTransform at,
                                                  double flatness)

Specified by:
getPathIterator in interface java.awt.Shape