diva.canvas.connector
Class PerimeterSite

java.lang.Object
  extended by diva.canvas.AbstractSite
      extended by diva.canvas.connector.PerimeterSite
All Implemented Interfaces:
Site

public class PerimeterSite
extends AbstractSite

A site that locates itself on the perimeter of a figure. It implements the setNormal() method to change its position so that a line drawn through the site at the given normal will appear to originate from the center of the figure. Currently, perimeter sites are able to locate themselves on the perimeter of ellipses, rectangles, and arbitrary polygons. For any other shape, the site locates itself on the perimeter of the bounding box for the shape.

Version:
$Id: PerimeterSite.java 43786 2006-09-21 15:40:15Z cxh $
Author:
John Reekie, Steve Neuendorffer

Field Summary
private  int _id
          The id
private  Figure _parentFigure
          The parent figure
 
Fields inherited from class diva.canvas.AbstractSite
_hasNormal, _normal
 
Constructor Summary
PerimeterSite(Figure figure, int id)
          Create a new site on the given figure with the given ID.
 
Method Summary
 Figure getFigure()
          Get the figure to which this site is attached.
 int getID()
          Get the ID of this site.
 java.awt.geom.Point2D getPoint(double normal)
          Get the point location of the site, in the enclosing transform context.
 double getX()
          Get the x-coordinate of the site.
 double getY()
          Get the y-coordinate of the site.
 
Methods inherited from class diva.canvas.AbstractSite
getNormal, getPoint, getPoint, getPoint, getTransformContext, hasNormal, isNormal, setNormal, translate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_id

private int _id
The id


_parentFigure

private Figure _parentFigure
The parent figure

Constructor Detail

PerimeterSite

public PerimeterSite(Figure figure,
                     int id)
Create a new site on the given figure with the given ID.

Method Detail

getFigure

public Figure getFigure()
Get the figure to which this site is attached.

Specified by:
getFigure in interface Site
Specified by:
getFigure in class AbstractSite

getID

public int getID()
Get the ID of this site.

Specified by:
getID in interface Site
Specified by:
getID in class AbstractSite

getPoint

public java.awt.geom.Point2D getPoint(double normal)
Get the point location of the site, in the enclosing transform context.

Specified by:
getPoint in interface Site
Overrides:
getPoint in class AbstractSite

getX

public double getX()
Get the x-coordinate of the site. The site is located in the center of the parent figure's bounding box.

Specified by:
getX in interface Site
Specified by:
getX in class AbstractSite

getY

public double getY()
Get the y-coordinate of the site. The site is located in the center of the parent figure's bounding box.

Specified by:
getY in interface Site
Specified by:
getY in class AbstractSite