Package diva.canvas
Interface Site
-
- All Known Implementing Classes:
AbstractSite
,ArcMidpointSite
,AutonomousSite
,BoundsGeometry.BoundsSite
,BoundsSite
,CenterSite
,CircleGeometry.CircleSite
,FixedNormalSite
,NullSite
,ParametricSite
,PathGeometry.CloseSegment
,PathGeometry.Vertex
,PerimeterSite
,PortConnectSite
,PortSite
,SiteDecorator
public interface Site
A site represents a point on a figure. Sites are used by manipulators so that they know where to attach grab-handles. Application-specific figures may also provide sites that allows clients to find attachment points and other key points on the figure.- Version:
- $Id$
- Author:
- John Reekie
- Pt.AcceptedRating:
- Red
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Figure
getFigure()
Get the figure to which this site is attached.int
getID()
Get the ID of this site.double
getNormal()
Get the angle of the normal to this site, in radians between zero and 2pi.java.awt.geom.Point2D
getPoint()
Get the point location of the site, in the enclosing transform context with default normal.java.awt.geom.Point2D
getPoint(double normal)
Get the point location of the site, in the enclosing transform context with the given normal.java.awt.geom.Point2D
getPoint(TransformContext tc)
Get the point location of the site, in the given transform context with the default normal.java.awt.geom.Point2D
getPoint(TransformContext tc, double normal)
Get the point location of the site, in the given transform context with the given normal.TransformContext
getTransformContext()
Get the enclosing transform context of this site.double
getX()
Get the x-coordinate of the site, in the enclosing transform context.double
getY()
Get the y-coordinate of the site, in the enclosing transform context.boolean
hasNormal()
Test if this site has a "normal" to it.boolean
isNormal(int direction)
Test if this site has a normal in the given direction.void
setNormal(double normal)
Set the normal "out" of the site.void
translate(double x, double y)
Translate the site by the indicated distance, where distances are in the local coordinates of the containing pane.
-
-
-
Method Detail
-
getFigure
Figure getFigure()
Get the figure to which this site is attached. Usually, this will return a valid Figure, but clients must be aware that certain types of site may return null.- Returns:
- The figure.
-
getID
int getID()
Get the ID of this site. Within each figure, the IDs of the sites must be unique.- Returns:
- The unique identifier.
-
getNormal
double getNormal()
Get the angle of the normal to this site, in radians between zero and 2pi. The direction is "out" of the site. The result is meaningful only if hasNormal() returns true.- Returns:
- The normal.
-
getPoint
java.awt.geom.Point2D getPoint()
Get the point location of the site, in the enclosing transform context with default normal.- Returns:
- The point.
-
getPoint
java.awt.geom.Point2D getPoint(TransformContext tc)
Get the point location of the site, in the given transform context with the default normal. The given context must be an enclosing context of the site.- Parameters:
tc
- The transformation context.- Returns:
- The point.
-
getPoint
java.awt.geom.Point2D getPoint(double normal)
Get the point location of the site, in the enclosing transform context with the given normal.- Parameters:
normal
- The normal- Returns:
- The point.
-
getPoint
java.awt.geom.Point2D getPoint(TransformContext tc, double normal)
Get the point location of the site, in the given transform context with the given normal. The given context must be an enclosing context of the site.- Parameters:
tc
- The Transform contextnormal
- The normal- Returns:
- The point.
-
getTransformContext
TransformContext getTransformContext()
Get the enclosing transform context of this site.- Returns:
- The transform context
-
getX
double getX()
Get the x-coordinate of the site, in the enclosing transform context.- Returns:
- The x-coordinate of the site.
-
getY
double getY()
Get the y-coordinate of the site, in the enclosing transform context.- Returns:
- The y-coordinate of the site.
-
hasNormal
boolean hasNormal()
Test if this site has a "normal" to it. The normal is accessible by the methods getNormal() and isNormal(). Generally, sites on the boundary of a shape will return true to this method, and sites in the center of an object will return false.- Returns:
- true if the site has a normal.
-
isNormal
boolean isNormal(int direction)
Test if this site has a normal in the given direction. The direction is that given by one of the static constants NORTH, SOUTH, EAST, or WEST, defined in javax.swing.SwingConstants- Parameters:
direction
- The direction- Returns:
- true if the site is normal in the given direction.
-
setNormal
void setNormal(double normal)
Set the normal "out" of the site. If the site cannot change its normal, it can ignore this call, so clients that care should always check the normal after calling. If the site can change its normal, it can also change its position. For example, a site on the perimeter of a figure may move to a different position.- Parameters:
normal
- The normal.
-
translate
void translate(double x, double y)
Translate the site by the indicated distance, where distances are in the local coordinates of the containing pane. Usually, this will mean that the figure is reshaped so that the site moves the given distance. If the site cannot be moved the given distance, then either do nothing, or move it part of the distance. Clients are expected to check the new location of the site.- Parameters:
x
- The x distance to be translated.y
- The y distance to be translated.
-
-