public class Star2D extends Object implements 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.
Modifier and Type | Field and Description |
---|---|
private int |
branchesCount |
private double |
innerRadius |
private double |
outerRadius |
private Shape |
starShape |
private double |
x |
private double |
y |
Constructor and Description |
---|
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. |
Modifier and Type | Method and Description |
---|---|
boolean |
contains(double x,
double y) |
boolean |
contains(double x,
double y,
double w,
double h) |
boolean |
contains(Point2D p) |
boolean |
contains(Rectangle2D r) |
private static Shape |
generateStar(double x,
double y,
double innerRadius,
double outerRadius,
int branchesCount) |
Rectangle |
getBounds() |
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.
|
PathIterator |
getPathIterator(AffineTransform at) |
PathIterator |
getPathIterator(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(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.
|
private double x
private double y
private double innerRadius
private double outerRadius
private int branchesCount
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.
x
- the location of the star centery
- the location of the star centerinnerRadius
- the distance between the center of the star and the
origin of the branchesouterRadius
- the distance between the center of the star and the
tip of the branchesbranchesCount
- the number of branches in this star; must be >= 3IllegalArgumentException
- if branchesCount is < 3 or
if innerRadius
is >= outerRadius
private static Shape generateStar(double x, double y, double innerRadius, double outerRadius, int branchesCount)
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.
innerRadius
- the distance between the center of the star and the
origin of the branchesIllegalArgumentException
- if the inner radius is >= outer radiuspublic void setX(double x)
Sets location of the center of the star.
x
- the x location of the center of the starpublic void setY(double y)
Sets the location of the center of the star.
y
- the x location of the center of the starpublic 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.
outerRadius
- the distance between the center of the star and the
tips of the branchesIllegalArgumentException
- if the inner radius is >= outer radiuspublic void setBranchesCount(int branchesCount)
Sets the number branches of the star. A star must always have at least 3 branches.
branchesCount
- the number of branchesIllegalArgumentException
- if branchesCount
is <=2public double getX()
Returns the location of the center of star.
public double getY()
Returns the location of the center of star.
public double getInnerRadius()
Returns the distance between the center of the star and the origin of the branches.
public double getOuterRadius()
Returns the distance between the center of the star and the tips of the branches.
public int getBranchesCount()
Returns the number of branches of the star.
public Rectangle2D getBounds2D()
getBounds2D
in interface Shape
public boolean intersects(double x, double y, double w, double h)
intersects
in interface Shape
public boolean intersects(Rectangle2D r)
intersects
in interface Shape
public boolean contains(double x, double y, double w, double h)
public boolean contains(Rectangle2D r)
public PathIterator getPathIterator(AffineTransform at)
getPathIterator
in interface Shape
public PathIterator getPathIterator(AffineTransform at, double flatness)
getPathIterator
in interface Shape
WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses