Rotate (JavaFX 17)

Module javafx.graphics
Package javafx.scene.transform

## Class Rotate

- java.lang.Object
- - javafx.scene.transform.Transform
  - - javafx.scene.transform.Rotate

- All Implemented Interfaces:
    `Cloneable`, `EventTarget`

      public class Rotate
      extends Transform

  This class represents an `Affine` object that rotates coordinates around an anchor point. This operation is equivalent to translating the coordinates so that the anchor point is at the origin (S1), then rotating them about the new origin (S2), and finally translating so that the intermediate origin is restored to the coordinates of the original anchor point (S3).

  The matrix representing the rotation transformation around an axis `(x,y,z)` by an angle `t` is as follows:

                    [   cos(t)   -sin(t)   0   x-x*cos(t)+y*sin(t)   ]
                    [   sin(t)    cos(t)   0   y-x*sin(t)-y*cos(t)   ]
                    [     0         0      1           z             ]

  For example, to rotate a text 30 degrees around the Z-axis at anchor point of (50,30):

       Text text = new Text("This is a test");
       text.setX(10);
       text.setY(50);
       text.setFont(new Font(20));

       text.getTransforms().add(new Rotate(30, 50, 30));

  Since:
    JavaFX 2.0

- - ### Property Summary

    Properties
    Type | Property | Description
    --- | --- | ---
    `DoubleProperty` | `angle` | Defines the angle of rotation measured in degrees.
    `ObjectProperty<Point3D>` | `axis` | Defines the axis of rotation at the pivot point.
    `DoubleProperty` | `pivotX` | Defines the X coordinate of the rotation pivot point.
    `DoubleProperty` | `pivotY` | Defines the Y coordinate of the rotation pivot point.
    `DoubleProperty` | `pivotZ` | Defines the Z coordinate of the rotation pivot point.

    - ### Properties declared in class javafx.scene.transform.Transform

      `identity, onTransformChanged, type2D`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static Point3D` | `X_AXIS` | Specifies the X-axis as the axis of rotation.
    `static Point3D` | `Y_AXIS` | Specifies the Y-axis as the axis of rotation.
    `static Point3D` | `Z_AXIS` | Specifies the Z-axis as the axis of rotation.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Rotate()` | Creates a default Rotate transform (identity).
    `Rotate​(double angle)` | Creates a two-dimensional Rotate transform.
    `Rotate​(double angle, double pivotX, double pivotY)` | Creates a two-dimensional Rotate transform with pivot.
    `Rotate​(double angle, double pivotX, double pivotY, double pivotZ)` | Creates a simple Rotate transform with three-dimensional pivot.
    `Rotate​(double angle, double pivotX, double pivotY, double pivotZ, Point3D axis)` | Creates a three-dimensional Rotate transform with pivot.
    `Rotate​(double angle, Point3D axis)` | Creates a three-dimensional Rotate transform.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `DoubleProperty` | `angleProperty()` | Defines the angle of rotation measured in degrees.
    `ObjectProperty<Point3D>` | `axisProperty()` | Defines the axis of rotation at the pivot point.
    `double` | `getAngle()` | Gets the value of the property angle.
    `Point3D` | `getAxis()` | Gets the value of the property axis.
    `double` | `getPivotX()` | Gets the value of the property pivotX.
    `double` | `getPivotY()` | Gets the value of the property pivotY.
    `double` | `getPivotZ()` | Gets the value of the property pivotZ.
    `DoubleProperty` | `pivotXProperty()` | Defines the X coordinate of the rotation pivot point.
    `DoubleProperty` | `pivotYProperty()` | Defines the Y coordinate of the rotation pivot point.
    `DoubleProperty` | `pivotZProperty()` | Defines the Z coordinate of the rotation pivot point.
    `void` | `setAngle​(double value)` | Sets the value of the property angle.
    `void` | `setAxis​(Point3D value)` | Sets the value of the property axis.
    `void` | `setPivotX​(double value)` | Sets the value of the property pivotX.
    `void` | `setPivotY​(double value)` | Sets the value of the property pivotY.
    `void` | `setPivotZ​(double value)` | Sets the value of the property pivotZ.
    `String` | `toString()` | Returns a string representation of this `Rotate` object.

    - ### Methods declared in class javafx.scene.transform.Transform

      `addEventFilter, addEventHandler, affine, affine, clone, column, column, createConcatenation, createInverse, deltaTransform, deltaTransform, deltaTransform, deltaTransform, determinant, getElement, getMxx, getMxy, getMxz, getMyx, getMyy, getMyz, getMzx, getMzy, getMzz, getOnTransformChanged, getTx, getTy, getTz, identityProperty, inverseDeltaTransform, inverseDeltaTransform, inverseDeltaTransform, inverseDeltaTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform2DPoints, inverseTransform3DPoints, isIdentity, isType2D, onTransformChangedProperty, removeEventFilter, removeEventHandler, rotate, row, row, scale, scale, setOnTransformChanged, shear, shear, similarTo, toArray, toArray, transform, transform, transform, transform, transform, transform2DPoints, transform3DPoints, transformChanged, translate, type2DProperty`

    - ### Methods declared in class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods declared in interface javafx.event.EventTarget

      `buildEventDispatchChain`

- - ### Property Detail

    - #### angle

          public final DoubleProperty angleProperty

      Defines the angle of rotation measured in degrees.
      See Also:
        `getAngle()`, `setAngle(double)`

    - #### pivotX

          public final DoubleProperty pivotXProperty

      Defines the X coordinate of the rotation pivot point.
      Default value:
        0.0
      See Also:
        `getPivotX()`, `setPivotX(double)`

    - #### pivotY

          public final DoubleProperty pivotYProperty

      Defines the Y coordinate of the rotation pivot point.
      Default value:
        0.0
      See Also:
        `getPivotY()`, `setPivotY(double)`

    - #### pivotZ

          public final DoubleProperty pivotZProperty

      Defines the Z coordinate of the rotation pivot point.
      Default value:
        0.0
      See Also:
        `getPivotZ()`, `setPivotZ(double)`

    - #### axis

          public final ObjectProperty<Point3D> axisProperty

      Defines the axis of rotation at the pivot point.
      See Also:
        `getAxis()`, `setAxis(Point3D)`

  - ### Field Detail

    - #### X_AXIS

          public static final Point3D X_AXIS

      Specifies the X-axis as the axis of rotation.

    - #### Y_AXIS

          public static final Point3D Y_AXIS

      Specifies the Y-axis as the axis of rotation.

    - #### Z_AXIS

          public static final Point3D Z_AXIS

      Specifies the Z-axis as the axis of rotation.

  - ### Constructor Detail

    - #### Rotate

          public Rotate()

      Creates a default Rotate transform (identity).

    - #### Rotate

          public Rotate​(double angle)

      Creates a two-dimensional Rotate transform. The pivot point is set to (0,0)
      Parameters:
        `angle` - the angle of rotation measured in degrees

    - #### Rotate

          public Rotate​(double angle,
                        Point3D axis)

      Creates a three-dimensional Rotate transform. The pivot point is set to (0,0,0)
      Parameters:
        `angle` - the angle of rotation measured in degrees
        `axis` - the axis of rotation

    - #### Rotate

          public Rotate​(double angle,
                        double pivotX,
                        double pivotY)

      Creates a two-dimensional Rotate transform with pivot.
      Parameters:
        `angle` - the angle of rotation measured in degrees
        `pivotX` - the X coordinate of the rotation pivot point
        `pivotY` - the Y coordinate of the rotation pivot point

    - #### Rotate

          public Rotate​(double angle,
                        double pivotX,
                        double pivotY,
                        double pivotZ)

      Creates a simple Rotate transform with three-dimensional pivot.
      Parameters:
        `angle` - the angle of rotation measured 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

    - #### Rotate

          public Rotate​(double angle,
                        double pivotX,
                        double pivotY,
                        double pivotZ,
                        Point3D axis)

      Creates a three-dimensional Rotate transform with pivot.
      Parameters:
        `angle` - the angle of rotation measured 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 axis of rotation

  - ### Method Detail

    - #### setAngle

          public final void setAngle​(double value)

      Sets the value of the property angle.
      Property description:
        Defines the angle of rotation measured in degrees.

    - #### getAngle

          public final double getAngle()

      Gets the value of the property angle.
      Property description:
        Defines the angle of rotation measured in degrees.

    - #### angleProperty

          public final DoubleProperty angleProperty()

      Defines the angle of rotation measured in degrees.
      See Also:
        `getAngle()`, `setAngle(double)`

    - #### setPivotX

          public final void setPivotX​(double value)

      Sets the value of the property pivotX.
      Property description:
        Defines the X coordinate of the rotation pivot point.
      Default value:
        0.0

    - #### getPivotX

          public final double getPivotX()

      Gets the value of the property pivotX.
      Property description:
        Defines the X coordinate of the rotation pivot point.
      Default value:
        0.0

    - #### pivotXProperty

          public final DoubleProperty pivotXProperty()

      Defines the X coordinate of the rotation pivot point.
      Default value:
        0.0
      See Also:
        `getPivotX()`, `setPivotX(double)`

    - #### setPivotY

          public final void setPivotY​(double value)

      Sets the value of the property pivotY.
      Property description:
        Defines the Y coordinate of the rotation pivot point.
      Default value:
        0.0

    - #### getPivotY

          public final double getPivotY()

      Gets the value of the property pivotY.
      Property description:
        Defines the Y coordinate of the rotation pivot point.
      Default value:
        0.0

    - #### pivotYProperty

          public final DoubleProperty pivotYProperty()

      Defines the Y coordinate of the rotation pivot point.
      Default value:
        0.0
      See Also:
        `getPivotY()`, `setPivotY(double)`

    - #### setPivotZ

          public final void setPivotZ​(double value)

      Sets the value of the property pivotZ.
      Property description:
        Defines the Z coordinate of the rotation pivot point.
      Default value:
        0.0

    - #### getPivotZ

          public final double getPivotZ()

      Gets the value of the property pivotZ.
      Property description:
        Defines the Z coordinate of the rotation pivot point.
      Default value:
        0.0

    - #### pivotZProperty

          public final DoubleProperty pivotZProperty()

      Defines the Z coordinate of the rotation pivot point.
      Default value:
        0.0
      See Also:
        `getPivotZ()`, `setPivotZ(double)`

    - #### setAxis

          public final void setAxis​(Point3D value)

      Sets the value of the property axis.
      Property description:
        Defines the axis of rotation at the pivot point.

    - #### getAxis

          public final Point3D getAxis()

      Gets the value of the property axis.
      Property description:
        Defines the axis of rotation at the pivot point.

    - #### axisProperty

          public final ObjectProperty<Point3D> axisProperty()

      Defines the axis of rotation at the pivot point.
      See Also:
        `getAxis()`, `setAxis(Point3D)`

    - #### toString

          public String toString()

      Returns a string representation of this `Rotate` object.
      Overrides:
        `toString` in class `Object`
      Returns:
        a string representation of this `Rotate` object.