Class TransformedShape

  • All Implemented Interfaces:
    Shape, Serializable, Cloneable

    public final class TransformedShape
    extends AffineTransform
    implements Shape
    Apply an arbitrary AffineTransform on a Shape. This class is used internally by RenderedMarks. It is designed for reuse with many different affine transforms and shapes. This class is not thread-safe.
    Author:
    Martin Desruisseaux (IRD)
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      Shape shape
      The wrapped shape.
      • Fields inherited from class AffineTransform

        TYPE_FLIP, TYPE_GENERAL_ROTATION, TYPE_GENERAL_SCALE, TYPE_GENERAL_TRANSFORM, TYPE_IDENTITY, TYPE_MASK_ROTATION, TYPE_MASK_SCALE, TYPE_QUADRANT_ROTATION, TYPE_TRANSLATION, TYPE_UNIFORM_SCALE
    • Constructor Summary

      Constructors 
      Constructor Description
      TransformedShape()
      Construct a transformed shape initialized to the identity transform.
      TransformedShape​(Shape shape, AffineTransform at)
      Construct a transformed shape
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean contains​(double x, double y)
      Tests if the specified coordinates are inside the boundary of the Shape.
      boolean contains​(double x, double y, double width, double height)
      Tests if the interior of the Shape entirely contains the specified rectangular area.
      boolean contains​(Point2D p)
      Tests if a specified Point2D is inside the boundary of the Shape.
      boolean contains​(Rectangle2D r)
      Tests if the interior of the Shape entirely contains the specified Rectangle2D.
      Rectangle getBounds()
      Returns an integer Rectangle that completely encloses the Shape.
      Rectangle2D getBounds2D()
      Returns a high precision and more accurate bounding box of the Shape than the getBounds method.
      void getMatrix​(float[] matrix, int offset)
      Returns the 6 coefficients values.
      PathIterator getPathIterator​(AffineTransform at)
      Returns an iterator object that iterates along the Shape boundary and provides access to the geometry of the Shape outline.
      PathIterator getPathIterator​(AffineTransform at, double flatness)
      Returns an iterator object that iterates along the Shape boundary and provides access to a flattened view of the Shape outline geometry.
      boolean intersects​(double x, double y, double width, double height)
      Tests if the interior of the Shape intersects the interior of a specified rectangular area.
      boolean intersects​(Rectangle2D r)
      Tests if the interior of the Shape intersects the interior of a specified Rectangle2D.
      void scale​(double s)
      Apply a uniform scale.
      void setTransform​(double[] matrix)
      Set the transform from a flat matrix.
      void setTransform​(float[] matrix, int offset)
      Set the transform from a flat matrix.
      • Methods inherited from class AffineTransform

        clone, concatenate, createInverse, createTransformedShape, deltaTransform, deltaTransform, equals, getDeterminant, getMatrix, getQuadrantRotateInstance, getQuadrantRotateInstance, getRotateInstance, getRotateInstance, getRotateInstance, getRotateInstance, getScaleInstance, getScaleX, getScaleY, getShearInstance, getShearX, getShearY, getTranslateInstance, getTranslateX, getTranslateY, getType, hashCode, inverseTransform, inverseTransform, invert, isIdentity, preConcatenate, quadrantRotate, quadrantRotate, rotate, rotate, rotate, rotate, scale, setToIdentity, setToQuadrantRotation, setToQuadrantRotation, setToRotation, setToRotation, setToRotation, setToRotation, setToScale, setToShear, setToTranslation, setTransform, setTransform, shear, toString, transform, transform, transform, transform, transform, transform, translate
      • Methods inherited from class Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • shape

        public Shape shape
        The wrapped shape.
    • Constructor Detail

      • TransformedShape

        public TransformedShape()
        Construct a transformed shape initialized to the identity transform.
      • TransformedShape

        public TransformedShape​(Shape shape,
                                AffineTransform at)
        Construct a transformed shape
    • Method Detail

      • getMatrix

        public void getMatrix​(float[] matrix,
                              int offset)
        Returns the 6 coefficients values.
      • setTransform

        public void setTransform​(float[] matrix,
                                 int offset)
        Set the transform from a flat matrix.
        Parameters:
        matrix - The flat matrix.
        offset - The index of the first element to use in matrix.
      • setTransform

        public void setTransform​(double[] matrix)
        Set the transform from a flat matrix.
        Parameters:
        matrix - The flat matrix.
      • scale

        public void scale​(double s)
        Apply a uniform scale.
      • contains

        public boolean contains​(double x,
                                double y)
        Tests if the specified coordinates are inside the boundary of the Shape.
        Specified by:
        contains in interface Shape
      • contains

        public boolean contains​(Point2D p)
        Tests if a specified Point2D is inside the boundary of the Shape.
        Specified by:
        contains in interface Shape
      • contains

        public boolean contains​(double x,
                                double y,
                                double width,
                                double height)
        Tests if the interior of the Shape entirely contains the specified rectangular area.
        Specified by:
        contains in interface Shape
      • contains

        public boolean contains​(Rectangle2D r)
        Tests if the interior of the Shape entirely contains the specified Rectangle2D. This method might conservatively return false.
        Specified by:
        contains in interface Shape
      • intersects

        public boolean intersects​(double x,
                                  double y,
                                  double width,
                                  double height)
        Tests if the interior of the Shape intersects the interior of a specified rectangular area.
        Specified by:
        intersects in interface Shape
      • intersects

        public boolean intersects​(Rectangle2D r)
        Tests if the interior of the Shape intersects the interior of a specified Rectangle2D. This method might conservatively return true.
        Specified by:
        intersects in interface Shape
      • getBounds

        public Rectangle getBounds()
        Returns an integer Rectangle that completely encloses the Shape.
        Specified by:
        getBounds in interface Shape
      • getBounds2D

        public Rectangle2D getBounds2D()
        Returns a high precision and more accurate bounding box of the Shape than the getBounds method.
        Specified by:
        getBounds2D in interface Shape
      • getPathIterator

        public PathIterator getPathIterator​(AffineTransform at)
        Returns an iterator object that iterates along the Shape boundary and provides access to the geometry of the Shape outline.
        Specified by:
        getPathIterator in interface Shape
      • getPathIterator

        public PathIterator getPathIterator​(AffineTransform at,
                                            double flatness)
        Returns an iterator object that iterates along the Shape boundary and provides access to a flattened view of the Shape outline geometry.
        Specified by:
        getPathIterator in interface Shape