Class HyperbolicShapeTransformer

All Implemented Interfaces:
BidirectionalTransformer, MutableTransformer, ShapeFlatnessTransformer, ShapeTransformer, ChangeEventSupport

public class HyperbolicShapeTransformer extends HyperbolicTransformer implements ShapeFlatnessTransformer
HyperbolicShapeTransformer extends HyperbolicTransformer and adds implementations for methods in ShapeFlatnessTransformer. It modifies the shapes (Vertex, Edge, and Arrowheads) so that they are distorted by the hyperbolic transformation
  • Constructor Details

    • HyperbolicShapeTransformer

      public HyperbolicShapeTransformer(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 in which rendering takes place
    • HyperbolicShapeTransformer

      public HyperbolicShapeTransformer(Component component, MutableTransformer delegate)
      Create an instance, setting values from the passed component and registering to listen for size changes on the component, with a possibly shared transform delegate.
      Parameters:
      component - the component in which rendering takes place
      delegate - the transformer to use
  • Method Details

    • transform

      public Shape transform(Shape shape)
      Transform the supplied shape with the overridden transform method so that the shape is distorted by the hyperbolic transform.
      Specified by:
      transform in interface ShapeTransformer
      Overrides:
      transform in class LensTransformer
      Parameters:
      shape - a shape to transform
      Returns:
      a GeneralPath for the transformed shape
    • transform

      public Shape transform(Shape shape, float flatness)
      Description copied from interface: ShapeFlatnessTransformer
      map a shape from graph coordinate system to the screen coordinate system
      Specified by:
      transform in interface ShapeFlatnessTransformer
      Parameters:
      shape - the shape to be transformed
      flatness - used to break the supplied shape into segments
      Returns:
      a GeneralPath (Shape) representing the screen points of the shape
    • inverseTransform

      public Shape inverseTransform(Shape shape)
      Description copied from class: LensTransformer
      Returns the supplied shape, translated to the coordinates that result from calling inverseTransform on its center.
      Specified by:
      inverseTransform in interface ShapeTransformer
      Overrides:
      inverseTransform in class LensTransformer
    • _transform

      private Point2D _transform(Point2D graphPoint)
      override base class transform to project the fisheye effect
    • _inverseTransform

      private Point2D _inverseTransform(Point2D viewPoint)
      override base class to un-project the fisheye effect