
Java Platform 1.2 Beta 4 

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: INNER  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
java.lang.Object  +java.awt.geom.AffineTransform
Such a coordinate transformation can be represented by a 3 row by
3 column matrix with an implied last row of [ 0 0 1 ] which
transforms source coordinates (x, y)
into
destination coordinates (x', y')
by considering
them to be a column vector and multiplying the coordinate vector
by the matrix according to the following process.
[ x'] [ m00 m01 m02 ] [ x ] [ m00x + m01y + m02 ] [ y'] = [ m10 m11 m12 ] [ y ] = [ m10x + m11y + m12 ] [ 1 ] [ 0 0 1 ] [ 1 ] [ 1 ]
Field Summary  
static int  TYPE_FLIP
This flag bit indicates that the transform defined by this object performs a mirror image flip about some axis which changes the normally right handed coordinate system into a left handed system in addition to the conversions indicated by other flag bits. 
static int  TYPE_GENERAL_ROTATION
This flag bit indicates that the transform defined by this object performs a rotation by an arbitrary angle in addition to the conversions indicated by other flag bits. 
static int  TYPE_GENERAL_SCALE
This flag bit indicates that the transform defined by this object performs a general scale in addition to the conversions indicated by other flag bits. 
static int  TYPE_GENERAL_TRANSFORM
This constant indicates that the transform defined by this object performs an arbitrary conversion of the input coordinates. 
static int  TYPE_IDENTITY
This constant indicates that the transform defined by this object is an identity transform. 
static int  TYPE_MASK_ROTATION
This constant is a bit mask for any of the rotation flag bits. 
static int  TYPE_MASK_SCALE
This constant is a bit mask for any of the scale flag bits. 
static int  TYPE_QUADRANT_ROTATION
This flag bit indicates that the transform defined by this object performs a quadrant rotation by some multiple of 90 degrees in addition to the conversions indicated by other flag bits. 
static int  TYPE_TRANSLATION
This flag bit indicates that the transform defined by this object performs a translation in addition to the conversions indicated by other flag bits. 
static int  TYPE_UNIFORM_SCALE
This flag bit indicates that the transform defined by this object performs a uniform scale in addition to the conversions indicated by other flag bits. 
Constructor Summary  
AffineTransform()
Constructs a new AffineTransform representing the Identity transformation. 

AffineTransform(AffineTransform Tx)
Constructs a new AffineTransform representing a copy of another AffineTransform object. 

AffineTransform(double m00,
double m10,
double m01,
double m11,
double m02,
double m12)
Constructs a new AffineTransform from 6 double precision values representing the 6 specifiable entries of the 3x3 transformation matrix. 

AffineTransform(double[] flatmatrix)
Constructs a new AffineTransform from an array of double precision values representing either the 4 nontranslation or the 6 specifiable entries of the 3x3 transformation matrix. 

AffineTransform(float m00,
float m10,
float m01,
float m11,
float m02,
float m12)
Constructs a new AffineTransform from 6 floating point values representing the 6 specifiable entries of the 3x3 transformation matrix. 

AffineTransform(float[] flatmatrix)
Constructs a new AffineTransform from an array of floating point values representing either the 4 nontranslation or the 6 specifiable entries of the 3x3 transformation matrix. 
Method Summary  
Object  clone()
Returns a copy of this AffineTransform object. 
void  concatenate(AffineTransform Tx)
Concatenates an AffineTransform Tx to this AffineTransform Cx in the most commonly useful way to provide a new user space which is mapped to the former user space by Tx. 
AffineTransform  createInverse()
Returns an AffineTransform object representing the inverse transformation. 
Shape  createTransformedShape(Shape pSrc)
Returns a new Shape object defined by the geometry of the specified Shape argument transformed by this transform. 
void  deltaTransform(double[] srcPts,
int srcOff,
double[] dstPts,
int dstOff,
int numPts)
Transforms an array of relative distance vectors by this transform. 
Point2D  deltaTransform(Point2D ptSrc,
Point2D ptDst)
Transforms the relative distance vector specified by ptSrc and stores the result in ptDst. 
boolean  equals(Object obj)
Returns true if this AffineTransform represents the same affine coordinate transform as the given argument. 
double  getDeterminant()
Returns the determinant of the matrix representation of the transform. 
void  getMatrix(double[] flatmatrix)
Retrieves the 6 specifiable values in the 3x3 affine transformation matrix into an array of double precisions values. 
static AffineTransform  getRotateInstance(double theta,
double x,
double y)
Returns a transform that rotates coordinates around an anchor point. 
static AffineTransform  getRotateInstance(double theta)
Returns a transform representing a rotation transformation. 
static AffineTransform  getScaleInstance(double sx,
double sy)
Returns a transform representing a scaling transformation. 
double  getScaleX()
Returns the X coordinate scaling element (m00) of the 3x3 affine transformation matrix. 
double  getScaleY()
Returns the Y coordinate scaling element (m11) of the 3x3 affine transformation matrix. 
static AffineTransform  getShearInstance(double shx,
double shy)
Returns a transform representing a shearing transformation. 
double  getShearX()
Returns the X coordinate shearing element (m01) of the 3x3 affine transformation matrix. 
double  getShearY()
Returns the Y coordinate shearing element (m10) of the 3x3 affine transformation matrix. 
static AffineTransform  getTranslateInstance(double tx,
double ty)
Returns a transform representing a translation transformation. 
double  getTranslateX()
Returns the X coordinate translation element (m02) of the 3x3 affine transformation matrix. 
double  getTranslateY()
Returns the Y coordinate translation element (m12) of the 3x3 affine transformation matrix. 
int  getType()
Retrieves the flag bits describing the conversion properties of this transform. 
void  inverseTransform(double[] srcPts,
int srcOff,
double[] dstPts,
int dstOff,
int numPts)
Inverse transforms an array of double precision coordinates by this transform. 
Point2D  inverseTransform(Point2D ptSrc,
Point2D ptDst)
Inverse transforms the specified ptSrc and stores the result in ptDst. 
boolean  isIdentity()
Returns true if this AffineTransform is an identity transform. 
void  preConcatenate(AffineTransform Tx)
Concatenates an AffineTransform Tx to this AffineTransform Cx in a less commonly used way such that Tx modifies the coordinate transformation relative to the absolute pixel space rather than relative to the existing user space. 
void  rotate(double theta,
double x,
double y)
Concatenates this transform with a transform that rotates coordinates around an anchor point. 
void  rotate(double theta)
Concatenates this transform with a rotation transformation. 
void  scale(double sx,
double sy)
Concatenates this transform with a scaling transformation. 
void  setToIdentity()
Resets this transform to the Identity transform. 
void  setToRotation(double theta,
double x,
double y)
Sets this transform to a translated rotation transformation. 
void  setToRotation(double theta)
Sets this transform to a rotation transformation. 
void  setToScale(double sx,
double sy)
Sets this transform to a scaling transformation. 
void  setToShear(double shx,
double shy)
Sets this transform to a shearing transformation. 
void  setToTranslation(double tx,
double ty)
Sets this transform to a translation transformation. 
void  setTransform(AffineTransform Tx)
Sets this transform to a copy of the transform in the indicated AffineTransform object. 
void  setTransform(double m00,
double m10,
double m01,
double m11,
double m02,
double m12)
Sets this transform to the matrix specified by the 6 double precision values. 
void  shear(double shx,
double shy)
Concatenates this transform with a shearing transformation. 
String  toString()
Returns a String that represents the value of this Object. 
void  transform(double[] srcPts,
int srcOff,
double[] dstPts,
int dstOff,
int numPts)
Transforms an array of double precision coordinates by this transform. 
void  transform(double[] srcPts,
int srcOff,
float[] dstPts,
int dstOff,
int numPts)
Transforms an array of double precision coordinates by this transform, storing the results into an array of floats. 
void  transform(float[] srcPts,
int srcOff,
double[] dstPts,
int dstOff,
int numPts)
Transforms an array of floating point coordinates by this transform, storing the results into an array of doubles. 
void  transform(float[] srcPts,
int srcOff,
float[] dstPts,
int dstOff,
int numPts)
Transforms an array of floating point coordinates by this transform. 
Point2D  transform(Point2D ptSrc,
Point2D ptDst)
Transforms the specified ptSrc and stores the result in ptDst. 
void  transform(Point2D[] ptSrc,
int srcOff,
Point2D[] ptDst,
int dstOff,
int numPts)
Transforms an array of point objects by this transform. 
void  translate(double tx,
double ty)
Concatenates this transform with a translation transformation. 
Methods inherited from class java.lang.Object  
finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait 
Field Detail 
public static final int TYPE_IDENTITY
TYPE_TRANSLATION
,
TYPE_UNIFORM_SCALE
,
TYPE_GENERAL_SCALE
,
TYPE_FLIP
,
TYPE_QUADRANT_ROTATION
,
TYPE_GENERAL_ROTATION
,
TYPE_GENERAL_TRANSFORM
,
getType()
public static final int TYPE_TRANSLATION
TYPE_IDENTITY
,
TYPE_UNIFORM_SCALE
,
TYPE_GENERAL_SCALE
,
TYPE_FLIP
,
TYPE_QUADRANT_ROTATION
,
TYPE_GENERAL_ROTATION
,
TYPE_GENERAL_TRANSFORM
,
getType()
public static final int TYPE_UNIFORM_SCALE
TYPE_IDENTITY
,
TYPE_TRANSLATION
,
TYPE_GENERAL_SCALE
,
TYPE_FLIP
,
TYPE_QUADRANT_ROTATION
,
TYPE_GENERAL_ROTATION
,
TYPE_GENERAL_TRANSFORM
,
getType()
public static final int TYPE_GENERAL_SCALE
TYPE_IDENTITY
,
TYPE_TRANSLATION
,
TYPE_UNIFORM_SCALE
,
TYPE_FLIP
,
TYPE_QUADRANT_ROTATION
,
TYPE_GENERAL_ROTATION
,
TYPE_GENERAL_TRANSFORM
,
getType()
public static final int TYPE_MASK_SCALE
TYPE_UNIFORM_SCALE
,
TYPE_GENERAL_SCALE
public static final int TYPE_FLIP
TYPE_IDENTITY
,
TYPE_TRANSLATION
,
TYPE_UNIFORM_SCALE
,
TYPE_GENERAL_SCALE
,
TYPE_QUADRANT_ROTATION
,
TYPE_GENERAL_ROTATION
,
TYPE_GENERAL_TRANSFORM
,
getType()
public static final int TYPE_QUADRANT_ROTATION
TYPE_IDENTITY
,
TYPE_TRANSLATION
,
TYPE_UNIFORM_SCALE
,
TYPE_GENERAL_SCALE
,
TYPE_FLIP
,
TYPE_GENERAL_ROTATION
,
TYPE_GENERAL_TRANSFORM
,
getType()
public static final int TYPE_GENERAL_ROTATION
TYPE_IDENTITY
,
TYPE_TRANSLATION
,
TYPE_UNIFORM_SCALE
,
TYPE_GENERAL_SCALE
,
TYPE_FLIP
,
TYPE_QUADRANT_ROTATION
,
TYPE_GENERAL_TRANSFORM
,
getType()
public static final int TYPE_MASK_ROTATION
TYPE_QUADRANT_ROTATION
,
TYPE_GENERAL_ROTATION
public static final int TYPE_GENERAL_TRANSFORM
TYPE_IDENTITY
,
TYPE_TRANSLATION
,
TYPE_UNIFORM_SCALE
,
TYPE_GENERAL_SCALE
,
TYPE_FLIP
,
TYPE_QUADRANT_ROTATION
,
TYPE_GENERAL_ROTATION
,
getType()
Constructor Detail 
public AffineTransform()
public AffineTransform(AffineTransform Tx)
Tx
 the AffineTransform object from which to copy the
transformationpublic AffineTransform(float m00, float m10, float m01, float m11, float m02, float m12)
public AffineTransform(float[] flatmatrix)
flatmatrix
 The float array containing the values to be set
in the new AffineTransform object. The length of the array is
assumed to be at least 4. If the length of the array is
less than 6, only the first 4 values are taken. If the length of
the array is greater than 6, the first 6 values are taken.public AffineTransform(double m00, double m10, double m01, double m11, double m02, double m12)
public AffineTransform(double[] flatmatrix)
flatmatrix
 The double array containing the values to be set
in the new AffineTransform object. The length of the array is
assumed to be at least 4. If the length of the array is
less than 6, only the first 4 values are taken. If the length of
the array is greater than 6, the first 6 values are taken.Method Detail 
public static AffineTransform getTranslateInstance(double tx, double ty)
[ 1 0 tx ] [ 0 1 ty ] [ 0 0 1 ]
tx
 The distance by which coordinates are translated in the
X axis direction
ty
 The distance by which coordinates are translated in the
Y axis directionpublic static AffineTransform getRotateInstance(double theta)
[ cos(theta) sin(theta) 0 ] [ sin(theta) cos(theta) 0 ] [ 0 0 1 ]Rotating with a positive angle theta rotates points on the positive x axis toward the positive y axis.
theta
 The angle of rotation in radians.public static AffineTransform getRotateInstance(double theta, double x, double y)
This operation is equivalent to the following sequence of calls:
AffineTransform Tx = new AffineTransform(); Tx.setToTranslation(x, y); // S3: final translation Tx.rotate(theta); // S2: rotate around anchor Tx.translate(x, y); // S1: translate anchor to originThe matrix representing by the returned transform transform will be:
[ cos(theta) sin(theta) xx*cos+y*sin ] [ sin(theta) cos(theta) yx*siny*cos ] [ 0 0 1 ]Rotating with a positive angle theta rotates points on the positive x axis toward the positive y axis.
theta
 The angle of rotation in radians.
x
 The x coordinate of the anchor point of the rotation
y
 The x coordinate of the anchor point of the rotationpublic static AffineTransform getScaleInstance(double sx, double sy)
[ sx 0 0 ] [ 0 sy 0 ] [ 0 0 1 ]
sx
 The factor by which coordinates are scaled along the
X axis direction
sy
 The factor by which coordinates are scaled along the
Y axis directionpublic static AffineTransform getShearInstance(double shx, double shy)
[ 1 shx 0 ] [ shy 1 0 ] [ 0 0 1 ]
shx
 The multiplier by which coordinates are shifted in the
direction of the positive X axis as a factor of their Y coordinate
shy
 The multiplier by which coordinates are shifted in the
direction of the positive Y axis as a factor of their X coordinatepublic int getType()
TYPE_IDENTITY
,
TYPE_TRANSLATION
,
TYPE_UNIFORM_SCALE
,
TYPE_GENERAL_SCALE
,
TYPE_QUADRANT_ROTATION
,
TYPE_GENERAL_ROTATION
,
TYPE_GENERAL_TRANSFORM
public double getDeterminant()
If the determinant is nonzero, then this transform will be invertible and the various methods which depend on the inverse transform will not need to throw a NoninvertibleTransformException. If the determinant is zero, then this transform can not be inverted since the transform maps all input coordinates onto a line or a point. If the determinant is near enough to zero, then inverse transform operations may not carry enough precision to produce meaningful results.
If this transform represents a uniform scale, as indicated by the getType method, then the determinant will also represent the square of the uniform scale factor by which all of the points are expanded from or contracted towards the origin. If this transform represents a nonuniform scale or more general transform, then the determinant is not likely to represent a value useful for any other purpose than determining if inverse transforms are possible.
Mathematically, the determinant is calculated using the formula:
 m00 m01 m02   m10 m11 m12  = m00 * m11  m01 * m10  0 0 1 
getType()
,
createInverse()
,
inverseTransform(java.awt.geom.Point2D, java.awt.geom.Point2D)
,
TYPE_UNIFORM_SCALE
public void getMatrix(double[] flatmatrix)
flatmatrix
 The double array used to store the returned values.
The length of the array is assumed to be at least 6.getScaleX()
,
getScaleY()
,
getShearX()
,
getShearY()
,
getTranslateX()
,
getTranslateY()
public double getScaleX()
getMatrix(double[])
public double getScaleY()
getMatrix(double[])
public double getShearX()
getMatrix(double[])
public double getShearY()
getMatrix(double[])
public double getTranslateX()
getMatrix(double[])
public double getTranslateY()
getMatrix(double[])
public void translate(double tx, double ty)
[ 1 0 tx ] [ 0 1 ty ] [ 0 0 1 ]
public void rotate(double theta)
[ cos(theta) sin(theta) 0 ] [ sin(theta) cos(theta) 0 ] [ 0 0 1 ]Rotating with a positive angle theta rotates points on the positive x axis toward the positive y axis.
theta
 The angle of rotation in radians.public void rotate(double theta, double x, double y)
This operation is equivalent to the following sequence of calls:
translate(x, y); // S3: final translation rotate(theta); // S2: rotate around anchor translate(x, y); // S1: translate anchor to originRotating with a positive angle theta rotates points on the positive x axis toward the positive y axis.
theta
 The angle of rotation in radians.
x
 The x coordinate of the anchor point of the rotation
y
 The x coordinate of the anchor point of the rotationpublic void scale(double sx, double sy)
[ sx 0 0 ] [ 0 sy 0 ] [ 0 0 1 ]
public void shear(double shx, double shy)
[ 1 shx 0 ] [ shy 1 0 ] [ 0 0 1 ]
shx
 The multiplier by which coordinates are shifted in the
direction of the positive X axis as a factor of their Y coordinate
shy
 The multiplier by which coordinates are shifted in the
direction of the positive Y axis as a factor of their X coordinatepublic void setToIdentity()
public void setToTranslation(double tx, double ty)
[ 1 0 tx ] [ 0 1 ty ] [ 0 0 1 ]
tx
 The distance by which coordinates are translated in the
X axis direction
ty
 The distance by which coordinates are translated in the
Y axis directionpublic void setToRotation(double theta)
[ cos(theta) sin(theta) 0 ] [ sin(theta) cos(theta) 0 ] [ 0 0 1 ]Rotating with a positive angle theta rotates points on the positive x axis toward the positive y axis.
theta
 The angle of rotation in radians.public void setToRotation(double theta, double x, double y)
This operation is equivalent to the following sequence of calls:
setToTranslation(x, y); // S3: final translation rotate(theta); // S2: rotate around anchor translate(x, y); // S1: translate anchor to originThe matrix representing this transform becomes:
[ cos(theta) sin(theta) xx*cos+y*sin ] [ sin(theta) cos(theta) yx*siny*cos ] [ 0 0 1 ]Rotating with a positive angle theta rotates points on the positive x axis toward the positive y axis.
theta
 The angle of rotation in radians.
x
 The x coordinate of the anchor point of the rotation
y
 The x coordinate of the anchor point of the rotationpublic void setToScale(double sx, double sy)
[ sx 0 0 ] [ 0 sy 0 ] [ 0 0 1 ]
sx
 The factor by which coordinates are scaled along the
X axis direction
sy
 The factor by which coordinates are scaled along the
Y axis directionpublic void setToShear(double shx, double shy)
[ 1 shx 0 ] [ shy 1 0 ] [ 0 0 1 ]
shx
 The multiplier by which coordinates are shifted in the
direction of the positive X axis as a factor of their Y coordinate
shy
 The multiplier by which coordinates are shifted in the
direction of the positive Y axis as a factor of their X coordinatepublic void setTransform(AffineTransform Tx)
Tx
 the AffineTransform object from which to copy the transformpublic void setTransform(double m00, double m10, double m01, double m11, double m02, double m12)
public void concatenate(AffineTransform Tx)
[this] = [this] x [Tx]
Tx
 The AffineTransform object to be concatenated with
this AffineTransform object.preConcatenate(java.awt.geom.AffineTransform)
public void preConcatenate(AffineTransform Tx)
[this] = [Tx] x [this]
Tx
 The AffineTransform object to be concatenated with
this AffineTransform object.concatenate(java.awt.geom.AffineTransform)
public AffineTransform createInverse() throws NoninvertibleTransformException
If this transform maps all coordinates onto a point or a line then it will not have an inverse, since coordinates that do not lie on the destination point or line will not have an inverse mapping. The getDeterminant method can be used to determine if this transform has no inverse, in which case an exception will be thrown if the createInverse method is called.
getDeterminant()
public Point2D transform(Point2D ptSrc, Point2D ptDst)
public void transform(Point2D[] ptSrc, int srcOff, Point2D[] ptDst, int dstOff, int numPts)
Note that this method does not take any precautions to avoid problems caused by storing results into Point2D objects that will be used as the source for calculations further down the source array. This method does guarantee that if a given Point2D object is both the source and destination for the same single point transform operation then the results will not be stored until the calculations are complete to avoid storing the results on top of the operands. But if the destination Point2D object for one operation is the same object as the source Point2D object for another operation further down the source array, then the original coordinates in that point will be overwritten before they can be converted.
ptSrc
 The array containing the source point objects.
ptDst
 The array where the transform point objects are returned.
srcOff
 The offset to the first point object to be transformed
in the source array.
dstOff
 The offset to the location where the first transformed
point object is stored in the destination array.
numPts
 The number of point objects to be transformed.public void transform(float[] srcPts, int srcOff, float[] dstPts, int dstOff, int numPts)
[x0, y0, x1, y1, ..., xn, yn]
.
ptSrc
 The array containing the source point coordinates.
Each point is stored as a pair of x,y coordinates.
ptDst
 The array where the transformed point coordinates are
returned. Each point is stored as a pair of x,y coordinates.
srcOff
 The offset to the first point to be transformed
in the source array.
dstOff
 The offset to the location where the first transformed
point is stored in the destination array.
numPts
 The number of points to be transformed.public void transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
[x0, y0, x1, y1, ..., xn, yn]
.
srcPts
 The array containing the source point coordinates.
Each point is stored as a pair of x,y coordinates.
dstPts
 The array where the transformed point coordinates are
returned. Each point is stored as a pair of x,y coordinates.
srcOff
 The offset to the first point to be transformed
in the source array.
dstOff
 The offset to the location where the first transformed
point is stored in the destination array.
numPts
 The number of point objects to be transformed.public void transform(float[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
[x0, y0, x1, y1, ..., xn, yn]
.
ptSrc
 The array containing the source point coordinates.
Each point is stored as a pair of x,y coordinates.
ptDst
 The array where the transformed point coordinates are
returned. Each point is stored as a pair of x,y coordinates.
srcOff
 The offset to the first point to be transformed
in the source array.
dstOff
 The offset to the location where the first transformed
point is stored in the destination array.
numPts
 The number of points to be transformed.public void transform(double[] srcPts, int srcOff, float[] dstPts, int dstOff, int numPts)
[x0, y0, x1, y1, ..., xn, yn]
.
srcPts
 The array containing the source point coordinates.
Each point is stored as a pair of x,y coordinates.
dstPts
 The array where the transformed point coordinates are
returned. Each point is stored as a pair of x,y coordinates.
srcOff
 The offset to the first point to be transformed
in the source array.
dstOff
 The offset to the location where the first transformed
point is stored in the destination array.
numPts
 The number of point objects to be transformed.public Point2D inverseTransform(Point2D ptSrc, Point2D ptDst) throws NoninvertibleTransformException
ptSrc
 The point to be inverse transformed.
ptDst
 The resulting transformed point.public void inverseTransform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) throws NoninvertibleTransformException
[x0, y0, x1, y1, ..., xn, yn]
.
srcPts
 The array containing the source point coordinates.
Each point is stored as a pair of x,y coordinates.
dstPts
 The array where the transformed point coordinates are
returned. Each point is stored as a pair of x,y coordinates.
srcOff
 The offset to the first point to be transformed
in the source array.
dstOff
 The offset to the location where the first transformed
point is stored in the destination array.
numPts
 The number of point objects to be transformed.public Point2D deltaTransform(Point2D ptSrc, Point2D ptDst)
[ x' ] [ m00 m01 (m02) ] [ x ] [ m00x + m01y ] [ y' ] = [ m10 m11 (m12) ] [ y ] = [ m10x + m11y ] [ (1) ] [ (0) (0) ( 1 ) ] [ (1) ] [ (1) ]If ptDst is null, a new Point2D object will be allocated before storing. In either case, ptDst containing the transformed point is returned for convenience. Note that ptSrc and ptDst can be the same object in which case the input point will be correctly overwritten with the transformed point.
ptSrc
 The distance vector to be delta transformed.
ptDst
 The resulting transformed distance vector.public void deltaTransform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
[ x' ] [ m00 m01 (m02) ] [ x ] [ m00x + m01y ] [ y' ] = [ m10 m11 (m12) ] [ y ] = [ m10x + m11y ] [ (1) ] [ (0) (0) ( 1 ) ] [ (1) ] [ (1) ]The two coordinate array sections may be exactly the same or overlapping sections of the same array without affecting the validity of the results. This method will ensure that no source coordinates will be overwritten by a previous operation before they can be transformed. The coordinates are stored in the arrays starting at the indicated offset in the order
[x0, y0, x1, y1, ..., xn, yn]
.
srcPts
 The array containing the source distance vectors.
Each vector is stored as a pair of relative x,y coordinates.
dstPts
 The array where the transformed distance vectors are
returned. Each vector is stored as a pair of relative x,y coordinates.
srcOff
 The offset to the first vector to be transformed
in the source array.
dstOff
 The offset to the location where the first transformed
vector is stored in the destination array.
numPts
 The number of vector coordinate pairs to be transformed.public Shape createTransformedShape(Shape pSrc)
public String toString()
public boolean isIdentity()
public Object clone()
public boolean equals(Object obj)

Java Platform 1.2 Beta 4 

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: INNER  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 