Class LensTransformer
- java.lang.Object
-
- edu.uci.ics.jung.visualization.transform.MutableTransformerDecorator
-
- edu.uci.ics.jung.visualization.transform.LensTransformer
-
- All Implemented Interfaces:
BidirectionalTransformer
,MutableTransformer
,ShapeTransformer
,ChangeEventSupport
- Direct Known Subclasses:
HyperbolicTransformer
,MagnifyTransformer
public abstract class LensTransformer extends MutableTransformerDecorator implements MutableTransformer
LensTransformer wraps a MutableAffineTransformer and modifies the transform and inverseTransform methods so that they create a projection of the graph points within an elliptical lens. LensTransformer uses an affine transform to cause translation, scaling, rotation, and shearing while applying a possibly non-affine filter in its transform and inverseTransform methods.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
LensTransformer.ComponentListenerImpl
react to size changes on a component
-
Field Summary
Fields Modifier and Type Field Description protected java.awt.geom.RectangularShape
lensShape
the area affected by the transformprotected float
magnification
-
Fields inherited from class edu.uci.ics.jung.visualization.transform.MutableTransformerDecorator
delegate
-
-
Constructor Summary
Constructors Constructor Description LensTransformer(java.awt.Component component, MutableTransformer delegate)
create an instance with a possibly shared transform
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description double
getDistanceFromCenter(java.awt.geom.Point2D p)
java.awt.geom.RectangularShape
getLensShape()
float
getMagnification()
double
getRatio()
java.awt.geom.Point2D
getViewCenter()
double
getViewRadius()
abstract java.awt.geom.Point2D
inverseTransform(java.awt.geom.Point2D viewPoint)
override base class to un-project the fisheye effectjava.awt.Shape
inverseTransform(java.awt.Shape shape)
return the supplied shape, translated to the coordinates that result from calling inverseTransform on its centervoid
setLensShape(java.awt.geom.RectangularShape ellipse)
void
setMagnification(float magnification)
void
setToIdentity()
void
setViewCenter(java.awt.geom.Point2D viewCenter)
void
setViewRadius(double viewRadius)
abstract java.awt.geom.Point2D
transform(java.awt.geom.Point2D graphPoint)
override base class transform to project the fisheye effectjava.awt.Shape
transform(java.awt.Shape shape)
return the supplied shape, translated to the coordinates that result from calling transform on its center-
Methods inherited from class edu.uci.ics.jung.visualization.transform.MutableTransformerDecorator
addChangeListener, concatenate, fireStateChanged, getChangeListeners, getDelegate, getRotation, getScale, getScaleX, getScaleY, getShearX, getShearY, getTransform, getTranslateX, getTranslateY, preConcatenate, removeChangeListener, rotate, rotate, scale, setDelegate, setScale, setTranslate, shear, translate
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface edu.uci.ics.jung.visualization.util.ChangeEventSupport
addChangeListener, fireStateChanged, getChangeListeners, removeChangeListener
-
Methods inherited from interface edu.uci.ics.jung.visualization.transform.MutableTransformer
concatenate, getRotation, getScale, getScaleX, getScaleY, getShearX, getShearY, getTransform, getTranslateX, getTranslateY, preConcatenate, rotate, rotate, scale, setScale, setTranslate, shear, translate
-
-
-
-
Constructor Detail
-
LensTransformer
public LensTransformer(java.awt.Component component, MutableTransformer delegate)
create an instance with a possibly shared transform- Parameters:
component
-delegate
-
-
-
Method Detail
-
getMagnification
public float getMagnification()
- Returns:
- Returns the magnification.
-
setMagnification
public void setMagnification(float magnification)
- Parameters:
magnification
- The magnification to set.
-
getViewCenter
public java.awt.geom.Point2D getViewCenter()
- Returns:
- Returns the viewCenter.
-
setViewCenter
public void setViewCenter(java.awt.geom.Point2D viewCenter)
- Parameters:
viewCenter
- The viewCenter to set.
-
getViewRadius
public double getViewRadius()
- Returns:
- Returns the viewRadius.
-
setViewRadius
public void setViewRadius(double viewRadius)
- Parameters:
viewRadius
- The viewRadius to set.
-
getRatio
public double getRatio()
- Returns:
- Returns the ratio.
-
setLensShape
public void setLensShape(java.awt.geom.RectangularShape ellipse)
-
getLensShape
public java.awt.geom.RectangularShape getLensShape()
-
setToIdentity
public void setToIdentity()
- Specified by:
setToIdentity
in interfaceMutableTransformer
- Overrides:
setToIdentity
in classMutableTransformerDecorator
-
transform
public abstract java.awt.geom.Point2D transform(java.awt.geom.Point2D graphPoint)
override base class transform to project the fisheye effect- Specified by:
transform
in interfaceBidirectionalTransformer
- Overrides:
transform
in classMutableTransformerDecorator
- Parameters:
graphPoint
- graph point to convert- Returns:
- screen point
-
inverseTransform
public abstract java.awt.geom.Point2D inverseTransform(java.awt.geom.Point2D viewPoint)
override base class to un-project the fisheye effect- Specified by:
inverseTransform
in interfaceBidirectionalTransformer
- Overrides:
inverseTransform
in classMutableTransformerDecorator
- Parameters:
viewPoint
- screen point to convert- Returns:
- the graph point
-
getDistanceFromCenter
public double getDistanceFromCenter(java.awt.geom.Point2D p)
-
transform
public java.awt.Shape transform(java.awt.Shape shape)
return the supplied shape, translated to the coordinates that result from calling transform on its center- Specified by:
transform
in interfaceBidirectionalTransformer
- Specified by:
transform
in interfaceShapeTransformer
- Overrides:
transform
in classMutableTransformerDecorator
- Returns:
- a GeneralPath (Shape) representing the screen points of the shape
-
inverseTransform
public java.awt.Shape inverseTransform(java.awt.Shape shape)
return the supplied shape, translated to the coordinates that result from calling inverseTransform on its center- Specified by:
inverseTransform
in interfaceBidirectionalTransformer
- Specified by:
inverseTransform
in interfaceShapeTransformer
- Overrides:
inverseTransform
in classMutableTransformerDecorator
- Returns:
-
-