Class Affine
- All Implemented Interfaces:
-
Cloneable,EventTarget
public class Affine extends Transform
The Affine class represents a general affine transform. An affine transform performs a linear mapping from 2D/3D coordinates to other 2D/3D coordinates while preserving the "straightness" and "parallelness" of lines. Affine transformations can be constructed using sequence rotations, translations, scales, and shears.
For simple transformations application developers should use the specific Translate, Scale, Rotate, or Shear transforms, which are more lightweight and thus more optimal for this simple purpose. The Affine class, on the other hand, has the advantage of being able to represent a general affine transform and perform matrix operations on it in place, so it fits better for more complex transformation usages.
Such a coordinate transformation can be represented by a 3 row by 4 column matrix. This matrix transforms source coordinates (x,y,z) into destination coordinates (x',y',z') by considering them to be a column vector and multiplying the coordinate vector by the matrix according to the following process:
[ x'] [ mxx mxy mxz tx ] [ x ] [ mxx * x + mxy * y + mxz * z + tx ]
[ y'] = [ myx myy myz ty ] [ y ] = [ myx * x + myy * y + myz * z + ty ]
[ z'] [ mzx mzy mzz tz ] [ z ] [ mzx * x + mzy * y + mzz * z + tz ]
[ 1 ]
- Since:
- JavaFX 2.0
Property Summary
| Type | Property | Description |
|---|---|---|
final DoubleProperty |
mxx |
Defines the X coordinate scaling element of the 3x4 matrix. |
final DoubleProperty |
mxy |
Defines the XY coordinate element of the 3x4 matrix. |
final DoubleProperty |
mxz |
Defines the XZ coordinate element of the 3x4 matrix. |
final DoubleProperty |
myx |
Defines the YX coordinate element of the 3x4 matrix. |
final DoubleProperty |
myy |
Defines the Y coordinate scaling element of the 3x4 matrix. |
final DoubleProperty |
myz |
Defines the YZ coordinate element of the 3x4 matrix. |
final DoubleProperty |
mzx |
Defines the ZX coordinate element of the 3x4 matrix. |
final DoubleProperty |
mzy |
Defines the ZY coordinate element of the 3x4 matrix. |
final DoubleProperty |
mzz |
Defines the Z coordinate scaling element of the 3x4 matrix. |
final DoubleProperty |
tx |
Defines the X coordinate translation element of the 3x4 matrix. |
final DoubleProperty |
ty |
Defines the Y coordinate translation element of the 3x4 matrix. |
final DoubleProperty |
tz |
Defines the Z coordinate translation element of the 3x4 matrix. |
Properties declared in class javafx.scene.transform.Transform
identity, onTransformChanged, type2D
Constructor Summary
| Constructor | Description |
|---|---|
Affine() |
Creates a new instance of Affine containing an identity transform. |
Affine |
Creates a new instance of Affine with a transformation matrix specified by an array. |
Affine |
Creates a new instance of Affine with a 2D transform specified by the element values. |
Affine |
Creates a new instance of Affine with a transform specified by the element values. |
Affine |
Creates a new instance of Affine filled with the values from the specified transform. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
void |
append |
Appends the transform specified by the array to this instance. |
void |
append |
Appends the 2D transform specified by the element values to this instance. |
void |
append |
Appends the transform specified by the element values to this instance. |
void |
append |
Appends the specified transform to this instance. |
void |
appendRotation |
Appends the 2D rotation to this instance. |
void |
appendRotation |
Appends the 2D rotation with pivot to this instance. |
void |
appendRotation |
Appends the rotation to this instance. |
void |
appendRotation |
Appends the rotation to this instance. |
void |
appendRotation |
Appends the 2D rotation with pivot to this instance. |
void |
appendRotation |
Appends the rotation to this instance. |
void |
appendScale |
Appends the 2D scale to this instance. |
void |
appendScale |
Appends the scale to this instance. |
void |
appendScale |
Appends the 2D scale with pivot to this instance. |
void |
appendScale |
Appends the scale with pivot to this instance. |
void |
appendScale |
Appends the scale with pivot to this instance. |
void |
appendScale |
Appends the 2D scale with pivot to this instance. |
void |
appendShear |
Appends the shear to this instance. |
void |
appendShear |
Appends the shear with pivot to this instance. |
void |
appendShear |
Appends the shear with pivot to this instance. |
void |
appendTranslation |
Appends the 2D translation to this instance. |
void |
appendTranslation |
Appends the translation to this instance. |
Affine |
clone() |
Returns a deep copy of this transform. |
Affine |
createInverse() |
Returns the inverse transform of this transform. |
final double |
getMxx() |
Gets the value of the mxx property. |
final double |
getMxy() |
Gets the value of the mxy property. |
final double |
getMxz() |
Gets the value of the mxz property. |
final double |
getMyx() |
Gets the value of the myx property. |
final double |
getMyy() |
Gets the value of the myy property. |
final double |
getMyz() |
Gets the value of the myz property. |
final double |
getMzx() |
Gets the value of the mzx property. |
final double |
getMzy() |
Gets the value of the mzy property. |
final double |
getMzz() |
Gets the value of the mzz property. |
final double |
getTx() |
Gets the value of the tx property. |
final double |
getTy() |
Gets the value of the ty property. |
final double |
getTz() |
Gets the value of the tz property. |
void |
invert() |
Inverts this transform in place. |
final DoubleProperty |
mxxProperty() |
Defines the X coordinate scaling element of the 3x4 matrix. |
final DoubleProperty |
mxyProperty() |
Defines the XY coordinate element of the 3x4 matrix. |
final DoubleProperty |
mxzProperty() |
Defines the XZ coordinate element of the 3x4 matrix. |
final DoubleProperty |
myxProperty() |
Defines the YX coordinate element of the 3x4 matrix. |
final DoubleProperty |
myyProperty() |
Defines the Y coordinate scaling element of the 3x4 matrix. |
final DoubleProperty |
myzProperty() |
Defines the YZ coordinate element of the 3x4 matrix. |
final DoubleProperty |
mzxProperty() |
Defines the ZX coordinate element of the 3x4 matrix. |
final DoubleProperty |
mzyProperty() |
Defines the ZY coordinate element of the 3x4 matrix. |
final DoubleProperty |
mzzProperty() |
Defines the Z coordinate scaling element of the 3x4 matrix. |
void |
prepend |
Prepends the transform specified by the array to this instance. |
void |
prepend |
Prepends the 2D transform specified by the element values to this instance. |
void |
prepend |
Prepends the transform specified by the element values to this instance. |
void |
prepend |
Prepends the specified transform to this instance. |
void |
prependRotation |
Prepends the 2D rotation to this instance. |
void |
prependRotation |
Prepends the 2D rotation with pivot to this instance. |
void |
prependRotation |
Prepends the rotation to this instance. |
void |
prependRotation |
Prepends the rotation to this instance. |
void |
prependRotation |
Prepends the 2D rotation with pivot to this instance. |
void |
prependRotation |
Prepends the rotation to this instance. |
void |
prependScale |
Prepends the 2D scale to this instance. |
void |
prependScale |
Prepends the scale to this instance. |
void |
prependScale |
Prepends the 2D scale with pivot to this instance. |
void |
prependScale |
Prepends the scale with pivot to this instance. |
void |
prependScale |
Prepends the scale with pivot to this instance. |
void |
prependScale |
Prepends the 2D scale with pivot to this instance. |
void |
prependShear |
Prepends the shear to this instance. |
void |
prependShear |
Prepends the shear with pivot to this instance. |
void |
prependShear |
Prepends the shear with pivot to this instance. |
void |
prependTranslation |
Prepends the 2D translation to this instance. |
void |
prependTranslation |
Prepends the translation to this instance. |
void |
setElement |
Sets the specified element of the transformation matrix. |
final void |
setMxx |
Sets the value of the mxx property. |
final void |
setMxy |
Sets the value of the mxy property. |
final void |
setMxz |
Sets the value of the mxz property. |
final void |
setMyx |
Sets the value of the myx property. |
final void |
setMyy |
Sets the value of the myy property. |
final void |
setMyz |
Sets the value of the myz property. |
final void |
setMzx |
Sets the value of the mzx property. |
final void |
setMzy |
Sets the value of the mzy property. |
final void |
setMzz |
Sets the value of the mzz property. |
void |
setToIdentity() |
Resets this transform to the identity transform. |
void |
setToTransform |
Sets the values of this instance to the transformation matrix specified by an array. |
void |
setToTransform |
Sets the values of this instance to the 2D transform specified by the element values. |
void |
setToTransform |
Sets the values of this instance to the transform specified by the element values. |
void |
setToTransform |
Sets the values of this instance to the values provided by the specified transform. |
final void |
setTx |
Sets the value of the tx property. |
final void |
setTy |
Sets the value of the ty property. |
final void |
setTz |
Sets the value of the tz property. |
String |
toString() |
Returns a string representation of this Affine object. |
final DoubleProperty |
txProperty() |
Defines the X coordinate translation element of the 3x4 matrix. |
final DoubleProperty |
tyProperty() |
Defines the Y coordinate translation element of the 3x4 matrix. |
final DoubleProperty |
tzProperty() |
Defines the Z coordinate translation element of the 3x4 matrix. |
Methods declared in class javafx.scene.transform.Transform
addEventFilter, addEventHandler, affine, affine, buildEventDispatchChain, column, column, createConcatenation, deltaTransform, deltaTransform, deltaTransform, deltaTransform, determinant, getElement, getOnTransformChanged, identityProperty, inverseDeltaTransform, inverseDeltaTransform, inverseDeltaTransform, inverseDeltaTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform2DPoints, inverseTransform3DPoints, isIdentity, isType2D, onTransformChangedProperty, removeEventFilter, removeEventHandler, rotate, row, row, scale, scale, setOnTransformChanged, shear, shear, similarTo, toArray, toArray, transform, transform, transform, transform, transform, transform2DPoints, transform3DPoints, transformChanged, translate, type2DProperty
Property Details
mxx
public final DoubleProperty mxxProperty
- See Also:
mxy
public final DoubleProperty mxyProperty
- See Also:
mxz
public final DoubleProperty mxzProperty
- See Also:
tx
public final DoubleProperty txProperty
- See Also:
myx
public final DoubleProperty myxProperty
- See Also:
myy
public final DoubleProperty myyProperty
- See Also:
myz
public final DoubleProperty myzProperty
- See Also:
ty
public final DoubleProperty tyProperty
- See Also:
mzx
public final DoubleProperty mzxProperty
- See Also:
mzy
public final DoubleProperty mzyProperty
- See Also:
mzz
public final DoubleProperty mzzProperty
- See Also:
tz
public final DoubleProperty tzProperty
- See Also:
Constructor Details
Affine
public Affine()
Affine containing an identity transform.Affine
public Affine(Transform transform)
Affine filled with the values from the specified transform.- Parameters:
-
transform- transform whose matrix is to be filled to the new instance - Throws:
-
NullPointerException- if the specifiedtransformis null - Since:
- JavaFX 8.0
Affine
public Affine(double mxx, double mxy, double tx, double myx, double myy, double ty)
Affine with a 2D transform specified by the element values.- Parameters:
-
mxx- the X coordinate scaling element -
mxy- the XY coordinate element -
tx- the X coordinate translation element -
myx- the YX coordinate element -
myy- the Y coordinate scaling element -
ty- the Y coordinate translation element - Since:
- JavaFX 8.0
Affine
public Affine(double mxx, double mxy, double mxz, double tx, double myx, double myy, double myz, double ty, double mzx, double mzy, double mzz, double tz)
Affine with a transform specified by the element values.- Parameters:
-
mxx- the X coordinate scaling element -
mxy- the XY coordinate element -
mxz- the XZ coordinate element -
tx- the X coordinate translation element -
myx- the YX coordinate element -
myy- the Y coordinate scaling element -
myz- the YZ coordinate element -
ty- the Y coordinate translation element -
mzx- the ZX coordinate element -
mzy- the ZY coordinate element -
mzz- the Z coordinate scaling element -
tz- the Z coordinate translation element - Since:
- JavaFX 8.0
Affine
public Affine(double[] matrix, MatrixType type, int offset)
Affine with a transformation matrix specified by an array.- Parameters:
-
matrix- array containing the flattened transformation matrix -
type- type of matrix contained in the array -
offset- offset of the first element in the array - Throws:
-
IndexOutOfBoundsException- if the array is too short for the specifiedtypeandoffset -
IllegalArgumentException- if the specified matrix is not affine (the last line of a 2D 3x3 matrix is not[0, 0, 1]or the last line of a 3D 4x4 matrix is not[0, 0, 0, 1]. -
NullPointerException- if the specifiedmatrixortypeis null - Since:
- JavaFX 8.0
Method Details
setMxx
public final void setMxx(double value)
mxx property.- Property description:
- Defines the X coordinate scaling element of the 3x4 matrix.
- Parameters:
-
value- the value for themxxproperty - See Also:
getMxx
mxxProperty
public final DoubleProperty mxxProperty()
- Returns:
- the
mxxproperty - See Also:
setMxy
public final void setMxy(double value)
mxy property.- Property description:
- Defines the XY coordinate element of the 3x4 matrix.
- Parameters:
-
value- the value for themxyproperty - See Also:
getMxy
mxyProperty
public final DoubleProperty mxyProperty()
- Returns:
- the
mxyproperty - See Also:
setMxz
public final void setMxz(double value)
mxz property.- Property description:
- Defines the XZ coordinate element of the 3x4 matrix.
- Parameters:
-
value- the value for themxzproperty - See Also:
getMxz
mxzProperty
public final DoubleProperty mxzProperty()
- Returns:
- the
mxzproperty - See Also:
setTx
public final void setTx(double value)
tx property.- Property description:
- Defines the X coordinate translation element of the 3x4 matrix.
- Parameters:
-
value- the value for thetxproperty - See Also:
getTx
txProperty
public final DoubleProperty txProperty()
- Returns:
- the
txproperty - See Also:
setMyx
public final void setMyx(double value)
myx property.- Property description:
- Defines the YX coordinate element of the 3x4 matrix.
- Parameters:
-
value- the value for themyxproperty - See Also:
getMyx
myxProperty
public final DoubleProperty myxProperty()
- Returns:
- the
myxproperty - See Also:
setMyy
public final void setMyy(double value)
myy property.- Property description:
- Defines the Y coordinate scaling element of the 3x4 matrix.
- Parameters:
-
value- the value for themyyproperty - See Also:
getMyy
myyProperty
public final DoubleProperty myyProperty()
- Returns:
- the
myyproperty - See Also:
setMyz
public final void setMyz(double value)
myz property.- Property description:
- Defines the YZ coordinate element of the 3x4 matrix.
- Parameters:
-
value- the value for themyzproperty - See Also:
getMyz
myzProperty
public final DoubleProperty myzProperty()
- Returns:
- the
myzproperty - See Also:
setTy
public final void setTy(double value)
ty property.- Property description:
- Defines the Y coordinate translation element of the 3x4 matrix.
- Parameters:
-
value- the value for thetyproperty - See Also:
getTy
tyProperty
public final DoubleProperty tyProperty()
- Returns:
- the
typroperty - See Also:
setMzx
public final void setMzx(double value)
mzx property.- Property description:
- Defines the ZX coordinate element of the 3x4 matrix.
- Parameters:
-
value- the value for themzxproperty - See Also:
getMzx
mzxProperty
public final DoubleProperty mzxProperty()
- Returns:
- the
mzxproperty - See Also:
setMzy
public final void setMzy(double value)
mzy property.- Property description:
- Defines the ZY coordinate element of the 3x4 matrix.
- Parameters:
-
value- the value for themzyproperty - See Also:
getMzy
mzyProperty
public final DoubleProperty mzyProperty()
- Returns:
- the
mzyproperty - See Also:
setMzz
public final void setMzz(double value)
mzz property.- Property description:
- Defines the Z coordinate scaling element of the 3x4 matrix.
- Parameters:
-
value- the value for themzzproperty - See Also:
getMzz
mzzProperty
public final DoubleProperty mzzProperty()
- Returns:
- the
mzzproperty - See Also:
setTz
public final void setTz(double value)
tz property.- Property description:
- Defines the Z coordinate translation element of the 3x4 matrix.
- Parameters:
-
value- the value for thetzproperty - See Also:
getTz
tzProperty
public final DoubleProperty tzProperty()
- Returns:
- the
tzproperty - See Also:
setElement
public void setElement(MatrixType type, int row, int column, double value)
- Parameters:
-
type- type of matrix to work with -
row- zero-based row number -
column- zero-based column number -
value- new value of the specified transformation matrix element - Throws:
-
IndexOutOfBoundsException- if the indices are not within the specified matrix type -
IllegalArgumentException- if setting the value would break transform's affinity (for convenience the method allows to set the elements of the last line of a 2D 3x3 matrix to[0, 0, 1]and the elements of the last line of a 3D 4x4 matrix to[0, 0, 0, 1]). -
NullPointerException- if the specifiedtypeis null - Since:
- JavaFX 8.0
createInverse
public Affine createInverse() throws NonInvertibleTransformException
Transform- Overrides:
-
createInversein classTransform - Returns:
- the inverse transform
- Throws:
-
NonInvertibleTransformException- if this transform cannot be inverted
clone
setToTransform
public void setToTransform(Transform transform)
- Parameters:
-
transform- transform whose matrix is to be filled to this instance - Throws:
-
NullPointerException- if the specifiedtransformis null - Since:
- JavaFX 8.0
setToTransform
public void setToTransform(double mxx, double mxy, double tx, double myx, double myy, double ty)
- Parameters:
-
mxx- the X coordinate scaling element -
mxy- the XY coordinate element -
tx- the X coordinate translation element -
myx- the YX coordinate element -
myy- the Y coordinate scaling element -
ty- the Y coordinate translation element - Since:
- JavaFX 8.0
setToTransform
public void setToTransform(double mxx, double mxy, double mxz, double tx, double myx, double myy, double myz, double ty, double mzx, double mzy, double mzz, double tz)
- Parameters:
-
mxx- the X coordinate scaling element -
mxy- the XY coordinate element -
mxz- the XZ coordinate element -
tx- the X coordinate translation element -
myx- the YX coordinate element -
myy- the Y coordinate scaling element -
myz- the YZ coordinate element -
ty- the Y coordinate translation element -
mzx- the ZX coordinate element -
mzy- the ZY coordinate element -
mzz- the Z coordinate scaling element -
tz- the Z coordinate translation element - Since:
- JavaFX 8.0
setToTransform
public void setToTransform(double[] matrix, MatrixType type, int offset)
- Parameters:
-
matrix- array containing the flattened transformation matrix -
type- type of matrix contained in the array -
offset- offset of the first element in the array - Throws:
-
IndexOutOfBoundsException- if the array is too short for the specifiedtypeandoffset -
IllegalArgumentException- if the specified matrix is not affine (the last line of a 2D 3x3 matrix is not[0, 0, 1]or the last line of a 3D 4x4 matrix is not[0, 0, 0, 1]. -
NullPointerException- if the specifiedmatrixortypeis null - Since:
- JavaFX 8.0
setToIdentity
public void setToIdentity()
- Since:
- JavaFX 8.0
invert
public void invert() throws NonInvertibleTransformException
- Throws:
-
NonInvertibleTransformException- if this transform cannot be inverted - Since:
- JavaFX 8.0
append
public void append(Transform transform)
Appends the specified transform to this instance. The operation modifies this transform in a way that applying it to a node has the same effect as adding the two transforms to its getTransforms() list, this transform first and the specified transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified transform.
- Parameters:
-
transform- transform to be appended to this instance - Throws:
-
NullPointerException- if the specifiedtransformis null - Since:
- JavaFX 8.0
append
public void append(double mxx, double mxy, double tx, double myx, double myy, double ty)
Appends the 2D transform specified by the element values to this instance. The operation modifies this transform in a way that applying it to a node has the same effect as adding the two transforms to its getTransforms() list, this transform first and the specified transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified transform.
- Parameters:
-
mxx- the X coordinate scaling element of the transform to be appended -
mxy- the XY coordinate element of the transform to be appended -
tx- the X coordinate translation element of the transform to be appended -
myx- the YX coordinate element of the transform to be appended -
myy- the Y coordinate scaling element of the transform to be appended -
ty- the Y coordinate translation element of the transform to be appended - Since:
- JavaFX 8.0
append
public void append(double mxx, double mxy, double mxz, double tx, double myx, double myy, double myz, double ty, double mzx, double mzy, double mzz, double tz)
Appends the transform specified by the element values to this instance. The operation modifies this transform in a way that applying it to a node has the same effect as adding the two transforms to its getTransforms() list, this transform first and the specified transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified transform.
- Parameters:
-
mxx- the X coordinate scaling element of the transform to be appended -
mxy- the XY coordinate element of the transform to be appended -
mxz- the XZ coordinate element of the transform to be appended -
tx- the X coordinate translation element of the transform to be appended -
myx- the YX coordinate element of the transform to be appended -
myy- the Y coordinate scaling element of the transform to be appended -
myz- the YZ coordinate element of the transform to be appended -
ty- the Y coordinate translation element of the transform to be appended -
mzx- the ZX coordinate element of the transform to be appended -
mzy- the ZY coordinate element of the transform to be appended -
mzz- the Z coordinate scaling element of the transform to be appended -
tz- the Z coordinate translation element of the transform to be appended - Since:
- JavaFX 8.0
append
public void append(double[] matrix, MatrixType type, int offset)
Appends the transform specified by the array to this instance. The operation modifies this transform in a way that applying it to a node has the same effect as adding the two transforms to its getTransforms() list, this transform first and the specified transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified transform.
- Parameters:
-
matrix- array containing the flattened transformation matrix to be appended -
type- type of matrix contained in the array -
offset- offset of the first matrix element in the array - Throws:
-
IndexOutOfBoundsException- if the array is too short for the specifiedtypeandoffset -
IllegalArgumentException- if the specified matrix is not affine (the last line of a 2D 3x3 matrix is not[0, 0, 1]or the last line of a 3D 4x4 matrix is not[0, 0, 0, 1]. -
NullPointerException- if the specifiedmatrixortypeis null - Since:
- JavaFX 8.0
prepend
public void prepend(Transform transform)
Prepends the specified transform to this instance. The operation modifies this transform in a way that applying it to a node has the same effect as adding the two transforms to its getTransforms() list, the specified transform first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified transform.
- Parameters:
-
transform- transform to be prepended to this instance - Throws:
-
NullPointerException- if the specifiedtransformis null - Since:
- JavaFX 8.0
prepend
public void prepend(double mxx, double mxy, double tx, double myx, double myy, double ty)
Prepends the 2D transform specified by the element values to this instance. The operation modifies this transform in a way that applying it to a node has the same effect as adding the two transforms to its getTransforms() list, the specified transform first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified transform.
- Parameters:
-
mxx- the X coordinate scaling element of the transform to be prepended -
mxy- the XY coordinate element of the transform to be prepended -
tx- the X coordinate translation element of the transform to be prepended -
myx- the YX coordinate element of the transform to be prepended -
myy- the Y coordinate scaling element of the transform to be prepended -
ty- the Y coordinate translation element of the transform to be prepended - Since:
- JavaFX 8.0
prepend
public void prepend(double mxx, double mxy, double mxz, double tx, double myx, double myy, double myz, double ty, double mzx, double mzy, double mzz, double tz)
Prepends the transform specified by the element values to this instance. The operation modifies this transform in a way that applying it to a node has the same effect as adding the two transforms to its getTransforms() list, the specified transform first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified transform.
- Parameters:
-
mxx- the X coordinate scaling element of the transform to be prepended -
mxy- the XY coordinate element of the transform to be prepended -
mxz- the XZ coordinate element of the transform to be prepended -
tx- the X coordinate translation element of the transform to be prepended -
myx- the YX coordinate element of the transform to be prepended -
myy- the Y coordinate scaling element of the transform to be prepended -
myz- the YZ coordinate element of the transform to be prepended -
ty- the Y coordinate translation element of the transform to be prepended -
mzx- the ZX coordinate element of the transform to be prepended -
mzy- the ZY coordinate element of the transform to be prepended -
mzz- the Z coordinate scaling element of the transform to be prepended -
tz- the Z coordinate translation element of the transform to be prepended - Since:
- JavaFX 8.0
prepend
public void prepend(double[] matrix, MatrixType type, int offset)
Prepends the transform specified by the array to this instance. The operation modifies this transform in a way that applying it to a node has the same effect as adding the two transforms to its getTransforms() list, the specified transform first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified transform.
- Parameters:
-
matrix- array containing the flattened transformation matrix to be prepended -
type- type of matrix contained in the array -
offset- offset of the first matrix element in the array - Throws:
-
IndexOutOfBoundsException- if the array is too short for the specifiedtypeandoffset -
IllegalArgumentException- if the specified matrix is not affine (the last line of a 2D 3x3 matrix is not[0, 0, 1]or the last line of a 3D 4x4 matrix is not[0, 0, 0, 1]. -
NullPointerException- if the specifiedmatrixortypeis null - Since:
- JavaFX 8.0
appendTranslation
public void appendTranslation(double tx, double ty)
Appends the 2D translation to this instance. It is equivalent to append(new Translate(tx, ty)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, this transform first and the specified translation second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified translation.
- Parameters:
-
tx- the X coordinate translation -
ty- the Y coordinate translation - Since:
- JavaFX 8.0
appendTranslation
public void appendTranslation(double tx, double ty, double tz)
Appends the translation to this instance. It is equivalent to append(new Translate(tx, ty, tz)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, this transform first and the specified translation second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified translation.
- Parameters:
-
tx- the X coordinate translation -
ty- the Y coordinate translation -
tz- the Z coordinate translation - Since:
- JavaFX 8.0
prependTranslation
public void prependTranslation(double tx, double ty, double tz)
Prepends the translation to this instance. It is equivalent to prepend(new Translate(tx, ty, tz)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, the specified translation first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified translation.
- Parameters:
-
tx- the X coordinate translation -
ty- the Y coordinate translation -
tz- the Z coordinate translation - Since:
- JavaFX 8.0
prependTranslation
public void prependTranslation(double tx, double ty)
Prepends the 2D translation to this instance. It is equivalent to prepend(new Translate(tx, ty)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, the specified translation first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified translation.
- Parameters:
-
tx- the X coordinate translation -
ty- the Y coordinate translation - Since:
- JavaFX 8.0
appendScale
public void appendScale(double sx, double sy)
Appends the 2D scale to this instance. It is equivalent to append(new Scale(sx, sy)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, this transform first and the specified scale second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified scale.
- Parameters:
-
sx- the X coordinate scale factor -
sy- the Y coordinate scale factor - Since:
- JavaFX 8.0
appendScale
public void appendScale(double sx, double sy, double pivotX, double pivotY)
Appends the 2D scale with pivot to this instance. It is equivalent to append(new Scale(sx, sy, pivotX, pivotY)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, this transform first and the specified scale second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified scale.
- Parameters:
-
sx- the X coordinate scale factor -
sy- the Y coordinate scale factor -
pivotX- the X coordinate of the point about which the scale occurs -
pivotY- the Y coordinate of the point about which the scale occurs - Since:
- JavaFX 8.0
appendScale
public void appendScale(double sx, double sy, Point2D pivot)
Appends the 2D scale with pivot to this instance. It is equivalent to append(new Scale(sx, sy, pivot.getX(), pivot.getY()).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, this transform first and the specified scale second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified scale.
- Parameters:
-
sx- the X coordinate scale factor -
sy- the Y coordinate scale factor -
pivot- the point about which the scale occurs - Throws:
-
NullPointerException- if the specifiedpivotis null - Since:
- JavaFX 8.0
appendScale
public void appendScale(double sx, double sy, double sz)
Appends the scale to this instance. It is equivalent to append(new Scale(sx, sy, sz)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, this transform first and the specified scale second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified scale.
- Parameters:
-
sx- the X coordinate scale factor -
sy- the Y coordinate scale factor -
sz- the Z coordinate scale factor - Since:
- JavaFX 8.0
appendScale
public void appendScale(double sx, double sy, double sz, double pivotX, double pivotY, double pivotZ)
Appends the scale with pivot to this instance. It is equivalent to append(new Scale(sx, sy, sz, pivotX,
pivotY, pivotZ)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, this transform first and the specified scale second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified scale.
- Parameters:
-
sx- the X coordinate scale factor -
sy- the Y coordinate scale factor -
sz- the Z coordinate scale factor -
pivotX- the X coordinate of the point about which the scale occurs -
pivotY- the Y coordinate of the point about which the scale occurs -
pivotZ- the Z coordinate of the point about which the scale occurs - Since:
- JavaFX 8.0
appendScale
public void appendScale(double sx, double sy, double sz, Point3D pivot)
Appends the scale with pivot to this instance. It is equivalent to append(new Scale(sx, sy, sz, pivot.getX(),
pivot.getY(), pivot.getZ())).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, this transform first and the specified scale second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified scale.
- Parameters:
-
sx- the X coordinate scale factor -
sy- the Y coordinate scale factor -
sz- the Z coordinate scale factor -
pivot- the point about which the scale occurs - Throws:
-
NullPointerException- if the specifiedpivotis null - Since:
- JavaFX 8.0
prependScale
public void prependScale(double sx, double sy)
Prepends the 2D scale to this instance. It is equivalent to prepend(new Scale(sx, sy)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, the specified scale first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified scale.
- Parameters:
-
sx- the X coordinate scale factor -
sy- the Y coordinate scale factor - Since:
- JavaFX 8.0
prependScale
public void prependScale(double sx, double sy, double pivotX, double pivotY)
Prepends the 2D scale with pivot to this instance. It is equivalent to prepend(new Scale(sx, sy, pivotX, pivotY)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, the specified scale first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified scale.
- Parameters:
-
sx- the X coordinate scale factor -
sy- the Y coordinate scale factor -
pivotX- the X coordinate of the point about which the scale occurs -
pivotY- the Y coordinate of the point about which the scale occurs - Since:
- JavaFX 8.0
prependScale
public void prependScale(double sx, double sy, Point2D pivot)
Prepends the 2D scale with pivot to this instance. It is equivalent to prepend(new Scale(sx, sy, pivot.getX(),
</p>pivot.getY())).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, the specified scale first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified scale.
- Parameters:
-
sx- the X coordinate scale factor -
sy- the Y coordinate scale factor -
pivot- the point about which the scale occurs - Throws:
-
NullPointerException- if the specifiedpivotis null - Since:
- JavaFX 8.0
prependScale
public void prependScale(double sx, double sy, double sz)
Prepends the scale to this instance. It is equivalent to prepend(new Scale(sx, sy, sz)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, the specified scale first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified scale.
- Parameters:
-
sx- the X coordinate scale factor -
sy- the Y coordinate scale factor -
sz- the Z coordinate scale factor - Since:
- JavaFX 8.0
prependScale
public void prependScale(double sx, double sy, double sz, double pivotX, double pivotY, double pivotZ)
Prepends the scale with pivot to this instance. It is equivalent to prepend(new Scale(sx, sy, sz, pivotX, pivotY, pivotZ)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, the specified scale first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified scale.
- Parameters:
-
sx- the X coordinate scale factor -
sy- the Y coordinate scale factor -
sz- the Z coordinate scale factor -
pivotX- the X coordinate of the point about which the scale occurs -
pivotY- the Y coordinate of the point about which the scale occurs -
pivotZ- the Z coordinate of the point about which the scale occurs - Since:
- JavaFX 8.0
prependScale
public void prependScale(double sx, double sy, double sz, Point3D pivot)
Prepends the scale with pivot to this instance. It is equivalent to prepend(new Scale(sx, sy, sz, pivot.getX(),
pivot.getY(), pivot.getZ())).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, the specified scale first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified scale.
- Parameters:
-
sx- the X coordinate scale factor -
sy- the Y coordinate scale factor -
sz- the Z coordinate scale factor -
pivot- the point about which the scale occurs - Throws:
-
NullPointerException- if the specifiedpivotis null - Since:
- JavaFX 8.0
appendShear
public void appendShear(double shx, double shy)
Appends the shear to this instance. It is equivalent to append(new Shear(sx, sy)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, this transform first and the specified shear second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified shear.
- Parameters:
-
shx- the XY coordinate element -
shy- the YX coordinate element - Since:
- JavaFX 8.0
appendShear
public void appendShear(double shx, double shy, double pivotX, double pivotY)
Appends the shear with pivot to this instance. It is equivalent to append(new Shear(sx, sy, pivotX, pivotY)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, this transform first and the specified shear second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified shear.
- Parameters:
-
shx- the XY coordinate element -
shy- the YX coordinate element -
pivotX- the X coordinate of the shear pivot point -
pivotY- the Y coordinate of the shear pivot point - Since:
- JavaFX 8.0
appendShear
public void appendShear(double shx, double shy, Point2D pivot)
Appends the shear with pivot to this instance. It is equivalent to append(new Shear(sx, sy,
pivot.getX(), pivot.getY())).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, this transform first and the specified shear second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified shear.
- Parameters:
-
shx- the XY coordinate element -
shy- the YX coordinate element -
pivot- the shear pivot point - Throws:
-
NullPointerException- if the specifiedpivotis null - Since:
- JavaFX 8.0
prependShear
public void prependShear(double shx, double shy)
Prepends the shear to this instance. It is equivalent to prepend(new Shear(sx, sy)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, the specified shear first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified shear.
- Parameters:
-
shx- the XY coordinate element -
shy- the YX coordinate element - Since:
- JavaFX 8.0
prependShear
public void prependShear(double shx, double shy, double pivotX, double pivotY)
Prepends the shear with pivot to this instance. It is equivalent to prepend(new Shear(sx, sy, pivotX, pivotY)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, the specified shear first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified shear.
- Parameters:
-
shx- the XY coordinate element -
shy- the YX coordinate element -
pivotX- the X coordinate of the shear pivot point -
pivotY- the Y coordinate of the shear pivot point - Since:
- JavaFX 8.0
prependShear
public void prependShear(double shx, double shy, Point2D pivot)
Prepends the shear with pivot to this instance. It is equivalent to prepend(new Shear(sx, sy, pivot.getX(),
pivot.getY())).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, the specified shear first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified shear.
- Parameters:
-
shx- the XY coordinate element -
shy- the YX coordinate element -
pivot- the shear pivot point - Throws:
-
NullPointerException- if the specifiedpivotis null - Since:
- JavaFX 8.0
appendRotation
public void appendRotation(double angle)
Appends the 2D rotation to this instance. It is equivalent to append(new Rotate(angle)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, this transform first and the specified rotation second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified rotation.
- Parameters:
-
angle- the angle of the rotation in degrees - Since:
- JavaFX 8.0
appendRotation
public void appendRotation(double angle, double pivotX, double pivotY)
Appends the 2D rotation with pivot to this instance. It is equivalent to append(new Rotate(angle, pivotX, pivotY)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, this transform first and the specified rotation second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified rotation.
- Parameters:
-
angle- the angle of the rotation in degrees -
pivotX- the X coordinate of the rotation pivot point -
pivotY- the Y coordinate of the rotation pivot point - Since:
- JavaFX 8.0
appendRotation
public void appendRotation(double angle, Point2D pivot)
Appends the 2D rotation with pivot to this instance. It is equivalent to append(new Rotate(angle, pivot.getX(),
pivot.getY())).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, this transform first and the specified rotation second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified rotation.
- Parameters:
-
angle- the angle of the rotation in degrees -
pivot- the rotation pivot point - Throws:
-
NullPointerException- if the specifiedpivotis null - Since:
- JavaFX 8.0
appendRotation
public void appendRotation(double angle, double pivotX, double pivotY, double pivotZ, double axisX, double axisY, double axisZ)
Appends the rotation to this instance. It is equivalent to append(new Rotate(angle, pivotX, pivotY,
pivotZ, new Point3D(axisX, axisY, axisZ))).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, this transform first and the specified rotation second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified rotation.
- Parameters:
-
angle- the angle of the rotation in degrees -
pivotX- the X coordinate of the rotation pivot point -
pivotY- the Y coordinate of the rotation pivot point -
pivotZ- the Z coordinate of the rotation pivot point -
axisX- the X coordinate magnitude of the rotation axis -
axisY- the Y coordinate magnitude of the rotation axis -
axisZ- the Z coordinate magnitude of the rotation axis - Since:
- JavaFX 8.0
appendRotation
public void appendRotation(double angle, double pivotX, double pivotY, double pivotZ, Point3D axis)
Appends the rotation to this instance. It is equivalent to append(new Rotate(angle, pivotX, pivotY,
pivotZ, axis)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, this transform first and the specified rotation second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified rotation.
- Parameters:
-
angle- the angle of the rotation in degrees -
pivotX- the X coordinate of the rotation pivot point -
pivotY- the Y coordinate of the rotation pivot point -
pivotZ- the Z coordinate of the rotation pivot point -
axis- the rotation axis - Throws:
-
NullPointerException- if the specifiedaxisis null - Since:
- JavaFX 8.0
appendRotation
public void appendRotation(double angle, Point3D pivot, Point3D axis)
Appends the rotation to this instance. It is equivalent to append(new Rotate(angle, pivot.getX(),
pivot.getY(), pivot.getZ(), axis)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, this transform first and the specified rotation second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the right by the transformation matrix of the specified rotation.
- Parameters:
-
angle- the angle of the rotation in degrees -
pivot- the rotation pivot point -
axis- the rotation axis - Throws:
-
NullPointerException- if the specifiedpivotoraxisis null - Since:
- JavaFX 8.0
prependRotation
public void prependRotation(double angle)
Prepends the 2D rotation to this instance. It is equivalent to prepend(new Rotate(angle)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, the specified rotation first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified rotation.
- Parameters:
-
angle- the angle of the rotation in degrees - Since:
- JavaFX 8.0
prependRotation
public void prependRotation(double angle, double pivotX, double pivotY)
Prepends the 2D rotation with pivot to this instance. It is equivalent to prepend(new Rotate(angle, pivotX, pivotY)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, the specified rotation first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified rotation.
- Parameters:
-
angle- the angle of the rotation in degrees -
pivotX- the X coordinate of the rotation pivot point -
pivotY- the Y coordinate of the rotation pivot point - Since:
- JavaFX 8.0
prependRotation
public void prependRotation(double angle, Point2D pivot)
Prepends the 2D rotation with pivot to this instance. It is equivalent to prepend(new Rotate(angle, pivot.getX(),
pivot.getY())).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, the specified rotation first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified rotation.
- Parameters:
-
angle- the angle of the rotation in degrees -
pivot- the rotation pivot point - Throws:
-
NullPointerException- if the specifiedpivotis null - Since:
- JavaFX 8.0
prependRotation
public void prependRotation(double angle, double pivotX, double pivotY, double pivotZ, double axisX, double axisY, double axisZ)
Prepends the rotation to this instance. It is equivalent to prepend(new Rotate(angle, pivotX, pivotY,
pivotZ, new Point3D(axisX, axisY, axisZ))).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, the specified rotation first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified rotation.
- Parameters:
-
angle- the angle of the rotation in degrees -
pivotX- the X coordinate of the rotation pivot point -
pivotY- the Y coordinate of the rotation pivot point -
pivotZ- the Z coordinate of the rotation pivot point -
axisX- the X coordinate magnitude of the rotation axis -
axisY- the Y coordinate magnitude of the rotation axis -
axisZ- the Z coordinate magnitude of the rotation axis - Since:
- JavaFX 8.0
prependRotation
public void prependRotation(double angle, double pivotX, double pivotY, double pivotZ, Point3D axis)
Prepends the rotation to this instance. It is equivalent to prepend(new Rotate(angle, pivotX, pivotY,
pivotZ, axis)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, the specified rotation first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified rotation.
- Parameters:
-
angle- the angle of the rotation in degrees -
pivotX- the X coordinate of the rotation pivot point -
pivotY- the Y coordinate of the rotation pivot point -
pivotZ- the Z coordinate of the rotation pivot point -
axis- the rotation axis - Throws:
-
NullPointerException- if the specifiedaxisis null - Since:
- JavaFX 8.0
prependRotation
public void prependRotation(double angle, Point3D pivot, Point3D axis)
Prepends the rotation to this instance. It is equivalent to prepend(new Rotate(angle, pivot.getX(),
pivot.getY(), pivot.getZ(), axis)).
The operation modifies this transform in a way that applying it to a node has the same effect as adding two transforms to its getTransforms() list, the specified rotation first and this transform second.
From the matrix point of view, the transformation matrix of this transform is multiplied on the left by the transformation matrix of the specified rotation.
- Parameters:
-
angle- the angle of the rotation in degrees -
pivot- the rotation pivot point -
axis- the rotation axis - Throws:
-
NullPointerException- if the specifiedpivotoraxisis null - Since:
- JavaFX 8.0
toString
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.