edu.uci.ics.jung.visualization.transform
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
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.transform.MutableTransformer |
concatenate, getRotation, getScale, getScaleX, getScaleY, getShearX, getShearY, getTransform, getTranslateX, getTranslateY, preConcatenate, rotate, rotate, scale, setScale, setToIdentity, setTranslate, shear, translate |
HyperbolicTransformer
public HyperbolicTransformer(Component component)
- create an instance, setting values from the passed component
and registering to listen for size changes on the component
- Parameters:
component
-
HyperbolicTransformer
public HyperbolicTransformer(Component component,
MutableTransformer delegate)
- create an instance with a possibly shared transform
- Parameters:
component
- delegate
-
transform
public Point2D transform(Point2D graphPoint)
- override base class transform to project the fisheye effect
- Specified by:
transform
in interface BidirectionalTransformer
- Specified by:
transform
in class LensTransformer
- Parameters:
graphPoint
- graph point to convert
- Returns:
- screen point
inverseTransform
public Point2D inverseTransform(Point2D viewPoint)
- override base class to un-project the fisheye effect
- Specified by:
inverseTransform
in interface BidirectionalTransformer
- Specified by:
inverseTransform
in class LensTransformer
- Parameters:
viewPoint
- screen point to convert
- Returns:
- the graph point
Copyright © 2009. All Rights Reserved.