Class Affine

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, 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

    Properties
    Type
    Property
    Description
    Defines the X coordinate scaling element of the 3x4 matrix.
    Defines the XY coordinate element of the 3x4 matrix.
    Defines the XZ coordinate element of the 3x4 matrix.
    Defines the YX coordinate element of the 3x4 matrix.
    Defines the Y coordinate scaling element of the 3x4 matrix.
    Defines the YZ coordinate element of the 3x4 matrix.
    Defines the ZX coordinate element of the 3x4 matrix.
    Defines the ZY coordinate element of the 3x4 matrix.
    Defines the Z coordinate scaling element of the 3x4 matrix.
    Defines the X coordinate translation element of the 3x4 matrix.
    Defines the Y coordinate translation element of the 3x4 matrix.
    Defines the Z coordinate translation element of the 3x4 matrix.

    Properties declared in class javafx.scene.transform.Transform

    identity, onTransformChanged, type2D
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new instance of Affine containing an identity transform.
    Affine(double[] matrix, MatrixType type, int offset)
    Creates a new instance of Affine 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 of Affine 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 of Affine with a transform specified by the element values.
    Affine(Transform transform)
    Creates a new instance of Affine filled with the values from the specified transform.
  • Method Summary

    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.
    Returns a deep copy of this transform.
    Returns the inverse transform of this transform.
    final double
    Gets the value of the property mxx.
    final double
    Gets the value of the property mxy.
    final double
    Gets the value of the property mxz.
    final double
    Gets the value of the property myx.
    final double
    Gets the value of the property myy.
    final double
    Gets the value of the property myz.
    final double
    Gets the value of the property mzx.
    final double
    Gets the value of the property mzy.
    final double
    Gets the value of the property mzz.
    final double
    Gets the value of the property tx.
    final double
    Gets the value of the property ty.
    final double
    Gets the value of the property tz.
    void
    Inverts this transform in place.
    Defines the X coordinate scaling element of the 3x4 matrix.
    Defines the XY coordinate element of the 3x4 matrix.
    Defines the XZ coordinate element of the 3x4 matrix.
    Defines the YX coordinate element of the 3x4 matrix.
    Defines the Y coordinate scaling element of the 3x4 matrix.
    Defines the YZ coordinate element of the 3x4 matrix.
    Defines the ZX coordinate element of the 3x4 matrix.
    Defines the ZY coordinate element of the 3x4 matrix.
    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.
    final void
    setMxx(double value)
    Sets the value of the property mxx.
    final void
    setMxy(double value)
    Sets the value of the property mxy.
    final void
    setMxz(double value)
    Sets the value of the property mxz.
    final void
    setMyx(double value)
    Sets the value of the property myx.
    final void
    setMyy(double value)
    Sets the value of the property myy.
    final void
    setMyz(double value)
    Sets the value of the property myz.
    final void
    setMzx(double value)
    Sets the value of the property mzx.
    final void
    setMzy(double value)
    Sets the value of the property mzy.
    final void
    setMzz(double value)
    Sets the value of the property mzz.
    void
    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
    Sets the values of this instance to the values provided by the specified transform.
    final void
    setTx(double value)
    Sets the value of the property tx.
    final void
    setTy(double value)
    Sets the value of the property ty.
    final void
    setTz(double value)
    Sets the value of the property tz.
    Returns a string representation of this Affine object.
    Defines the X coordinate translation element of the 3x4 matrix.
    Defines the Y coordinate translation element of the 3x4 matrix.
    Defines the Z coordinate translation element of the 3x4 matrix.

    Methods declared in class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Property Details

  • Constructor Details

    • Affine

      public Affine()
      Creates a new instance of Affine containing an identity transform.
    • Affine

      public Affine(Transform transform)
      Creates a new instance of 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 specified transform 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 of 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)
      Creates a new instance of 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)
      Creates a new instance of 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 specified type and offset
      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 specified matrix or type is null
      Since:
      JavaFX 8.0
  • Method Details

    • 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.
      Overrides:
      getMxx in class Transform
      Property description:
      Defines the X coordinate scaling element of the 3x4 matrix.
      Returns:
      the X coordinate scaling element of the 3x4 matrix
    • mxxProperty

      public final DoubleProperty mxxProperty()
      Defines the X coordinate scaling element of the 3x4 matrix.
      See Also:
    • 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.
      Overrides:
      getMxy in class Transform
      Property description:
      Defines the XY coordinate element of the 3x4 matrix.
      Returns:
      the XY coordinate element of the 3x4 matrix
    • mxyProperty

      public final DoubleProperty mxyProperty()
      Defines the XY coordinate element of the 3x4 matrix.
      See Also:
    • 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.
      Overrides:
      getMxz in class Transform
      Property description:
      Defines the XZ coordinate element of the 3x4 matrix.
      Returns:
      the XZ coordinate element of the 3x4 matrix
    • mxzProperty

      public final DoubleProperty mxzProperty()
      Defines the XZ coordinate element of the 3x4 matrix.
      See Also:
    • 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.
      Overrides:
      getTx in class Transform
      Property description:
      Defines the X coordinate translation element of the 3x4 matrix.
      Returns:
      the X coordinate translation element of the 3x4 matrix
    • txProperty

      public final DoubleProperty txProperty()
      Defines the X coordinate translation element of the 3x4 matrix.
      See Also:
    • 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.
      Overrides:
      getMyx in class Transform
      Property description:
      Defines the YX coordinate element of the 3x4 matrix.
      Returns:
      the YX coordinate element of the 3x4 matrix
    • myxProperty

      public final DoubleProperty myxProperty()
      Defines the YX coordinate element of the 3x4 matrix.
      See Also:
    • 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.
      Overrides:
      getMyy in class Transform
      Property description:
      Defines the Y coordinate scaling element of the 3x4 matrix.
      Returns:
      the Y coordinate scaling element of the 3x4 matrix
    • myyProperty

      public final DoubleProperty myyProperty()
      Defines the Y coordinate scaling element of the 3x4 matrix.
      See Also:
    • 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.
      Overrides:
      getMyz in class Transform
      Property description:
      Defines the YZ coordinate element of the 3x4 matrix.
      Returns:
      the YZ coordinate element of the 3x4 matrix
    • myzProperty

      public final DoubleProperty myzProperty()
      Defines the YZ coordinate element of the 3x4 matrix.
      See Also:
    • 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.
      Overrides:
      getTy in class Transform
      Property description:
      Defines the Y coordinate translation element of the 3x4 matrix.
      Returns:
      the Y coordinate translation element of the 3x4 matrix
    • tyProperty

      public final DoubleProperty tyProperty()
      Defines the Y coordinate translation element of the 3x4 matrix.
      See Also:
    • 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.
      Overrides:
      getMzx in class Transform
      Property description:
      Defines the ZX coordinate element of the 3x4 matrix.
      Returns:
      the ZX coordinate element of the 3x4 matrix
    • mzxProperty

      public final DoubleProperty mzxProperty()
      Defines the ZX coordinate element of the 3x4 matrix.
      See Also:
    • 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.
      Overrides:
      getMzy in class Transform
      Property description:
      Defines the ZY coordinate element of the 3x4 matrix.
      Returns:
      the ZY coordinate element of the 3x4 matrix
    • mzyProperty

      public final DoubleProperty mzyProperty()
      Defines the ZY coordinate element of the 3x4 matrix.
      See Also:
    • 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.
      Overrides:
      getMzz in class Transform
      Property description:
      Defines the Z coordinate scaling element of the 3x4 matrix.
      Returns:
      the Z coordinate scaling element of the 3x4 matrix
    • mzzProperty

      public final DoubleProperty mzzProperty()
      Defines the Z coordinate scaling element of the 3x4 matrix.
      See Also:
    • 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.
      Overrides:
      getTz in class Transform
      Property description:
      Defines the Z coordinate translation element of the 3x4 matrix.
      Returns:
      the Z coordinate translation element of the 3x4 matrix
    • tzProperty

      public final DoubleProperty tzProperty()
      Defines the Z coordinate translation element of the 3x4 matrix.
      See Also:
    • 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 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 specified type is null
      Since:
      JavaFX 8.0
    • createInverse

      public Affine createInverse() throws NonInvertibleTransformException
      Description copied from class: Transform
      Returns the inverse transform of this transform.
      Overrides:
      createInverse in class Transform
      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.
      Overrides:
      clone in class Transform
      Returns:
      a 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 specified transform 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 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)
      Sets the values of this instance to the 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
    • 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 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 specified type and offset
      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 specified matrix or type 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 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 specified transform 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 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 specified type and offset
      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 specified matrix or type 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 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 specified transform 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 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 specified type and offset
      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 specified matrix or type 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 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 specified pivot 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 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 specified pivot 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 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 specified pivot 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 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 specified pivot 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 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 specified pivot 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 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 specified pivot 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 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 specified pivot 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 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 specified axis 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 degrees
      pivot - the rotation pivot point
      axis - the rotation axis
      Throws:
      NullPointerException - if the specified pivot or axis 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 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 specified pivot 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 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 specified axis 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 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 specified pivot or axis is null
      Since:
      JavaFX 8.0
    • toString

      public String toString()
      Returns a string representation of this Affine object.
      Overrides:
      toString in class Object
      Returns:
      a string representation of this Affine object.