Generated by
JDiff

java.awt.geom Documentation Differences

This file contains all the changes in documentation in the package java.awt.geom as colored differences. Deletions are shown like this, and additions are shown like this.
If no deletions or additions are shown in an entry, the HTML tags will be what has changed. The new HTML tags are shown in the differences. If no documentation existed, and then some was added in a later version, this change is noted in the appropriate class pages of differences, but the change is not shown on this page. Only changes in existing text are shown here. Similarly, documentation which was inherited from another class or interface is not shown here.
Note that an HTML error in the new documentation may cause the display of other documentation changes to be presented incorrectly. For instance, failure to close a <code> tag will cause all subsequent paragraphs to be displayed differently.

Class AffineTransform

The AffineTransform class represents a 2D affine transform that performs a linear mapping from 2D coordinates to other 2D coordinates that preserves the "straightness" and "parallelness" of lines. Affine transformations can be constructed using sequences of translations scales flips rotations and shears.

Such a coordinate transformation can be represented by a 3 row by 3 column matrix with an implied last row of [ 0 0 1 ]. This matrix transforms source coordinates (x  y) into destination coordinates (x'  y') by considering them to be a column vector and multiplying the coordinate vector by the matrix according to the following process:

 [ x'] [ m00 m01 m02 ] [ x ] [ m00x + m01y + m02 ] [ y'] = [ m10 m11 m12 ] [ y ] = [ m10x + m11y + m12 ] [ 1 ] [ 0 0 1 ] [ 1 ] [ 1 ] 
@version 1.62 0265 12/0203/0001 @author Jim Graham
Class AffineTransform, void transform(float[], int, double[], int, int)

Transforms an array of floating point coordinates by this transform and stores the results into an array of doubles. The coordinates are stored in the arrays starting at the specified offset in the order [x0 y0 x1 y1 ... xn yn]. @param ptSrcsrcPts the array containing the source point coordinates. Each point is stored as a pair of x  y coordinates. @param ptDstdstPts the array into which the transformed point coordinates are returned. Each point is stored as a pair of x  y coordinates. @param srcOff the offset to the first point to be transformed in the source array @param dstOff the offset to the location of the first transformed point that is stored in the destination array @param numPts the number of points to be transformed
Class AffineTransform, void transform(float[], int, float[], int, int)

Transforms an array of floating point coordinates by this transform. The two coordinate array sections can be exactly the same or can be overlapping sections of the same array without affecting the validity of the results. This method ensures that no source coordinates are overwritten by a previous operation before they can be transformed. The coordinates are stored in the arrays starting at the specified offset in the order [x0 y0 x1 y1 ... xn yn]. @param ptSrcsrcPts the array containing the source point coordinates. Each point is stored as a pair of x  y coordinates. @param ptDstdstPts the array into which the transformed point coordinates are returned. Each point is stored as a pair of x  y coordinates. @param srcOff the offset to the first point to be transformed in the source array @param dstOff the offset to the location of the first transformed point that is stored in the destination array @param numPts the number of points to be transformed

Class Arc2D.Double

AnThis class defines an arc specified in double precision.
Class Arc2D.Double, constructor Arc2D.Double(Rectangle2D, double, double, int)

Constructs a new arc initialized to the specified location size angular extents and closure type. @param ellipseBounds The bounding rectangle that defines the outer boundary of the full ellipse of which this arc is a partial section. @param angStstart The starting angle of the arc in degrees. (Specified in double precision.) @param angExtextent The angular extent of the arc in degrees. (Specified in double precision.) @param closuretype The closure type for the arc: OPEN CHORD or PIE
Class Arc2D.Double, constructor Arc2D.Double(double, double, double, double, double, double, int)

Constructs a new arc initialized to the specified location size angular extents and closure type. @param x  y The coordinates of the upper left corner of the arc. (Specified in double precision.) @param w The overall width of the full ellipse of which this arc is a partial section. (Specified in double precision.) @param h The overall height of the full ellipse of which this arc is a partial section. (Specified in double precision.) @param angStstart The starting angle of the arc in degrees. (Specified in double precision.) @param angExtextent The angular extent of the arc in degrees. (Specified in double precision.) @param closuretype The closure type for the arc: OPEN CHORD or PIE
Class Arc2D.Double, double getAngleExtent()

Returns the angular extent of the arc. @return A double value that represents the angular extent of the arc in degrees. @see #setAngleExtent
Class Arc2D.Double, double getAngleStart()

Returns the starting angle of the arc. @return Aa double value that represents the starting angle of the arc in degrees. @see #setAngleStart
Class Arc2D.Double, double getHeight()

Returns the height of the ellipse of which this arc is a partial section. @return A double value that represents the height of the full ellipse of which this arc is a partial section.
Class Arc2D.Double, double getWidth()

Returns the width of the ellipse of which this arc is a partial section. @return A double value that represents the width of the full ellipse of which this arc is a partial section.
Class Arc2D.Double, void setAngleExtent(double)

Sets the angular extent of this arc to the specified double value. @param angExt The angular extent of the arc in degrees. @see #getAngleExtent
Class Arc2D.Double, void setAngleStart(double)

Sets the starting angle of this arc to the specified double value. @param angSt The starting angle of the arc in degrees. @see #getAngleStart

Class Arc2D.Float

AnThis class defines an arc specified in float precision.
Class Arc2D.Float, double getAngleExtent()

Returns the angular extent of the arc. @return A double value that represents the angular extent of the arc in degrees. @see #setAngleExtent
Class Arc2D.Float, double getAngleStart()

Returns the starting angle of the arc. @return A double value that represents the starting angle of the arc in degrees. @see #setAngleStart
Class Arc2D.Float, double getHeight()

Returns the height of the ellipse of which this arc is a partial section. @return A double value that represents the height of the full ellipse of which this arc is a partial section.
Class Arc2D.Float, double getWidth()

Returns the width of the ellipse of which this arc is a partial section. @return A double value that represents the width of the full ellipse of which this arc is a partial section.
Class Arc2D.Float, void setAngleExtent(double)

Sets the angular extent of this arc to the specified double value. @param angExt The angular extent of the arc in degrees. @see #getAngleExtent
Class Arc2D.Float, void setAngleStart(double)

Sets the starting angle of this arc to the specified double value. @param angSt The starting angle of the arc in degrees. @see #getAngleStart

Class Arc2D, double getAngleExtent()

Returns the angular extent of the arc. @return A double value that represents the angular extent of the arc in degrees. @see #setAngleExtent
Class Arc2D, double getAngleStart()

Returns the starting angle of the arc. @return A double value that represents the starting angle of the arc in degrees. @see #setAngleStart
Class Arc2D, int getArcType()

Returns the arc closure type of the arc: OPEN CHORD or PIE @return One of the integer constant closure types defined in this class. @see #setArcType
Class Arc2D, Rectangle2D makeBounds(double, double, double, double)

Constructs a Rectangle2D of the appropriate precision to hold the parameters calculated to be the bounding box of this arc. @param x  y The coordinates of the upper left corner of the bounding box. (Specified in double precision.) @param w The width of the bounding box. (Specified in double precision.) @param h The height of the bounding box. (Specified in double precision.) @return a Rectangle2D that is the bounding box of this arc.
Class Arc2D, void setAngleExtent(double)

Sets the angular extent of this arc to the specified double value. @param angExt The angular extent of the arc in degrees. @see #getAngleExtent
Class Arc2D, void setAngleStart(Point2D)

Sets the starting angle of this arc to the angle that the specified point defines relative to the center of this arc. The angular extent of the arc will remain the same. @param p The Point2D that defines the starting angle. @see #getAngleStart
Class Arc2D, void setAngleStart(double)

Sets the starting angle of this arc to the specified double value. @param angSt The starting angle of the arc in degrees. @see #getAngleStart
Class Arc2D, void setArcByCenter(double, double, double, double, double, int)

Sets the position bounds angular extents and closure type of this arc to the specified values. The arc is defined by a center point and a radius rather than a bounding box for the full ellipse. @param x  y The coordinates of the center of the arc. (Specified in double precision.) @param rradius The radius of the arc. (Specified in double precision.) @param angSt The starting angle of the arc in degrees. (Specified in double precision.) @param angExt The angular extent of the arc in degrees. (Specified in double precision.) @param closure The closure type for the arc: OPEN CHORD or PIE
Class Arc2D, void setArcType(int)

Sets the closure type of this arc to the specified value: OPEN CHORD or PIE. @param type The integer constant that represents the closure type of this arc: #OPEN #CHORD or #PIE @throws IllegalArgumentException if type is not 0 1 or 2.+ @see #getArcType

Class Area, boolean contains(Rectangle2D)

Tests whether or not the interior of this Area object completely contains the specified Rectangle2D. @param rp the Rectangle2D to test @return true if the Rectangle2D lies completely within the interior of the Area; false otherwise.
Class Area, boolean equals(Area)

Tests whether the geometries of the two Area objects are equal. @param rhsother the Area to be compared to this Area @return true if the two geometries are equal; false otherwise.
Class Area, PathIterator getPathIterator(AffineTransform)

Creates a PathIterator for the outline of this Area object. This Area object is unchanged. @param tat an optional AffineTransform to be applied to the coordinates as they are returned in the iteration or null if untransformed coordinates are desired @return the PathIterator object that returns the geometry of the outline of this Area one segment at a time.
Class Area, PathIterator getPathIterator(AffineTransform, double)

Creates a PathIterator for the flattened outline of this Area object. Only uncurved path segments represented by the SEG_MOVETO SEG_LINETO and SEG_CLOSE point types are returned by the iterator. This Area object is unchanged. @param tat an optional AffineTransform to be applied to the coordinates as they are returned in the iteration or null if untransformed coordinates are desired @param flatness the maximum amount that the control points for a given curve can vary from colinear before a subdivided curve is replaced by a straight line connecting the endpoints @return the PathIterator object that returns the geometry of the outline of this Area one segment at a time.
Class Area, boolean intersects(Rectangle2D)

Tests whether the interior of this Area object intersects the interior of the specified Rectangle2D. @param rp the Rectangle2D to test for intersection @return true if the interior intersects the specified Rectangle2D; false otherwise.

Class CubicCurve2D

The CubicCurve2D class defines a cubic parametric curve segment in (x   y) coordinate space.

This class is only the abstract superclass for all objects which store a 2D cubic curve segment. The actual storage representation of the coordinates is left to the subclass. @version 1.25 0227 12/0203/0001 @author Jim Graham

Class CubicCurve2D, void setCurve(Point2D, Point2D, Point2D, Point2D)

Sets the location of the endpoints and controlpoints of this curve to the specified Point2D coordinates. @param p1 the first specified Point2D used to set the start point of this curve @param p2cp1 the second specified Point2D used to set the first control point of this curve @param p3cp2 the third specified Point2D used to set the second control point of this curve @param p4p2 the fourth specified Point2D used to set the end point of this curve
Class CubicCurve2D, int solveCubic(double[], double[])

Solve the cubic whose coefficients are in the eqn array and place the non-complex roots into the res array returning the number of roots. The cubic solved is represented by the equation: eqn = {c b a d} dx^3 + ax^2 + bx + c = 0 A return value of -1 is used to distinguish a constant equation which may be always 0 or never 0 from an equation which has no zeroes. @param eqn the specified array of coefficients to use to solve the cubic equation @param res the array that contains the non-complex roots resulting from the solution of the cubic equation @return the number of roots or -1 if the equation is a constant

Class Dimension2D

The Dimension2D class is to encapsulate a width and a height dimension.

This class is only the abstract superclass for all objects that store a 2D dimension. The actual storage representation of the sizes is left to the subclass. @version 1.10 0211 12/0203/0001 @author Jim Graham


Class Ellipse2D

The Ellipse2D class describes an ellipse that is defined by a bounding rectangle.

This class is only the abstract superclass for all objects which store a 2D ellipse. The actual storage representation of the coordinates is left to the subclass. @version 1.13 0214 12/0203/0001 @author Jim Graham


Class GeneralPath

The GeneralPath class represents a geometric path constructed from straight lines and quadratic and cubic (Bézier) curves. It can contain multiple subpaths.

The winding rule specifies how the interior of a path is determined. There are two types of winding rules: EVEN_ODD and NON_ZERO.

An EVEN_ODD winding rule means that enclosed regions of the path alternate between interior and exterior areas as traversed from the outside of the path towards a point inside the region.

A NON_ZERO winding rule means that if a ray is drawn in any direction from a given point to infinity and the places where the path intersects the ray are examined the point is inside of the path if and only if the number of times that the path crosses the ray from left to right does not equal the number of times that the path crosses the ray from right to left. @version 1.54 0257 12/0203/0001 @author Jim Graham

Class GeneralPath, int getWindingRule()

Returns the fill style winding rule. @return an integer representing the current winding rule. @see #WIND_EVEN_ODD @see #WIND_NON_ZERO @see #setWindingRule
Class GeneralPath, void setWindingRule(int)

Sets the winding rule for this path to the specified value. @param rule an integer representing the specified winding rule @exception IllegalArgumentException if rule is not either WIND_EVEN_ODD or WIND_NON_ZERO @see #WIND_EVEN_ODD @see #WIND_NON_ZERO @see #getWindingRule

Class IllegalPathStateException

The IllegalPathStateException represents an exception that is thrown if an operation is performed on a path that is in an illegal state with respect to the particular operation being performed such as appending a path segment to a GeneralPath without an initial moveto. @version 1.9 0210 12/0203/0001

Class Line2D

This Line2D class represents a line segment in (x  y) coordinate space. This class like all of the Java 2D API uses a default coordinate system called user space in which the y-axis values increase downward and x-axis values increase to the right. For more information on the user space coordinate system see the Coordinate Systems section of the Java 2D Programmer's Guide.

This class is only the abstract superclass for all objects that store a 2D line segment. The actual storage representation of the coordinates is left to the subclass. @version 1.25 0224 12/0903/01 @author Jim Graham


Class NoninvertibleTransformException

The NoninvertibleTransformException class represents an exception that is thrown if an operation is performed requiring the inverse of an AffineTransform object but the AffineTransform is in a non-invertible state. @version 1.15 0216 12/0203/0001

Class PathIterator

The PathIterator interface provides the mechanism for objects that implement the Shape interface to return the geometry of their boundary by allowing a caller to retrieve the path of that boundary a segment at a time. This interface allows these objects to retrieve the path of their boundary a segment at a time by using 1st through 3rd order Bézier curves which are lines and quadratic or cubic Bézier splines.

Multiple subpaths can be expressed by using a "MOVETO" segment to create a discontinuity in the geometry to move from the end of one subpath to the beginning of the next.

Each subpath can be closed manually by ending the last segment in the subpath on the same coordinate as the beginning "MOVETO" segment for that subpath or by using a "CLOSE" segment to append a line segment from the last point back to the first. Be aware that manually closing an outline as opposed to using a "CLOSE" segment to close the path might result in different line style decorations being used at the end points of the subpath. For example the BasicStroke object uses a line "JOIN" decoration to connect the first and last points if a "CLOSE" segment is encountered whereas simply ending the path on the same coordinate as the beginning coordinate results in line "CAP" decorations being used at the ends. @see java.awt.Shape @see java.awt.BasicStroke @version 1.12 0214 12/0203/0001 @author Jim Graham

Class PathIterator, int currentSegment(double[])

Returns the coordinates and type of the current path segment in the iteration. The return value is the path -segment type: SEG_MOVETO SEG_LINETO SEG_QUADTO SEG_CUBICTO or SEG_CLOSE. A double array of length 6 must be passed in and can be used to store the coordinates of the point(s). Each point is stored as a pair of double x y coordinates. SEG_MOVETO and SEG_LINETO types returns one point SEG_QUADTO returns two points SEG_CUBICTO returns 3 points and SEG_CLOSE does not return any points. @param coords an array that holds the data returned from this method @return the path-segment type of the current path segment. @see #SEG_MOVETO @see #SEG_LINETO @see #SEG_QUADTO @see #SEG_CUBICTO @see #SEG_CLOSE
Class PathIterator, int currentSegment(float[])

Returns the coordinates and type of the current path segment in the iteration. The return value is the path -segment type: SEG_MOVETO SEG_LINETO SEG_QUADTO SEG_CUBICTO or SEG_CLOSE. A float array of length 6 must be passed in and can be used to store the coordinates of the point(s). Each point is stored as a pair of float x y coordinates. SEG_MOVETO and SEG_LINETO types returns one point SEG_QUADTO returns two points SEG_CUBICTO returns 3 points and SEG_CLOSE does not return any points. @param coords an array that holds the data returned from this method @return the path -segment type of the current path segment. @see #SEG_MOVETO @see #SEG_LINETO @see #SEG_QUADTO @see #SEG_CUBICTO @see #SEG_CLOSE

Class Point2D

The Point2D class defines a point representing a location in (x  y) coordinate space.

This class is only the abstract superclass for all objects that store a 2D coordinate. The actual storage representation of the coordinates is left to the subclass. @version 1.14 0216 12/0203/0001 @author Jim Graham

Class Point2D, void setLocation(double, double)

Sets the location of this Point2D to the specified floatdouble coordinates. @param x  y the coordinates of this Point2D @since 1.2

Class QuadCurve2D

The QuadCurve2D class defines a quadratic parametric curve segment in (x  y) coordinate space.

This class is only the abstract superclass for all objects that store a 2D quadratic curve segment. The actual storage representation of the coordinates is left to the subclass. @version 1.22 0226 12/0203/0001 @author Jim Graham


Class QuadCurve2D.Double, constructor QuadCurve2D.Double(double, double, double, double, double, double)

Constructs and initializes a QuadCurve2D from the specified coordinates. @param x1  y1 the coordinates of the starting point @param ctrlx  ctrly the coordinates of the control point @param x2  y1y2 the coordinates of the ending point
Class QuadCurve2D.Double, void setCurve(double, double, double, double, double, double)

Sets the location of the endpoints and controlpoint of this curve to the specified double coordinates. @param x1  y1 the coordinates of the starting point @param ctrlx  ctrly the coordinates of the control point @param x2  y1y2 the coordinates of the ending point

Class QuadCurve2D.Float, void setCurve(double, double, double, double, double, double)

Sets the location of the endpoints and controlpoint of this QuadCurve2D to the specified double coordinates. @param x1  y1 the coordinates of the starting point @param ctrlx  ctrly the coordinates of the control point @param x2  y2 the coordinates of the ending point

Class QuadCurve2D, double getFlatness(double, double, double, double, double, double)

Returns the flatness or maximum distance of a controlpoint from the line connecting the endpoints of the quadratic curve specified by the indicated controlpoints. @param x1  y1 the coordinates of the starting point @param ctrlx  ctrly the coordinates of the control point @param x2  y1y2 the coordinates of the ending point @return the flatness of the quadratic curve defined by the specified coordinates.
Class QuadCurve2D, double getFlatnessSq(double, double, double, double, double, double)

Returns the square of the flatness or maximum distance of a controlpoint from the line connecting the endpoints of the quadratic curve specified by the indicated controlpoints. @param x1  y1 the coordinates of the starting point @param ctrlx  ctrly the coordinates of the control point @param x2  y1y2 the coordinates of the ending point @return the square of the flatness of the quadratic curve defined by the specified coordinates.
Class QuadCurve2D, void setCurve(double, double, double, double, double, double)

Sets the location of the endpoints and controlpoint of this curve to the specified double coordinates. @param x1  y1 the coordinates of the starting point @param ctrlx  ctrly the coordinates of the control point @param x2  y1y2 the coordinates of the ending point
Class QuadCurve2D, int solveQuadratic(double[])

Solves the quadratic whose coefficients are in the eqn array and places the non-complex roots back into the same array returning the number of roots. The quadratic solved is represented by the equation:
 eqn = {C B A}; ax^2 + bx + c = 0 
A return value of -1 is used to distinguish a constant equation which might be always 0 or never 0 from an equation that has no zeroes. @param equeqn the array that contains the quadratic coefficients @return the number of roots or -1 if the equation is a constant
Class QuadCurve2D, int solveQuadratic(double[], double[])

Solves the quadratic whose coefficients are in the eqn array and places the non-complex roots into the res array returning the number of roots. The quadratic solved is represented by the equation:
 eqn = {C B A}; ax^2 + bx + c = 0 
A return value of -1 is used to distinguish a constant equation which might be always 0 or never 0 from an equation that has no zeroes. @param eqn the specified array of coefficients to use to solve the quadratic equation @param res the array that contains the non-complex roots resulting from the solution of the quadratic equation @return the number of roots or -1 if the equation is a constant.

Class Rectangle2D

The Rectangle2D class describes a rectangle defined by a location (x  y) and dimension (w x h).

This class is only the abstract superclass for all objects that store a 2D rectangle. The actual storage representation of the coordinates is left to the subclass. @version 1.22 0227 12/0203/0001 @author Jim Graham


Class Rectangle2D.Double, constructor Rectangle2D.Double(double, double, double, double)

Constructs and initializes a Rectangle2D from the specified double coordinates. @param x  y the coordinates of the upper left corner of the newly constructed Rectangle2D @param widthw the width of the newly constructed Rectangle2D @param heighth the height of the newly constructed Rectangle2D @since 1.2

Class Rectangle2D, void intersect(Rectangle2D, Rectangle2D, Rectangle2D)

Intersects the pair of specified source Rectangle2D objects and puts the result into the specified destination Rectangle2D object. One of the source rectangles can also be the destination to avoid creating a third Rectangle2D object but in this case the original points of this source rectangle will be overwritten by this method. @param src1 the first of a pair of Rectangle2D objects to be intersected with each other @param src2 the second of a pair of Rectangle2D objects to be intersected with each other @param dest the Rectangle2D that holds the results of the intersection of src1 and src2 @since 1.2
Class Rectangle2D, void union(Rectangle2D, Rectangle2D, Rectangle2D)

Unions the pair of source Rectangle2D objects and puts the result into the specified destination Rectangle2D object. One of the source rectangles can also be the destination to avoid creating a third Rectangle2D object but in this case the original points of this source rectangle will be overwritten by this method. @param src1 the first of a pair of Rectangle2D objects to be combined with each other @param src2 the second of a pair of Rectangle2D objects to be combined with each other @param dest the Rectangle2D that holds the results of the union of src1 and src2 @since 1.2

Class RectangularShape

RectangularShape is the base class for a number of Shape objects whose geometry is defined by a rectangular frame. This class does not directly specify any specific geometry by itself but merely provides manipulation methods inherited by a whole category of Shape objects. The manipulation methods provided by this class can be used to query and modify the rectangular frame which provides a reference for the subclasses to define their geometry. @version 1.14 0216 12/0203/0001 @author Jim Graham
Class RectangularShape, Rectangle2D getFrame()

Returns the framing Rectangle2D that defines the overall shape of this object. @return a Rectangle2D specified in double coordinates. @see #setFrame(double double double double) @see #setFrame(Point2D Dimension2D) @see #setFrame(Rectangle2D)
Class RectangularShape, void setFrame(Point2D, Dimension2D)

Sets the location and size of the framing rectangle of this Shape to the specified Point2D and Dimension2D respectively. The framing rectangle is used by the subclasses of RectangularShape to define their geometry. @param loc the specified Point2D @param size the specified Dimension2D @see #getFrame
Class RectangularShape, void setFrame(Rectangle2D)

Sets the framing rectangle of this Shape to be the specified Rectangle2D. The framing rectangle is used by the subclasses of RectangularShape to define their geometry. @param r the specified Rectangle2D @see #getFrame
Class RectangularShape, void setFrame(double, double, double, double)

Sets the location and size of the framing rectangle of this Shape to the specified rectangular values. The framing rectangle is used by the subclasses of RectangularShape to define their geometry. @param x  y the coordinates of the upper-left corner of the specified rectangular shape @param w the width of the specified rectangular shape @param h the height of the specified rectangular shape @see #getFrame

Class RoundRectangle2D

The RoundRectangle2D class defines a rectangle with rounded corners defined by a location (x  y) a dimension (w x h) and the width and height of an arc with which to round the corners.

This class is the abstract superclass for all objects that store a 2D rounded rectangle. The actual storage representation of the coordinates is left to the subclass. @version 1.14 0216 12/0203/0001 @author Jim Graham


Class RoundRectangle2D.Double, constructor RoundRectangle2D.Double(double, double, double, double, double, double)

Constructs and initializes a RoundRectangle2D from the specified coordinates. @param x  y the coordinates to which to set the newly constructed RoundRectangle2D @param w the width to which to set the newly constructed RoundRectangle2D @param h the height to which to set the newly constructed RoundRectangle2D @param arcw the width of the arc to use to round off the corners of the newly constructed RoundRectangle2D @param arch the height of the arc to use to round off the corners of the newly constructed RoundRectangle2D

Class RoundRectangle2D.Float, constructor RoundRectangle2D.Float(float, float, float, float, float, float)

Constructs and initializes a RoundRectangle2D from the specified coordinates. @param x  y the coordinates to which to set the newly constructed RoundRectangle2D @param w the width to which to set the newly constructed RoundRectangle2D @param h the height to which to set the newly constructed RoundRectangle2D @param arcw the width of the arc to use to round off the corners of the newly constructed RoundRectangle2D @param arch the height of the arc to use to round off the corners of the newly constructed RoundRectangle2D