- java.lang.Object
-
- javafx.scene.transform.Transform
-
- javafx.scene.transform.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
, orShear
transforms, which are more lightweight and thus more optimal for this simple purpose. TheAffine
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
Properties Type Property Description DoubleProperty
mxx
Defines the X coordinate scaling element of the 3x4 matrix.DoubleProperty
mxy
Defines the XY coordinate element of the 3x4 matrix.DoubleProperty
mxz
Defines the XZ coordinate element of the 3x4 matrix.DoubleProperty
myx
Defines the YX coordinate element of the 3x4 matrix.DoubleProperty
myy
Defines the Y coordinate scaling element of the 3x4 matrix.DoubleProperty
myz
Defines the YZ coordinate element of the 3x4 matrix.DoubleProperty
mzx
Defines the ZX coordinate element of the 3x4 matrix.DoubleProperty
mzy
Defines the ZY coordinate element of the 3x4 matrix.DoubleProperty
mzz
Defines the Z coordinate scaling element of the 3x4 matrix.DoubleProperty
tx
Defines the X coordinate translation element of the 3x4 matrix.DoubleProperty
ty
Defines the Y coordinate translation element of the 3x4 matrix.DoubleProperty
tz
Defines the Z coordinate translation element of the 3x4 matrix.-
Properties inherited from class javafx.scene.transform.Transform
identity, onTransformChanged, type2D
-
-
Constructor Summary
Constructors Constructor Description Affine()
Creates a new instance ofAffine
containing an identity transform.Affine(double[] matrix, MatrixType type, int offset)
Creates a new instance ofAffine
with a transformation matrix specified by an array.Affine(double mxx, double mxy, double tx, double myx, double myy, double ty)
Creates a new instance ofAffine
with a 2D transform specified by the element values.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)
Creates a new instance ofAffine
with a transform specified by the element values.Affine(Transform transform)
Creates a new instance ofAffine
filled with the values from the specified transform.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
append(double[] matrix, MatrixType type, int offset)
Appends the transform specified by the array to this instance.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.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.void
append(Transform transform)
Appends the specified transform to this instance.void
appendRotation(double angle)
Appends the 2D rotation to this instance.void
appendRotation(double angle, double pivotX, double pivotY)
Appends the 2D rotation with pivot to this instance.void
appendRotation(double angle, double pivotX, double pivotY, double pivotZ, double axisX, double axisY, double axisZ)
Appends the rotation to this instance.void
appendRotation(double angle, double pivotX, double pivotY, double pivotZ, Point3D axis)
Appends the rotation to this instance.void
appendRotation(double angle, Point2D pivot)
Appends the 2D rotation with pivot to this instance.void
appendRotation(double angle, Point3D pivot, Point3D axis)
Appends the rotation to this instance.void
appendScale(double sx, double sy)
Appends the 2D scale to this instance.void
appendScale(double sx, double sy, double sz)
Appends the scale to this instance.void
appendScale(double sx, double sy, double pivotX, double pivotY)
Appends the 2D scale with pivot to this instance.void
appendScale(double sx, double sy, double sz, double pivotX, double pivotY, double pivotZ)
Appends the scale with pivot to this instance.void
appendScale(double sx, double sy, double sz, Point3D pivot)
Appends the scale with pivot to this instance.void
appendScale(double sx, double sy, Point2D pivot)
Appends the 2D scale with pivot to this instance.void
appendShear(double shx, double shy)
Appends the shear to this instance.void
appendShear(double shx, double shy, double pivotX, double pivotY)
Appends the shear with pivot to this instance.void
appendShear(double shx, double shy, Point2D pivot)
Appends the shear with pivot to this instance.void
appendTranslation(double tx, double ty)
Appends the 2D translation to this instance.void
appendTranslation(double tx, double ty, double tz)
Appends the translation to this instance.Affine
clone()
Returns a deep copy of this transform.Transform
createConcatenation(Transform transform)
Returns the concatenation of this transform and the specified transform.Affine
createInverse()
Returns the inverse transform of this transform.Point2D
deltaTransform(double x, double y)
Transforms the relative magnitude vector by this transform.Point3D
deltaTransform(double x, double y, double z)
Transforms the relative magnitude vector by this transform.double
determinant()
Computes determinant of the transformation matrix.double
getMxx()
Gets the value of the property mxx.double
getMxy()
Gets the value of the property mxy.double
getMxz()
Gets the value of the property mxz.double
getMyx()
Gets the value of the property myx.double
getMyy()
Gets the value of the property myy.double
getMyz()
Gets the value of the property myz.double
getMzx()
Gets the value of the property mzx.double
getMzy()
Gets the value of the property mzy.double
getMzz()
Gets the value of the property mzz.double
getTx()
Gets the value of the property tx.double
getTy()
Gets the value of the property ty.double
getTz()
Gets the value of the property tz.Point2D
inverseDeltaTransform(double x, double y)
Transforms the relative magnitude vector by the inverse of this transform.Point3D
inverseDeltaTransform(double x, double y, double z)
Transforms the relative magnitude vector by the inverse of this transform.Point2D
inverseTransform(double x, double y)
Transforms the specified point by the inverse of this transform.Point3D
inverseTransform(double x, double y, double z)
Transforms the specified point by the inverse of this transform.void
invert()
Inverts this transform in place.DoubleProperty
mxxProperty()
Defines the X coordinate scaling element of the 3x4 matrix.DoubleProperty
mxyProperty()
Defines the XY coordinate element of the 3x4 matrix.DoubleProperty
mxzProperty()
Defines the XZ coordinate element of the 3x4 matrix.DoubleProperty
myxProperty()
Defines the YX coordinate element of the 3x4 matrix.DoubleProperty
myyProperty()
Defines the Y coordinate scaling element of the 3x4 matrix.DoubleProperty
myzProperty()
Defines the YZ coordinate element of the 3x4 matrix.DoubleProperty
mzxProperty()
Defines the ZX coordinate element of the 3x4 matrix.DoubleProperty
mzyProperty()
Defines the ZY coordinate element of the 3x4 matrix.DoubleProperty
mzzProperty()
Defines the Z coordinate scaling element of the 3x4 matrix.void
prepend(double[] matrix, MatrixType type, int offset)
Prepends the transform specified by the array to this instance.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.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.void
prepend(Transform transform)
Prepends the specified transform to this instance.void
prependRotation(double angle)
Prepends the 2D rotation to this instance.void
prependRotation(double angle, double pivotX, double pivotY)
Prepends the 2D rotation with pivot to this instance.void
prependRotation(double angle, double pivotX, double pivotY, double pivotZ, double axisX, double axisY, double axisZ)
Prepends the rotation to this instance.void
prependRotation(double angle, double pivotX, double pivotY, double pivotZ, Point3D axis)
Prepends the rotation to this instance.void
prependRotation(double angle, Point2D pivot)
Prepends the 2D rotation with pivot to this instance.void
prependRotation(double angle, Point3D pivot, Point3D axis)
Prepends the rotation to this instance.void
prependScale(double sx, double sy)
Prepends the 2D scale to this instance.void
prependScale(double sx, double sy, double sz)
Prepends the scale to this instance.void
prependScale(double sx, double sy, double pivotX, double pivotY)
Prepends the 2D scale with pivot to this instance.void
prependScale(double sx, double sy, double sz, double pivotX, double pivotY, double pivotZ)
Prepends the scale with pivot to this instance.void
prependScale(double sx, double sy, double sz, Point3D pivot)
Prepends the scale with pivot to this instance.void
prependScale(double sx, double sy, Point2D pivot)
Prepends the 2D scale with pivot to this instance.void
prependShear(double shx, double shy)
Prepends the shear to this instance.void
prependShear(double shx, double shy, double pivotX, double pivotY)
Prepends the shear with pivot to this instance.void
prependShear(double shx, double shy, Point2D pivot)
Prepends the shear with pivot to this instance.void
prependTranslation(double tx, double ty)
Prepends the 2D translation to this instance.void
prependTranslation(double tx, double ty, double tz)
Prepends the translation to this instance.void
setElement(MatrixType type, int row, int column, double value)
Sets the specified element of the transformation matrix.void
setMxx(double value)
Sets the value of the property mxx.void
setMxy(double value)
Sets the value of the property mxy.void
setMxz(double value)
Sets the value of the property mxz.void
setMyx(double value)
Sets the value of the property myx.void
setMyy(double value)
Sets the value of the property myy.void
setMyz(double value)
Sets the value of the property myz.void
setMzx(double value)
Sets the value of the property mzx.void
setMzy(double value)
Sets the value of the property mzy.void
setMzz(double value)
Sets the value of the property mzz.void
setToIdentity()
Resets this transform to the identity transform.void
setToTransform(double[] matrix, MatrixType type, int offset)
Sets the values of this instance to the transformation matrix specified by an array.void
setToTransform(double mxx, double mxy, double tx, double myx, double myy, double ty)
Sets the values of this instance to the 2D transform specified by the element values.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)
Sets the values of this instance to the transform specified by the element values.void
setToTransform(Transform transform)
Sets the values of this instance to the values provided by the specified transform.void
setTx(double value)
Sets the value of the property tx.void
setTy(double value)
Sets the value of the property ty.void
setTz(double value)
Sets the value of the property tz.String
toString()
Returns a string representation of thisAffine
object.Point2D
transform(double x, double y)
Transforms the specified point by this transform.Point3D
transform(double x, double y, double z)
Transforms the specified point by this transform.DoubleProperty
txProperty()
Defines the X coordinate translation element of the 3x4 matrix.DoubleProperty
tyProperty()
Defines the Y coordinate translation element of the 3x4 matrix.DoubleProperty
tzProperty()
Defines the Z coordinate translation element of the 3x4 matrix.-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from class javafx.scene.transform.Transform
addEventFilter, addEventHandler, affine, affine, buildEventDispatchChain, column, column, deltaTransform, deltaTransform, getElement, getOnTransformChanged, identityProperty, inverseDeltaTransform, inverseDeltaTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform2DPoints, inverseTransform3DPoints, isIdentity, isType2D, onTransformChangedProperty, removeEventFilter, removeEventHandler, rotate, row, row, scale, scale, setOnTransformChanged, shear, shear, similarTo, toArray, toArray, transform, transform, transform, transform2DPoints, transform3DPoints, transformChanged, translate, type2DProperty
-
-
-
-
Property Detail
-
mxx
public final DoubleProperty mxxProperty
Defines the X coordinate scaling element of the 3x4 matrix.- See Also:
getMxx()
,setMxx(double)
-
mxy
public final DoubleProperty mxyProperty
Defines the XY coordinate element of the 3x4 matrix.- See Also:
getMxy()
,setMxy(double)
-
mxz
public final DoubleProperty mxzProperty
Defines the XZ coordinate element of the 3x4 matrix.- See Also:
getMxz()
,setMxz(double)
-
tx
public final DoubleProperty txProperty
Defines the X coordinate translation element of the 3x4 matrix.- See Also:
getTx()
,setTx(double)
-
myx
public final DoubleProperty myxProperty
Defines the YX coordinate element of the 3x4 matrix.- See Also:
getMyx()
,setMyx(double)
-
myy
public final DoubleProperty myyProperty
Defines the Y coordinate scaling element of the 3x4 matrix.- See Also:
getMyy()
,setMyy(double)
-
myz
public final DoubleProperty myzProperty
Defines the YZ coordinate element of the 3x4 matrix.- See Also:
getMyz()
,setMyz(double)
-
ty
public final DoubleProperty tyProperty
Defines the Y coordinate translation element of the 3x4 matrix.- See Also:
getTy()
,setTy(double)
-
mzx
public final DoubleProperty mzxProperty
Defines the ZX coordinate element of the 3x4 matrix.- See Also:
getMzx()
,setMzx(double)
-
mzy
public final DoubleProperty mzyProperty
Defines the ZY coordinate element of the 3x4 matrix.- See Also:
getMzy()
,setMzy(double)
-
mzz
public final DoubleProperty mzzProperty
Defines the Z coordinate scaling element of the 3x4 matrix.- See Also:
getMzz()
,setMzz(double)
-
tz
public final DoubleProperty tzProperty
Defines the Z coordinate translation element of the 3x4 matrix.- See Also:
getTz()
,setTz(double)
-
-
Constructor Detail
-
Affine
public Affine()
Creates a new instance ofAffine
containing an identity transform.
-
Affine
public Affine(Transform transform)
Creates a new instance ofAffine
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 specifiedtransform
is null- Since:
- JavaFX 8.0
-
Affine
public Affine(double mxx, double mxy, double tx, double myx, double myy, double ty)
Creates a new instance ofAffine
with a 2D transform specified by the element values.- Parameters:
mxx
- the X coordinate scaling elementmxy
- the XY coordinate elementtx
- the X coordinate translation elementmyx
- the YX coordinate elementmyy
- the Y coordinate scaling elementty
- 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)
Creates a new instance ofAffine
with a transform specified by the element values.- Parameters:
mxx
- the X coordinate scaling elementmxy
- the XY coordinate elementmxz
- the XZ coordinate elementtx
- the X coordinate translation elementmyx
- the YX coordinate elementmyy
- the Y coordinate scaling elementmyz
- the YZ coordinate elementty
- the Y coordinate translation elementmzx
- the ZX coordinate elementmzy
- the ZY coordinate elementmzz
- the Z coordinate scaling elementtz
- the Z coordinate translation element- Since:
- JavaFX 8.0
-
Affine
public Affine(double[] matrix, MatrixType type, int offset)
Creates a new instance ofAffine
with a transformation matrix specified by an array.- Parameters:
matrix
- array containing the flattened transformation matrixtype
- type of matrix contained in the arrayoffset
- offset of the first element in the array- Throws:
IndexOutOfBoundsException
- if the array is too short for the specifiedtype
andoffset
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 specifiedmatrix
ortype
is null- Since:
- JavaFX 8.0
-
-
Method Detail
-
setMxx
public final void setMxx(double value)
Sets the value of the property mxx.- Property description:
- Defines the X coordinate scaling element of the 3x4 matrix.
-
getMxx
public final double getMxx()
Gets the value of the property mxx.
-
mxxProperty
public final DoubleProperty mxxProperty()
Defines the X coordinate scaling element of the 3x4 matrix.- See Also:
getMxx()
,setMxx(double)
-
setMxy
public final void setMxy(double value)
Sets the value of the property mxy.- Property description:
- Defines the XY coordinate element of the 3x4 matrix.
-
getMxy
public final double getMxy()
Gets the value of the property mxy.
-
mxyProperty
public final DoubleProperty mxyProperty()
Defines the XY coordinate element of the 3x4 matrix.- See Also:
getMxy()
,setMxy(double)
-
setMxz
public final void setMxz(double value)
Sets the value of the property mxz.- Property description:
- Defines the XZ coordinate element of the 3x4 matrix.
-
getMxz
public final double getMxz()
Gets the value of the property mxz.
-
mxzProperty
public final DoubleProperty mxzProperty()
Defines the XZ coordinate element of the 3x4 matrix.- See Also:
getMxz()
,setMxz(double)
-
setTx
public final void setTx(double value)
Sets the value of the property tx.- Property description:
- Defines the X coordinate translation element of the 3x4 matrix.
-
getTx
public final double getTx()
Gets the value of the property tx.
-
txProperty
public final DoubleProperty txProperty()
Defines the X coordinate translation element of the 3x4 matrix.- See Also:
getTx()
,setTx(double)
-
setMyx
public final void setMyx(double value)
Sets the value of the property myx.- Property description:
- Defines the YX coordinate element of the 3x4 matrix.
-
getMyx
public final double getMyx()
Gets the value of the property myx.
-
myxProperty
public final DoubleProperty myxProperty()
Defines the YX coordinate element of the 3x4 matrix.- See Also:
getMyx()
,setMyx(double)
-
setMyy
public final void setMyy(double value)
Sets the value of the property myy.- Property description:
- Defines the Y coordinate scaling element of the 3x4 matrix.
-
getMyy
public final double getMyy()
Gets the value of the property myy.
-
myyProperty
public final DoubleProperty myyProperty()
Defines the Y coordinate scaling element of the 3x4 matrix.- See Also:
getMyy()
,setMyy(double)
-
setMyz
public final void setMyz(double value)
Sets the value of the property myz.- Property description:
- Defines the YZ coordinate element of the 3x4 matrix.
-
getMyz
public final double getMyz()
Gets the value of the property myz.
-
myzProperty
public final DoubleProperty myzProperty()
Defines the YZ coordinate element of the 3x4 matrix.- See Also:
getMyz()
,setMyz(double)
-
setTy
public final void setTy(double value)
Sets the value of the property ty.- Property description:
- Defines the Y coordinate translation element of the 3x4 matrix.
-
getTy
public final double getTy()
Gets the value of the property ty.
-
tyProperty
public final DoubleProperty tyProperty()
Defines the Y coordinate translation element of the 3x4 matrix.- See Also:
getTy()
,setTy(double)
-
setMzx
public final void setMzx(double value)
Sets the value of the property mzx.- Property description:
- Defines the ZX coordinate element of the 3x4 matrix.
-
getMzx
public final double getMzx()
Gets the value of the property mzx.
-
mzxProperty
public final DoubleProperty mzxProperty()
Defines the ZX coordinate element of the 3x4 matrix.- See Also:
getMzx()
,setMzx(double)
-
setMzy
public final void setMzy(double value)
Sets the value of the property mzy.- Property description:
- Defines the ZY coordinate element of the 3x4 matrix.
-
getMzy
public final double getMzy()
Gets the value of the property mzy.
-
mzyProperty
public final DoubleProperty mzyProperty()
Defines the ZY coordinate element of the 3x4 matrix.- See Also:
getMzy()
,setMzy(double)
-
setMzz
public final void setMzz(double value)
Sets the value of the property mzz.- Property description:
- Defines the Z coordinate scaling element of the 3x4 matrix.
-
getMzz
public final double getMzz()
Gets the value of the property mzz.
-
mzzProperty
public final DoubleProperty mzzProperty()
Defines the Z coordinate scaling element of the 3x4 matrix.- See Also:
getMzz()
,setMzz(double)
-
setTz
public final void setTz(double value)
Sets the value of the property tz.- Property description:
- Defines the Z coordinate translation element of the 3x4 matrix.
-
getTz
public final double getTz()
Gets the value of the property tz.
-
tzProperty
public final DoubleProperty tzProperty()
Defines the Z coordinate translation element of the 3x4 matrix.- See Also:
getTz()
,setTz(double)
-
setElement
public void setElement(MatrixType type, int row, int column, double value)
Sets the specified element of the transformation matrix.- Parameters:
type
- type of matrix to work withrow
- zero-based row numbercolumn
- zero-based column numbervalue
- new value of the specified transformation matrix element- Throws:
IndexOutOfBoundsException
- if the indices are not within the specified matrix typeIllegalArgumentException
- 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 specifiedtype
is null- Since:
- JavaFX 8.0
-
determinant
public double determinant()
Description copied from class:Transform
Computes determinant of the transformation matrix. Among other things, determinant can be used for testing this transform's invertibility - it is invertible if determinant is not equal to zero.- Overrides:
determinant
in classTransform
- Returns:
- Determinant of the transformation matrix
-
createConcatenation
public Transform createConcatenation(Transform transform)
Description copied from class:Transform
Returns the concatenation of this transform and the specified transform. Applying the resulting transform to a node has the same effect as adding the two transforms to itsgetTransforms()
list,this
transform first and the specifiedtransform
second.- Overrides:
createConcatenation
in classTransform
- Parameters:
transform
- transform to be concatenated with this transform- Returns:
- The concatenated transform
-
createInverse
public Affine createInverse() throws NonInvertibleTransformException
Description copied from class:Transform
Returns the inverse transform of this transform.- Overrides:
createInverse
in classTransform
- Returns:
- the inverse transform
- Throws:
NonInvertibleTransformException
- if this transform cannot be inverted
-
clone
public Affine clone()
Description copied from class:Transform
Returns a deep copy of this transform.
-
setToTransform
public void setToTransform(Transform transform)
Sets the values of this instance to the values provided by the specified transform.- Parameters:
transform
- transform whose matrix is to be filled to this instance- Throws:
NullPointerException
- if the specifiedtransform
is null- Since:
- JavaFX 8.0
-
setToTransform
public void setToTransform(double mxx, double mxy, double tx, double myx, double myy, double ty)
Sets the values of this instance to the 2D transform specified by the element values.- Parameters:
mxx
- the X coordinate scaling elementmxy
- the XY coordinate elementtx
- the X coordinate translation elementmyx
- the YX coordinate elementmyy
- the Y coordinate scaling elementty
- 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)
Sets the values of this instance to the transform specified by the element values.- Parameters:
mxx
- the X coordinate scaling elementmxy
- the XY coordinate elementmxz
- the XZ coordinate elementtx
- the X coordinate translation elementmyx
- the YX coordinate elementmyy
- the Y coordinate scaling elementmyz
- the YZ coordinate elementty
- the Y coordinate translation elementmzx
- the ZX coordinate elementmzy
- the ZY coordinate elementmzz
- the Z coordinate scaling elementtz
- the Z coordinate translation element- Since:
- JavaFX 8.0
-
setToTransform
public void setToTransform(double[] matrix, MatrixType type, int offset)
Sets the values of this instance to the transformation matrix specified by an array.- Parameters:
matrix
- array containing the flattened transformation matrixtype
- type of matrix contained in the arrayoffset
- offset of the first element in the array- Throws:
IndexOutOfBoundsException
- if the array is too short for the specifiedtype
andoffset
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 specifiedmatrix
ortype
is null- Since:
- JavaFX 8.0
-
setToIdentity
public void setToIdentity()
Resets this transform to the identity transform.- Since:
- JavaFX 8.0
-
invert
public void invert() throws NonInvertibleTransformException
Inverts this transform in place.- 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 specifiedtransform
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 specifiedtransform
is 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 specifiedtransform
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 appendedmxy
- the XY coordinate element of the transform to be appendedtx
- the X coordinate translation element of the transform to be appendedmyx
- the YX coordinate element of the transform to be appendedmyy
- the Y coordinate scaling element of the transform to be appendedty
- 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 specifiedtransform
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 appendedmxy
- the XY coordinate element of the transform to be appendedmxz
- the XZ coordinate element of the transform to be appendedtx
- the X coordinate translation element of the transform to be appendedmyx
- the YX coordinate element of the transform to be appendedmyy
- the Y coordinate scaling element of the transform to be appendedmyz
- the YZ coordinate element of the transform to be appendedty
- the Y coordinate translation element of the transform to be appendedmzx
- the ZX coordinate element of the transform to be appendedmzy
- the ZY coordinate element of the transform to be appendedmzz
- the Z coordinate scaling element of the transform to be appendedtz
- 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 specifiedtransform
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 appendedtype
- type of matrix contained in the arrayoffset
- offset of the first matrix element in the array- Throws:
IndexOutOfBoundsException
- if the array is too short for the specifiedtype
andoffset
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 specifiedmatrix
ortype
is 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 specifiedtransform
first andthis
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 specifiedtransform
is 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 specifiedtransform
first andthis
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 prependedmxy
- the XY coordinate element of the transform to be prependedtx
- the X coordinate translation element of the transform to be prependedmyx
- the YX coordinate element of the transform to be prependedmyy
- the Y coordinate scaling element of the transform to be prependedty
- 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 specifiedtransform
first andthis
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 prependedmxy
- the XY coordinate element of the transform to be prependedmxz
- the XZ coordinate element of the transform to be prependedtx
- the X coordinate translation element of the transform to be prependedmyx
- the YX coordinate element of the transform to be prependedmyy
- the Y coordinate scaling element of the transform to be prependedmyz
- the YZ coordinate element of the transform to be prependedty
- the Y coordinate translation element of the transform to be prependedmzx
- the ZX coordinate element of the transform to be prependedmzy
- the ZY coordinate element of the transform to be prependedmzz
- the Z coordinate scaling element of the transform to be prependedtz
- 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 specifiedtransform
first andthis
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 prependedtype
- type of matrix contained in the arrayoffset
- offset of the first matrix element in the array- Throws:
IndexOutOfBoundsException
- if the array is too short for the specifiedtype
andoffset
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 specifiedmatrix
ortype
is 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 translationty
- 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 translationty
- the Y coordinate translationtz
- 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 andthis
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 translationty
- the Y coordinate translationtz
- 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 andthis
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 translationty
- 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 factorsy
- 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 factorsy
- the Y coordinate scale factorpivotX
- the X coordinate of the point about which the scale occurspivotY
- 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 factorsy
- the Y coordinate scale factorpivot
- the point about which the scale occurs- Throws:
NullPointerException
- if the specifiedpivot
is 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 factorsy
- the Y coordinate scale factorsz
- 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 factorsy
- the Y coordinate scale factorsz
- the Z coordinate scale factorpivotX
- the X coordinate of the point about which the scale occurspivotY
- the Y coordinate of the point about which the scale occurspivotZ
- 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 factorsy
- the Y coordinate scale factorsz
- the Z coordinate scale factorpivot
- the point about which the scale occurs- Throws:
NullPointerException
- if the specifiedpivot
is 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 andthis
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 factorsy
- 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 andthis
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 factorsy
- the Y coordinate scale factorpivotX
- the X coordinate of the point about which the scale occurspivotY
- 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 andthis
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 factorsy
- the Y coordinate scale factorpivot
- the point about which the scale occurs- Throws:
NullPointerException
- if the specifiedpivot
is 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 andthis
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 factorsy
- the Y coordinate scale factorsz
- 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 andthis
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 factorsy
- the Y coordinate scale factorsz
- the Z coordinate scale factorpivotX
- the X coordinate of the point about which the scale occurspivotY
- the Y coordinate of the point about which the scale occurspivotZ
- 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 andthis
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 factorsy
- the Y coordinate scale factorsz
- the Z coordinate scale factorpivot
- the point about which the scale occurs- Throws:
NullPointerException
- if the specifiedpivot
is 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 elementshy
- 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 elementshy
- the YX coordinate elementpivotX
- the X coordinate of the shear pivot pointpivotY
- 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 elementshy
- the YX coordinate elementpivot
- the shear pivot point- Throws:
NullPointerException
- if the specifiedpivot
is 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 andthis
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 elementshy
- 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 andthis
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 elementshy
- the YX coordinate elementpivotX
- the X coordinate of the shear pivot pointpivotY
- 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 andthis
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 elementshy
- the YX coordinate elementpivot
- the shear pivot point- Throws:
NullPointerException
- if the specifiedpivot
is 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 degreespivotX
- the X coordinate of the rotation pivot pointpivotY
- 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 degreespivot
- the rotation pivot point- Throws:
NullPointerException
- if the specifiedpivot
is 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 degreespivotX
- the X coordinate of the rotation pivot pointpivotY
- the Y coordinate of the rotation pivot pointpivotZ
- the Z coordinate of the rotation pivot pointaxisX
- the X coordinate magnitude of the rotation axisaxisY
- the Y coordinate magnitude of the rotation axisaxisZ
- 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 degreespivotX
- the X coordinate of the rotation pivot pointpivotY
- the Y coordinate of the rotation pivot pointpivotZ
- the Z coordinate of the rotation pivot pointaxis
- the rotation axis- Throws:
NullPointerException
- if the specifiedaxis
is 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 degreespivot
- the rotation pivot pointaxis
- the rotation axis- Throws:
NullPointerException
- if the specifiedpivot
oraxis
is 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 andthis
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 andthis
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 degreespivotX
- the X coordinate of the rotation pivot pointpivotY
- 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 andthis
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 degreespivot
- the rotation pivot point- Throws:
NullPointerException
- if the specifiedpivot
is 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 andthis
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 degreespivotX
- the X coordinate of the rotation pivot pointpivotY
- the Y coordinate of the rotation pivot pointpivotZ
- the Z coordinate of the rotation pivot pointaxisX
- the X coordinate magnitude of the rotation axisaxisY
- the Y coordinate magnitude of the rotation axisaxisZ
- 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 andthis
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 degreespivotX
- the X coordinate of the rotation pivot pointpivotY
- the Y coordinate of the rotation pivot pointpivotZ
- the Z coordinate of the rotation pivot pointaxis
- the rotation axis- Throws:
NullPointerException
- if the specifiedaxis
is 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 andthis
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 degreespivot
- the rotation pivot pointaxis
- the rotation axis- Throws:
NullPointerException
- if the specifiedpivot
oraxis
is null- Since:
- JavaFX 8.0
-
transform
public Point2D transform(double x, double y)
Description copied from class:Transform
Transforms the specified point by this transform. This method can be used only for 2D transforms.
-
transform
public Point3D transform(double x, double y, double z)
Description copied from class:Transform
Transforms the specified point by this transform.
-
deltaTransform
public Point2D deltaTransform(double x, double y)
Description copied from class:Transform
Transforms the relative magnitude vector by this transform. The vector is transformed without applying the translation components of the affine transformation matrix. This method can be used only for a 2D transform.- Overrides:
deltaTransform
in classTransform
- Parameters:
x
- vector magnitude in the direction of the X axisy
- vector magnitude in the direction of the Y axis- Returns:
- the transformed relative magnitude vector represented
by a
Point2D
instance
-
deltaTransform
public Point3D deltaTransform(double x, double y, double z)
Description copied from class:Transform
Transforms the relative magnitude vector by this transform. The vector is transformed without applying the translation components of the affine transformation matrix.- Overrides:
deltaTransform
in classTransform
- Parameters:
x
- vector magnitude in the direction of the X axisy
- vector magnitude in the direction of the Y axisz
- vector magnitude in the direction of the Z axis- Returns:
- the transformed relative magnitude vector represented
by a
Point3D
instance
-
inverseTransform
public Point2D inverseTransform(double x, double y) throws NonInvertibleTransformException
Description copied from class:Transform
Transforms the specified point by the inverse of this transform. This method can be used only for 2D transforms.- Overrides:
inverseTransform
in classTransform
- Parameters:
x
- the X coordinate of the pointy
- the Y coordinate of the point- Returns:
- the inversely transformed point
- Throws:
NonInvertibleTransformException
- if this transform cannot be inverted
-
inverseTransform
public Point3D inverseTransform(double x, double y, double z) throws NonInvertibleTransformException
Description copied from class:Transform
Transforms the specified point by the inverse of this transform.- Overrides:
inverseTransform
in classTransform
- Parameters:
x
- the X coordinate of the pointy
- the Y coordinate of the pointz
- the Z coordinate of the point- Returns:
- the inversely transformed point
- Throws:
NonInvertibleTransformException
- if this transform cannot be inverted
-
inverseDeltaTransform
public Point2D inverseDeltaTransform(double x, double y) throws NonInvertibleTransformException
Description copied from class:Transform
Transforms the relative magnitude vector by the inverse of this transform. The vector is transformed without applying the translation components of the affine transformation matrix. This method can be used only for a 2D transform.- Overrides:
inverseDeltaTransform
in classTransform
- Parameters:
x
- vector magnitude in the direction of the X axisy
- vector magnitude in the direction of the Y axis- Returns:
- the inversely transformed relative magnitude vector represented
by a
Point2D
instance - Throws:
NonInvertibleTransformException
- if this transform cannot be inverted
-
inverseDeltaTransform
public Point3D inverseDeltaTransform(double x, double y, double z) throws NonInvertibleTransformException
Description copied from class:Transform
Transforms the relative magnitude vector by the inverse of this transform. The vector is transformed without applying the translation components of the affine transformation matrix.- Overrides:
inverseDeltaTransform
in classTransform
- Parameters:
x
- vector magnitude in the direction of the X axisy
- vector magnitude in the direction of the Y axisz
- vector magnitude in the direction of the Z axis- Returns:
- the inversely transformed relative magnitude vector represented
by a
Point3D
instance - Throws:
NonInvertibleTransformException
- if this transform cannot be inverted
-
-