|
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 non-translation 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 non-translation 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) x-x*cos+y*sin ] [ sin(theta) cos(theta) y-x*sin-y*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 non-zero, 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 non-uniform 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) x-x*cos+y*sin ] [ sin(theta) cos(theta) y-x*sin-y*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 |