Class HyperbolicTransformer
- java.lang.Object
-
- edu.uci.ics.jung.visualization.transform.MutableTransformerDecorator
-
- edu.uci.ics.jung.visualization.transform.LensTransformer
-
- edu.uci.ics.jung.visualization.transform.HyperbolicTransformer
-
- All Implemented Interfaces:
BidirectionalTransformer
,MutableTransformer
,ShapeTransformer
,ChangeEventSupport
- Direct Known Subclasses:
HyperbolicShapeTransformer
public class HyperbolicTransformer extends LensTransformer implements MutableTransformer
HyperbolicTransformer wraps a MutableAffineTransformer and modifies the transform and inverseTransform methods so that they create a fisheye projection of the graph points, with points near the center spread out and points near the edges collapsed onto the circumference of an ellipse. HyperbolicTransformer is not an affine transform, but it uses an affine transform to cause translation, scaling, rotation, and shearing while applying a non-affine hyperbolic filter in its transform and inverseTransform methods.- Author:
- Tom Nelson
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class edu.uci.ics.jung.visualization.transform.LensTransformer
LensTransformer.ComponentListenerImpl
-
-
Field Summary
-
Fields inherited from class edu.uci.ics.jung.visualization.transform.LensTransformer
lensShape, magnification
-
Fields inherited from class edu.uci.ics.jung.visualization.transform.MutableTransformerDecorator
delegate
-
-
Constructor Summary
Constructors Constructor Description HyperbolicTransformer(java.awt.Component component)
create an instance, setting values from the passed component and registering to listen for size changes on the componentHyperbolicTransformer(java.awt.Component component, MutableTransformer delegate)
Create an instance with a possibly shared transform.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.awt.geom.Point2D
inverseTransform(java.awt.geom.Point2D viewPoint)
override base class to un-project the fisheye effectjava.awt.geom.Point2D
transform(java.awt.geom.Point2D graphPoint)
override base class transform to project the fisheye effect-
Methods inherited from class edu.uci.ics.jung.visualization.transform.LensTransformer
getDistanceFromCenter, getLensShape, getMagnification, getRatio, getViewCenter, getViewRadius, inverseTransform, setLensShape, setMagnification, setToIdentity, setViewCenter, setViewRadius, transform
-
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, setToIdentity, setTranslate, shear, translate
-
Methods inherited from interface edu.uci.ics.jung.visualization.transform.shape.ShapeTransformer
inverseTransform, transform
-
-
-
-
Constructor Detail
-
HyperbolicTransformer
public HyperbolicTransformer(java.awt.Component component)
create an instance, setting values from the passed component and registering to listen for size changes on the component- Parameters:
component
- the component used for rendering
-
HyperbolicTransformer
public HyperbolicTransformer(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
-
transform
public java.awt.geom.Point2D transform(java.awt.geom.Point2D graphPoint)
override base class transform to project the fisheye effect- Specified by:
transform
in interfaceBidirectionalTransformer
- Specified by:
transform
in classLensTransformer
- Parameters:
graphPoint
- graph point to convert- Returns:
- screen point
-
inverseTransform
public java.awt.geom.Point2D inverseTransform(java.awt.geom.Point2D viewPoint)
override base class to un-project the fisheye effect- Specified by:
inverseTransform
in interfaceBidirectionalTransformer
- Specified by:
inverseTransform
in classLensTransformer
- Parameters:
viewPoint
- screen point to convert- Returns:
- the graph point
-
-