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 Details

  • 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

      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:
    • angleProperty

      public final DoubleProperty angleProperty()
      Defines the angle of rotation measured in degrees.
      Returns:
      the angle property
      See Also:
    • 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

      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:
    • pivotXProperty

      public final DoubleProperty pivotXProperty()
      Defines the X coordinate of the rotation pivot point.
      Default value:
      0.0
      Returns:
      the pivotX property
      See Also:
    • 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

      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:
    • pivotYProperty

      public final DoubleProperty pivotYProperty()
      Defines the Y coordinate of the rotation pivot point.
      Default value:
      0.0
      Returns:
      the pivotY property
      See Also:
    • 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

      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:
    • pivotZProperty

      public final DoubleProperty pivotZProperty()
      Defines the Z coordinate of the rotation pivot point.
      Default value:
      0.0
      Returns:
      the pivotZ property
      See Also:
    • 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

      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:
    • axisProperty

      public final ObjectProperty<Point3D> axisProperty()
      Defines the axis of rotation at the pivot point.
      Returns:
      the axis property
      See Also:
    • 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
    • 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.