fcmodeler.view.figures
Class EllipseNodeShape

java.lang.Object
  |
  +--fcmodeler.view.figures.EllipseNodeShape
All Implemented Interfaces:
java.lang.Cloneable, NodeShape

public class EllipseNodeShape
extends java.lang.Object
implements NodeShape

A NodeShape implementation providing an ellipse node shape. EllipseNodeShape uses an Ellipse2D.Double as its Shape object.

Since:
JDK1.3
Version:
$Revision: 1.4 $
Author:
Zach Cox

Constructor Summary
EllipseNodeShape()
          Creates a new EllipseNodeShape with coordinates (0,0), zero width, and zero height.
EllipseNodeShape(double x, double y, double w, double h)
          Creates a new EllipseNodeShape with the specified coordinates, width, and height.
 
Method Summary
 java.lang.Object clone()
          Creates and returns a copy of this EllipseNodeShape.
 void enclose(java.awt.geom.Rectangle2D rectangle)
          Ensures that this EllipseNodeShape completely encloses the specified rectangle.
 java.awt.Shape getShape()
          Returns the Shape object represented by this EllipseNodeShape.
 void position(double x, double y)
          Positions this EllipseNodeShape at the specified coordinates.
 java.lang.String toString()
           
 void transform(java.awt.geom.AffineTransform transform)
          Transforms this EllipseNodeShape using the specified AffineTransform.
 void translate(double dx, double dy)
          Translates this NodeShEllipseNodeShapeape by the specified x and y values.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EllipseNodeShape

public EllipseNodeShape()
Creates a new EllipseNodeShape with coordinates (0,0), zero width, and zero height.

EllipseNodeShape

public EllipseNodeShape(double x,
                        double y,
                        double w,
                        double h)
Creates a new EllipseNodeShape with the specified coordinates, width, and height.
Parameters:
x - the x-coordinate of this EllipseNodeShape.
y - the y-coordinate of this EllipseNodeShape.
w - the width of this EllipseNodeShape.
h - the height of this EllipseNodeShape.
Method Detail

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Creates and returns a copy of this EllipseNodeShape. The returned Object is guaranteed to be of type EllipseNodeShape and is also guaranteed to have copies of any mutable fields of this object.
Specified by:
clone in interface NodeShape
Overrides:
clone in class java.lang.Object
Returns:
a clone of this EllipseNodeShape.
Throws:
java.lang.CloneNotSupportedException - should never be thrown, as this class extends Object and implements Cloneable by implementing NodeShape.

enclose

public void enclose(java.awt.geom.Rectangle2D rectangle)
Ensures that this EllipseNodeShape completely encloses the specified rectangle.
Specified by:
enclose in interface NodeShape
Parameters:
rectangle - the rectangle to enclose.

getShape

public java.awt.Shape getShape()
Returns the Shape object represented by this EllipseNodeShape.
Specified by:
getShape in interface NodeShape
Returns:
the Shape object represented by this EllipseNodeShape.

position

public void position(double x,
                     double y)
Positions this EllipseNodeShape at the specified coordinates. Note that calling this method may create a new Shape instance. Therefore, a new call to getShape may be necessary after calling this method.
Specified by:
position in interface NodeShape
Parameters:
x - the x-coordinate of the new position.
y - the y-coordinate of the new position.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

transform

public void transform(java.awt.geom.AffineTransform transform)
Transforms this EllipseNodeShape using the specified AffineTransform. Note that calling this method may create a new Shape instance. Therefore, a new call to getShape may be necessary after calling this method.
Specified by:
transform in interface NodeShape
Parameters:
transform - the AffineTransform used to transform the Shape object.

translate

public void translate(double dx,
                      double dy)
Translates this NodeShEllipseNodeShapeape by the specified x and y values. Note that calling this method may create a new Shape instance. Therefore, a new call to getShape may be necessary after calling this method.
Specified by:
translate in interface NodeShape
Parameters:
dx - the amount to translate the x direction.
dy - the amount to translate in the y direction.