de.intarsys.tools.geometry
Class TransformedShape

java.lang.Object
  extended by de.intarsys.tools.geometry.TransformedShape
All Implemented Interfaces:
IShapeWrapper, java.awt.Shape, java.lang.Cloneable
Direct Known Subclasses:
ApplySpaceChangeShape, ApplyTransformationShape

public abstract class TransformedShape
extends java.lang.Object
implements java.awt.Shape, IShapeWrapper, java.lang.Cloneable

A shape that can be transformed with lazy access to the transformed shape.

baseShape -> transform -> shape


Field Summary
protected static java.awt.geom.AffineTransform IDENTITY
           
 
Constructor Summary
protected TransformedShape(java.awt.Shape shape)
           
protected TransformedShape(TransformedShape shape)
           
 
Method Summary
protected abstract  java.awt.Shape apply()
           
abstract  java.lang.Object clone()
           
 boolean contains(double x, double y)
           
 boolean contains(double x, double y, double w, double h)
           
 boolean contains(java.awt.geom.Point2D p)
           
 boolean contains(java.awt.geom.Rectangle2D r)
           
 java.awt.Shape getBaseShape()
           
 java.awt.Rectangle getBounds()
           
 java.awt.geom.Rectangle2D getBounds2D()
           
 java.awt.geom.PathIterator getPathIterator(java.awt.geom.AffineTransform at)
           
 java.awt.geom.PathIterator getPathIterator(java.awt.geom.AffineTransform at, double flatness)
           
 java.awt.Shape getShape()
           
abstract  java.awt.geom.AffineTransform getTransform()
           
 boolean intersects(double x, double y, double w, double h)
           
 boolean intersects(java.awt.geom.Rectangle2D r)
           
 void invalidate()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

IDENTITY

protected static final java.awt.geom.AffineTransform IDENTITY
Constructor Detail

TransformedShape

protected TransformedShape(java.awt.Shape shape)

TransformedShape

protected TransformedShape(TransformedShape shape)
Method Detail

apply

protected abstract java.awt.Shape apply()

clone

public abstract java.lang.Object clone()
Overrides:
clone in class java.lang.Object

contains

public boolean contains(double x,
                        double y)
Specified by:
contains in interface java.awt.Shape

contains

public boolean contains(double x,
                        double y,
                        double w,
                        double h)
Specified by:
contains in interface java.awt.Shape

contains

public boolean contains(java.awt.geom.Point2D p)
Specified by:
contains in interface java.awt.Shape

contains

public boolean contains(java.awt.geom.Rectangle2D r)
Specified by:
contains in interface java.awt.Shape

getBaseShape

public java.awt.Shape getBaseShape()
Specified by:
getBaseShape in interface IShapeWrapper

getBounds

public java.awt.Rectangle getBounds()
Specified by:
getBounds in interface java.awt.Shape

getBounds2D

public java.awt.geom.Rectangle2D getBounds2D()
Specified by:
getBounds2D in interface java.awt.Shape

getPathIterator

public java.awt.geom.PathIterator getPathIterator(java.awt.geom.AffineTransform at)
Specified by:
getPathIterator in interface java.awt.Shape

getPathIterator

public java.awt.geom.PathIterator getPathIterator(java.awt.geom.AffineTransform at,
                                                  double flatness)
Specified by:
getPathIterator in interface java.awt.Shape

getShape

public java.awt.Shape getShape()

getTransform

public abstract java.awt.geom.AffineTransform getTransform()

intersects

public boolean intersects(double x,
                          double y,
                          double w,
                          double h)
Specified by:
intersects in interface java.awt.Shape

intersects

public boolean intersects(java.awt.geom.Rectangle2D r)
Specified by:
intersects in interface java.awt.Shape

invalidate

public void invalidate()