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 classLensTransformer.ComponentListenerImplreact to size changes on a component
-
Field Summary
Fields Modifier and Type Field Description protected java.awt.geom.RectangularShapelensShapethe area affected by the transformprotected floatmagnification-
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 doublegetDistanceFromCenter(java.awt.geom.Point2D p)java.awt.geom.RectangularShapegetLensShape()floatgetMagnification()doublegetRatio()java.awt.geom.Point2DgetViewCenter()doublegetViewRadius()abstract java.awt.geom.Point2DinverseTransform(java.awt.geom.Point2D viewPoint)override base class to un-project the fisheye effectjava.awt.ShapeinverseTransform(java.awt.Shape shape)Returns the supplied shape, translated to the coordinates that result from calling inverseTransform on its center.private voidsetComponent(java.awt.Component component)Set values from the passed component.voidsetLensShape(java.awt.geom.RectangularShape ellipse)voidsetMagnification(float magnification)voidsetToIdentity()voidsetViewCenter(java.awt.geom.Point2D viewCenter)voidsetViewRadius(double viewRadius)abstract java.awt.geom.Point2Dtransform(java.awt.geom.Point2D graphPoint)override base class transform to project the fisheye effectjava.awt.Shapetransform(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
-
setComponent
private void setComponent(java.awt.Component component)
Set values from the passed component.- Parameters:
component- the component used for rendering
-
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:
setToIdentityin interfaceMutableTransformer- Overrides:
setToIdentityin 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:
transformin interfaceBidirectionalTransformer- Overrides:
transformin 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:
inverseTransformin interfaceBidirectionalTransformer- Overrides:
inverseTransformin 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:
transformin interfaceShapeTransformer- Overrides:
transformin 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:
inverseTransformin interfaceShapeTransformer- Overrides:
inverseTransformin classMutableTransformerDecorator
-
-