Class 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).

    For example, the matrix representing the returned transform of new Rotate (theta, x, y, z) around the Z-axis is :

                  [   cos(theta)    -sin(theta)   0    x-x*cos+y*sin  ]
                  [   sin(theta)     cos(theta)   0    y-x*sin-y*cos  ]
                  [      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
    • 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.
      • 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
      • 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
      • 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
      • 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.
      • 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.