Class Rotate
java.lang.Object
javafx.scene.transform.Transform
javafx.scene.transform.Rotate
- All Implemented Interfaces:
Cloneable, EventTarget
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
PropertiesTypePropertyDescriptionfinal DoublePropertyDefines the angle of rotation measured in degrees.final ObjectProperty<Point3D> Defines the axis of rotation at the pivot point.final DoublePropertyDefines the X coordinate of the rotation pivot point.final DoublePropertyDefines the Y coordinate of the rotation pivot point.final DoublePropertyDefines the Z coordinate of the rotation pivot point.Properties declared in class Transform
identity, onTransformChanged, type2DTypePropertyDescriptionfinal ReadOnlyBooleanPropertyDetermines if this is currently an identity transform.final ObjectProperty<EventHandler<? super TransformChangedEvent>> The onTransformChanged event handler is called whenever the transform changes any of its parameters.final ReadOnlyBooleanPropertyDetermines if this is currently a 2D transform. -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionRotate()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.Creates a three-dimensional Rotate transform with pivot.Creates a three-dimensional Rotate transform. -
Method Summary
Modifier and TypeMethodDescriptionfinal DoublePropertyDefines the angle of rotation measured in degrees.final ObjectProperty<Point3D> Defines the axis of rotation at the pivot point.clone()Returns a deep copy of this transform.final doublegetAngle()Gets the value of theangleproperty.final Point3DgetAxis()Gets the value of theaxisproperty.final doubleGets the value of thepivotXproperty.final doubleGets the value of thepivotYproperty.final doubleGets the value of thepivotZproperty.inverseDeltaTransform(double x, double y) Transforms the relative magnitude vector by the inverse of this transform.inverseDeltaTransform(double x, double y, double z) Transforms the relative magnitude vector by the inverse of this transform.inverseTransform(double x, double y) Transforms the specified point by the inverse of this transform.inverseTransform(double x, double y, double z) Transforms the specified point by the inverse of this transform.final DoublePropertyDefines the X coordinate of the rotation pivot point.final DoublePropertyDefines the Y coordinate of the rotation pivot point.final DoublePropertyDefines the Z coordinate of the rotation pivot point.final voidsetAngle(double value) Sets the value of theangleproperty.final voidSets the value of theaxisproperty.final voidsetPivotX(double value) Sets the value of thepivotXproperty.final voidsetPivotY(double value) Sets the value of thepivotYproperty.final voidsetPivotZ(double value) Sets the value of thepivotZproperty.toString()Returns a string representation of thisRotateobject.Methods declared in class Transform
addEventFilter, addEventHandler, affine, affine, buildEventDispatchChain, 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, 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, type2DPropertyModifier and TypeMethodDescriptionfinal <T extends Event>
voidaddEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter) Registers an event filter for this target.final <T extends Event>
voidaddEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler) Registers an event handler for this target.static Affineaffine(double mxx, double myx, double mxy, double myy, double tx, double ty) Returns a newAffineobject from 12 number values representing the 6 specifiable entries of the 3x4 Affine transformation matrix.static Affineaffine(double mxx, double mxy, double mxz, double tx, double myx, double myy, double myz, double ty, double mzx, double mzy, double mzz, double tz) Returns a newAffineobject from 12 number values representing the 12 specifiable entries of the 3x4 Affine transformation matrix.Construct an event dispatch chain for this target.double[]column(MatrixType type, int column) Returns an array containing a column of the transformation matrix.double[]column(MatrixType type, int column, double[] array) Returns an array containing a column of the transformation matrix.createConcatenation(Transform transform) Returns the concatenation of this transform and the specified transform.Returns the inverse transform of this transform.deltaTransform(double x, double y) Transforms the relative magnitude vector by this transform.deltaTransform(double x, double y, double z) Transforms the relative magnitude vector by this transform.deltaTransform(Point2D point) Transforms the relative magnitude vector represented by the specifiedPoint2Dinstance by this transform.deltaTransform(Point3D point) Transforms the relative magnitude vector represented by the specifiedPoint3Dinstance by this transform.doubleComputes determinant of the transformation matrix.doublegetElement(MatrixType type, int row, int column) Gets the specified element of the transformation matrix.doublegetMxx()Gets the X coordinate scaling element of the 3x4 matrix.doublegetMxy()Gets the XY coordinate element of the 3x4 matrix.doublegetMxz()Gets the XZ coordinate element of the 3x4 matrix.doublegetMyx()Gets the YX coordinate element of the 3x4 matrix.doublegetMyy()Gets the Y coordinate scaling element of the 3x4 matrix.doublegetMyz()Gets the YZ coordinate element of the 3x4 matrix.doublegetMzx()Gets the ZX coordinate element of the 3x4 matrix.doublegetMzy()Gets the ZY coordinate element of the 3x4 matrix.doublegetMzz()Gets the Z coordinate scaling element of the 3x4 matrix.final EventHandler<? super TransformChangedEvent> Gets the onTransformChanged event handler.doublegetTx()Gets the X coordinate translation element of the 3x4 matrix.doublegetTy()Gets the Y coordinate translation element of the 3x4 matrix.doublegetTz()Gets the Z coordinate translation element of the 3x4 matrix.final ReadOnlyBooleanPropertyDetermines if this is currently an identity transform.inverseDeltaTransform(Point2D point) Transforms the relative magnitude vector represented by the specifiedPoint2Dinstance by the inverse of this transform.inverseDeltaTransform(Point3D point) Transforms the relative magnitude vector represented by the specifiedPoint3Dinstance by the inverse of this transform.inverseTransform(Bounds bounds) Transforms the specified bounds by the inverse of this transform.inverseTransform(Point2D point) Transforms the specified point by the inverse of this transform.inverseTransform(Point3D point) Transforms the specified point by the inverse of this transform.voidinverseTransform2DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) Transforms an array of coordinates by the inverse of this transform.voidinverseTransform3DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) Transforms an array of floating point coordinates by the inverse of this transform.final booleanGets the value of theidentityproperty.final booleanisType2D()Gets the value of thetype2Dproperty.final ObjectProperty<EventHandler<? super TransformChangedEvent>> The onTransformChanged event handler is called whenever the transform changes any of its parameters.final <T extends Event>
voidremoveEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter) Unregisters a previously registered event filter from this target.final <T extends Event>
voidremoveEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler) Unregisters a previously registered event handler from this target.static Rotaterotate(double angle, double pivotX, double pivotY) Returns aRotateobject that rotates coordinates around a pivot point.double[]row(MatrixType type, int row) Returns an array containing a row of the transformation matrix.double[]row(MatrixType type, int row, double[] array) Returns an array containing a row of the transformation matrix.static Scalescale(double x, double y) Returns aScaleobject representing a scaling transformation.static Scalescale(double x, double y, double pivotX, double pivotY) Returns aScaleobject representing a scaling transformation.final voidsetOnTransformChanged(EventHandler<? super TransformChangedEvent> value) Sets the onTransformChanged event handler which is called whenever the transform changes any of its parameters.static Shearshear(double x, double y) Returns aShearobject representing a shearing transformation.static Shearshear(double x, double y, double pivotX, double pivotY) Returns aShearobject representing a shearing transformation.booleanChecks if this transform is similar to the specified transform.double[]toArray(MatrixType type) Returns an array containing the flattened transformation matrix.double[]toArray(MatrixType type, double[] array) Returns an array containing the flattened transformation matrix.transform(double x, double y) Transforms the specified point by this transform.transform(double x, double y, double z) Transforms the specified point by this transform.Transforms the specified bounds by this transform.Transforms the specified point by this transform.Transforms the specified point by this transform.voidtransform2DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) Transforms an array of coordinates by this transform.voidtransform3DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) Transforms an array of floating point coordinates by this transform.protected voidThis method must be called by all transforms whenever any of their parameters changes.static Translatetranslate(double x, double y) Returns aTranslateobject representing a translation transformation.final ReadOnlyBooleanPropertyDetermines if this is currently a 2D transform.
-
Property Details
-
angle
Defines the angle of rotation measured in degrees.- See Also:
-
pivotX
Defines the X coordinate of the rotation pivot point.- Default value:
- 0.0
- See Also:
-
pivotY
Defines the Y coordinate of the rotation pivot point.- Default value:
- 0.0
- See Also:
-
pivotZ
Defines the Z coordinate of the rotation pivot point.- Default value:
- 0.0
- See Also:
-
axis
Defines the axis of rotation at the pivot point.- See Also:
-
-
Field Details
-
X_AXIS
Specifies the X-axis as the axis of rotation. -
Y_AXIS
Specifies the Y-axis as the axis of rotation. -
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
Creates a three-dimensional Rotate transform. The pivot point is set to (0,0,0)- Parameters:
angle- the angle of rotation measured in degreesaxis- 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 degreespivotX- the X coordinate of the rotation pivot pointpivotY- 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 degreespivotX- the X coordinate of the rotation pivot pointpivotY- the Y coordinate of the rotation pivot pointpivotZ- the Z coordinate of the rotation pivot point
-
Rotate
Creates a three-dimensional Rotate transform with pivot.- Parameters:
angle- the angle of rotation measured in degreespivotX- the X coordinate of the rotation pivot pointpivotY- the Y coordinate of the rotation pivot pointpivotZ- the Z coordinate of the rotation pivot pointaxis- the axis of rotation
-
-
Method Details
-
setAngle
public final void setAngle(double value) Sets the value of theangleproperty.- Property description:
- Defines the angle of rotation measured in degrees.
- Parameters:
value- the value for theangleproperty- See Also:
-
getAngle
public final double getAngle()Gets the value of theangleproperty.- Property description:
- Defines the angle of rotation measured in degrees.
- Returns:
- the value of the
angleproperty - See Also:
-
angleProperty
Defines the angle of rotation measured in degrees.- Returns:
- the
angleproperty - See Also:
-
setPivotX
public final void setPivotX(double value) Sets the value of thepivotXproperty.- Property description:
- Defines the X coordinate of the rotation pivot point.
- Default value:
- 0.0
- Parameters:
value- the value for thepivotXproperty- See Also:
-
getPivotX
public final double getPivotX()Gets the value of thepivotXproperty.- Property description:
- Defines the X coordinate of the rotation pivot point.
- Default value:
- 0.0
- Returns:
- the value of the
pivotXproperty - See Also:
-
pivotXProperty
Defines the X coordinate of the rotation pivot point.- Default value:
- 0.0
- Returns:
- the
pivotXproperty - See Also:
-
setPivotY
public final void setPivotY(double value) Sets the value of thepivotYproperty.- Property description:
- Defines the Y coordinate of the rotation pivot point.
- Default value:
- 0.0
- Parameters:
value- the value for thepivotYproperty- See Also:
-
getPivotY
public final double getPivotY()Gets the value of thepivotYproperty.- Property description:
- Defines the Y coordinate of the rotation pivot point.
- Default value:
- 0.0
- Returns:
- the value of the
pivotYproperty - See Also:
-
pivotYProperty
Defines the Y coordinate of the rotation pivot point.- Default value:
- 0.0
- Returns:
- the
pivotYproperty - See Also:
-
setPivotZ
public final void setPivotZ(double value) Sets the value of thepivotZproperty.- Property description:
- Defines the Z coordinate of the rotation pivot point.
- Default value:
- 0.0
- Parameters:
value- the value for thepivotZproperty- See Also:
-
getPivotZ
public final double getPivotZ()Gets the value of thepivotZproperty.- Property description:
- Defines the Z coordinate of the rotation pivot point.
- Default value:
- 0.0
- Returns:
- the value of the
pivotZproperty - See Also:
-
pivotZProperty
Defines the Z coordinate of the rotation pivot point.- Default value:
- 0.0
- Returns:
- the
pivotZproperty - See Also:
-
setAxis
Sets the value of theaxisproperty.- Property description:
- Defines the axis of rotation at the pivot point.
- Parameters:
value- the value for theaxisproperty- See Also:
-
getAxis
Gets the value of theaxisproperty.- Property description:
- Defines the axis of rotation at the pivot point.
- Returns:
- the value of the
axisproperty - See Also:
-
axisProperty
Defines the axis of rotation at the pivot point.- Returns:
- the
axisproperty - See Also:
-
clone
-
inverseTransform
Description copied from class:TransformTransforms the specified point by the inverse of this transform. This method can be used only for 2D transforms.- Overrides:
inverseTransformin classTransform- Parameters:
x- the X coordinate of the pointy- the Y coordinate of the point- Returns:
- the inversely transformed point
-
inverseTransform
Description copied from class:TransformTransforms the specified point by the inverse of this transform.- Overrides:
inverseTransformin classTransform- Parameters:
x- the X coordinate of the pointy- the Y coordinate of the pointz- the Z coordinate of the point- Returns:
- the inversely transformed point
-
inverseDeltaTransform
Description copied from class:TransformTransforms 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:
inverseDeltaTransformin classTransform- Parameters:
x- vector magnitude in the direction of the X axisy- vector magnitude in the direction of the Y axis- Returns:
- the inversely transformed relative magnitude vector represented
by a
Point2Dinstance
-
inverseDeltaTransform
Description copied from class:TransformTransforms 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:
inverseDeltaTransformin classTransform- Parameters:
x- vector magnitude in the direction of the X axisy- vector magnitude in the direction of the Y axisz- vector magnitude in the direction of the Z axis- Returns:
- the inversely transformed relative magnitude vector represented
by a
Point3Dinstance
-
toString
-