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
`final DoubleProperty`
`angle`
Defines the angle of rotation measured in degrees.
`final ObjectProperty<Point3D>`
`axis`
Defines the axis of rotation at the pivot point.
`final DoubleProperty`
`pivotX`
Defines the X coordinate of the rotation pivot point.
`final DoubleProperty`
`pivotY`
Defines the Y coordinate of the rotation pivot point.
`final DoubleProperty`
`pivotZ`
Defines the Z coordinate of the rotation pivot point.

### Properties inherited from class javafx.scene.transform.Transform

`identity, onTransformChanged, type2D`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final Point3D`
`X_AXIS`
Specifies the X-axis as the axis of rotation.
`static final Point3D`
`Y_AXIS`
Specifies the Y-axis as the axis of rotation.
`static final 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

Modifier and Type
Method
Description
`final DoubleProperty`
`angleProperty()`
Defines the angle of rotation measured in degrees.
`final ObjectProperty<Point3D>`
`axisProperty()`
Defines the axis of rotation at the pivot point.
`Rotate`
`clone()`
Returns a deep copy of this transform.
`Transform`
`createConcatenation(Transform transform)`
Returns the concatenation of this transform and the specified transform.
`Transform`
`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.
`final double`
`getAngle()`
Gets the value of the `angle` property.
`final Point3D`
`getAxis()`
Gets the value of the `axis` property.
`double`
`getMxx()`
Gets the X coordinate scaling element of the 3x4 matrix.
`double`
`getMxy()`
Gets the XY coordinate element of the 3x4 matrix.
`double`
`getMxz()`
Gets the XZ coordinate element of the 3x4 matrix.
`double`
`getMyx()`
Gets the YX coordinate element of the 3x4 matrix.
`double`
`getMyy()`
Gets the Y coordinate scaling element of the 3x4 matrix.
`double`
`getMyz()`
Gets the YZ coordinate element of the 3x4 matrix.
`double`
`getMzx()`
Gets the ZX coordinate element of the 3x4 matrix.
`double`
`getMzy()`
Gets the ZY coordinate element of the 3x4 matrix.
`double`
`getMzz()`
Gets the Z coordinate scaling element of the 3x4 matrix.
`final double`
`getPivotX()`
Gets the value of the `pivotX` property.
`final double`
`getPivotY()`
Gets the value of the `pivotY` property.
`final double`
`getPivotZ()`
Gets the value of the `pivotZ` property.
`double`
`getTx()`
Gets the X coordinate translation element of the 3x4 matrix.
`double`
`getTy()`
Gets the Y coordinate translation element of the 3x4 matrix.
`double`
`getTz()`
Gets the Z coordinate translation element of the 3x4 matrix.
`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.
`final DoubleProperty`
`pivotXProperty()`
Defines the X coordinate of the rotation pivot point.
`final DoubleProperty`
`pivotYProperty()`
Defines the Y coordinate of the rotation pivot point.
`final DoubleProperty`
`pivotZProperty()`
Defines the Z coordinate of the rotation pivot point.
`final void`
`setAngle(double value)`
Sets the value of the `angle` property.
`final void`
`setAxis(Point3D value)`
Sets the value of the `axis` property.
`final void`
`setPivotX(double value)`
Sets the value of the `pivotX` property.
`final void`
`setPivotY(double value)`
Sets the value of the `pivotY` property.
`final void`
`setPivotZ(double value)`
Sets the value of the `pivotZ` property.
`String`
`toString()`
Returns a string representation of this `Rotate` 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.
`protected void`
`transformChanged()`
This method must be called by all transforms whenever any of their parameters changes.

### Methods inherited from class javafx.scene.transform.Transform

`addEventFilter, addEventHandler, affine, affine, buildEventDispatchChain, column, column, deltaTransform, deltaTransform, determinant, 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, translate, type2DProperty`

### Methods inherited from class java.lang.Object

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

## Property Details

### angle

public final DoubleProperty angleProperty
Defines the angle of rotation measured in degrees.

See Also:
  - `getAngle()`
  - `setAngle(double)`
  - `angleProperty()`

### pivotX

public final DoubleProperty pivotXProperty
Defines the X coordinate of the rotation pivot point.

Default value:
  0.0
See Also:
  - `getPivotX()`
  - `setPivotX(double)`
  - `pivotXProperty()`

### pivotY

public final DoubleProperty pivotYProperty
Defines the Y coordinate of the rotation pivot point.

Default value:
  0.0
See Also:
  - `getPivotY()`
  - `setPivotY(double)`
  - `pivotYProperty()`

### pivotZ

public final DoubleProperty pivotZProperty
Defines the Z coordinate of the rotation pivot point.

Default value:
  0.0
See Also:
  - `getPivotZ()`
  - `setPivotZ(double)`
  - `pivotZProperty()`

### axis

public final ObjectProperty<Point3D> axisProperty
Defines the axis of rotation at the pivot point.

See Also:
  - `getAxis()`
  - `setAxis(Point3D)`
  - `axisProperty()`

## Field Details

### 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 Details

### 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 Details

### setAngle

public final void setAngle(double value)
Sets the value of the `angle` property.

Property description:
  Defines the angle of rotation measured in degrees.
Parameters:
  `value` - the value for the `angle` property
See Also:
  - `getAngle()`
  - `angleProperty()`

### getAngle

public final double getAngle()
Gets the value of the `angle` property.

Property description:
  Defines the angle of rotation measured in degrees.
Returns:
  the value of the `angle` property
See Also:
  - `setAngle(double)`
  - `angleProperty()`

### angleProperty

public final DoubleProperty angleProperty()
Defines the angle of rotation measured in degrees.

Returns:
  the `angle` property
See Also:
  - `getAngle()`
  - `setAngle(double)`

### setPivotX

public final void setPivotX(double value)
Sets the value of the `pivotX` property.

Property description:
  Defines the X coordinate of the rotation pivot point.
Default value:
  0.0
Parameters:
  `value` - the value for the `pivotX` property
See Also:
  - `getPivotX()`
  - `pivotXProperty()`

### getPivotX

public final double getPivotX()
Gets the value of the `pivotX` property.

Property description:
  Defines the X coordinate of the rotation pivot point.
Default value:
  0.0
Returns:
  the value of the `pivotX` property
See Also:
  - `setPivotX(double)`
  - `pivotXProperty()`

### pivotXProperty

public final DoubleProperty pivotXProperty()
Defines the X coordinate of the rotation pivot point.

Default value:
  0.0
Returns:
  the `pivotX` property
See Also:
  - `getPivotX()`
  - `setPivotX(double)`

### setPivotY

public final void setPivotY(double value)
Sets the value of the `pivotY` property.

Property description:
  Defines the Y coordinate of the rotation pivot point.
Default value:
  0.0
Parameters:
  `value` - the value for the `pivotY` property
See Also:
  - `getPivotY()`
  - `pivotYProperty()`

### getPivotY

public final double getPivotY()
Gets the value of the `pivotY` property.

Property description:
  Defines the Y coordinate of the rotation pivot point.
Default value:
  0.0
Returns:
  the value of the `pivotY` property
See Also:
  - `setPivotY(double)`
  - `pivotYProperty()`

### pivotYProperty

public final DoubleProperty pivotYProperty()
Defines the Y coordinate of the rotation pivot point.

Default value:
  0.0
Returns:
  the `pivotY` property
See Also:
  - `getPivotY()`
  - `setPivotY(double)`

### setPivotZ

public final void setPivotZ(double value)
Sets the value of the `pivotZ` property.

Property description:
  Defines the Z coordinate of the rotation pivot point.
Default value:
  0.0
Parameters:
  `value` - the value for the `pivotZ` property
See Also:
  - `getPivotZ()`
  - `pivotZProperty()`

### getPivotZ

public final double getPivotZ()
Gets the value of the `pivotZ` property.

Property description:
  Defines the Z coordinate of the rotation pivot point.
Default value:
  0.0
Returns:
  the value of the `pivotZ` property
See Also:
  - `setPivotZ(double)`
  - `pivotZProperty()`

### pivotZProperty

public final DoubleProperty pivotZProperty()
Defines the Z coordinate of the rotation pivot point.

Default value:
  0.0
Returns:
  the `pivotZ` property
See Also:
  - `getPivotZ()`
  - `setPivotZ(double)`

### setAxis

public final void setAxis(Point3D value)
Sets the value of the `axis` property.

Property description:
  Defines the axis of rotation at the pivot point.
Parameters:
  `value` - the value for the `axis` property
See Also:
  - `getAxis()`
  - `axisProperty()`

### getAxis

public final Point3D getAxis()
Gets the value of the `axis` property.

Property description:
  Defines the axis of rotation at the pivot point.
Returns:
  the value of the `axis` property
See Also:
  - `setAxis(Point3D)`
  - `axisProperty()`

### axisProperty

public final ObjectProperty<Point3D> axisProperty()
Defines the axis of rotation at the pivot point.

Returns:
  the `axis` property
See Also:
  - `getAxis()`
  - `setAxis(Point3D)`

### getMxx

public double getMxx()
Description copied from class: `Transform`
Gets the X coordinate scaling element of the 3x4 matrix.

Overrides:
  `getMxx` in class `Transform`
Returns:
  the X coordinate scaling element of the 3x4 matrix

### getMxy

public double getMxy()
Description copied from class: `Transform`
Gets the XY coordinate element of the 3x4 matrix.

Overrides:
  `getMxy` in class `Transform`
Returns:
  the XY coordinate element of the 3x4 matrix

### getMxz

public double getMxz()
Description copied from class: `Transform`
Gets the XZ coordinate element of the 3x4 matrix.

Overrides:
  `getMxz` in class `Transform`
Returns:
  the XZ coordinate element of the 3x4 matrix

### getTx

public double getTx()
Description copied from class: `Transform`
Gets the X coordinate translation element of the 3x4 matrix.

Overrides:
  `getTx` in class `Transform`
Returns:
  the X coordinate translation element of the 3x4 matrix

### getMyx

public double getMyx()
Description copied from class: `Transform`
Gets the YX coordinate element of the 3x4 matrix.

Overrides:
  `getMyx` in class `Transform`
Returns:
  the YX coordinate element of the 3x4 matrix

### getMyy

public double getMyy()
Description copied from class: `Transform`
Gets the Y coordinate scaling element of the 3x4 matrix.

Overrides:
  `getMyy` in class `Transform`
Returns:
  the Y coordinate scaling element of the 3x4 matrix

### getMyz

public double getMyz()
Description copied from class: `Transform`
Gets the YZ coordinate element of the 3x4 matrix.

Overrides:
  `getMyz` in class `Transform`
Returns:
  the YZ coordinate element of the 3x4 matrix

### getTy

public double getTy()
Description copied from class: `Transform`
Gets the Y coordinate translation element of the 3x4 matrix.

Overrides:
  `getTy` in class `Transform`
Returns:
  the Y coordinate translation element of the 3x4 matrix

### getMzx

public double getMzx()
Description copied from class: `Transform`
Gets the ZX coordinate element of the 3x4 matrix.

Overrides:
  `getMzx` in class `Transform`
Returns:
  the ZX coordinate element of the 3x4 matrix

### getMzy

public double getMzy()
Description copied from class: `Transform`
Gets the ZY coordinate element of the 3x4 matrix.

Overrides:
  `getMzy` in class `Transform`
Returns:
  the ZY coordinate element of the 3x4 matrix

### getMzz

public double getMzz()
Description copied from class: `Transform`
Gets the Z coordinate scaling element of the 3x4 matrix.

Overrides:
  `getMzz` in class `Transform`
Returns:
  the Z coordinate scaling element of the 3x4 matrix

### getTz

public double getTz()
Description copied from class: `Transform`
Gets the Z coordinate translation element of the 3x4 matrix.

Overrides:
  `getTz` in class `Transform`
Returns:
  the Z coordinate translation element of the 3x4 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 its `getTransforms()` list, `this` transform first and the specified `transform` second.

Overrides:
  `createConcatenation` in class `Transform`
Parameters:
  `transform` - transform to be concatenated with this transform
Returns:
  The concatenated transform

### createInverse

public Transform 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 Rotate clone()
Description copied from class: `Transform`
Returns a deep copy of this transform.

Overrides:
  `clone` in class `Transform`
Returns:
  a copy of this transform

### 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.

Overrides:
  `transform` in class `Transform`
Parameters:
  `x` - the X coordinate of the point
  `y` - the Y coordinate of the point
Returns:
  the transformed point

### transform

public Point3D transform(double x, double y, double z)
Description copied from class: `Transform`
Transforms the specified point by this transform.

Overrides:
  `transform` in class `Transform`
Parameters:
  `x` - the X coordinate of the point
  `y` - the Y coordinate of the point
  `z` - the Z coordinate of the point
Returns:
  the transformed point

### 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 class `Transform`
Parameters:
  `x` - vector magnitude in the direction of the X axis
  `y` - 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 class `Transform`
Parameters:
  `x` - vector magnitude in the direction of the X axis
  `y` - vector magnitude in the direction of the Y axis
  `z` - 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)
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 class `Transform`
Parameters:
  `x` - the X coordinate of the point
  `y` - the Y coordinate of the point
Returns:
  the inversely transformed point

### inverseTransform

public Point3D inverseTransform(double x, double y, double z)
Description copied from class: `Transform`
Transforms the specified point by the inverse of this transform.

Overrides:
  `inverseTransform` in class `Transform`
Parameters:
  `x` - the X coordinate of the point
  `y` - the Y coordinate of the point
  `z` - the Z coordinate of the point
Returns:
  the inversely transformed point

### inverseDeltaTransform

public Point2D inverseDeltaTransform(double x, double y)
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 class `Transform`
Parameters:
  `x` - vector magnitude in the direction of the X axis
  `y` - vector magnitude in the direction of the Y axis
Returns:
  the inversely transformed relative magnitude vector represented by a `Point2D` instance

### inverseDeltaTransform

public Point3D inverseDeltaTransform(double x, double y, double z)
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 class `Transform`
Parameters:
  `x` - vector magnitude in the direction of the X axis
  `y` - vector magnitude in the direction of the Y axis
  `z` - vector magnitude in the direction of the Z axis
Returns:
  the inversely transformed relative magnitude vector represented by a `Point3D` instance

### 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.

### transformChanged

protected void transformChanged()
Description copied from class: `Transform`
This method must be called by all transforms whenever any of their parameters changes. It is typically called when any of the transform's properties is invalidated (it is OK to skip the call if an invalid property is set).

Overrides:
  `transformChanged` in class `Transform`