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.- Author:
- Tom Nelson
-
-
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)
Returns the supplied shape, translated to the coordinates that result from calling inverseTransform on its center.void
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
- the component used for renderingdelegate
- the transformer to use
-
-
Method Detail
-
getMagnification
public float getMagnification()
-
setMagnification
public void setMagnification(float magnification)
-
getViewCenter
public java.awt.geom.Point2D getViewCenter()
-
setViewCenter
public void setViewCenter(java.awt.geom.Point2D viewCenter)
-
getViewRadius
public double getViewRadius()
-
setViewRadius
public void setViewRadius(double viewRadius)
-
getRatio
public double getRatio()
- Returns:
- the ratio between the lens height and lens width
-
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 interfaceShapeTransformer
- Overrides:
transform
in classMutableTransformerDecorator
- Parameters:
shape
- the Shape to transform- Returns:
- a GeneralPath (Shape) representing the screen points of the shape
-
inverseTransform
public java.awt.Shape inverseTransform(java.awt.Shape shape)
Returns the supplied shape, translated to the coordinates that result from calling inverseTransform on its center.- Specified by:
inverseTransform
in interfaceShapeTransformer
- Overrides:
inverseTransform
in classMutableTransformerDecorator
-
-