Transform (Java SE 10 & JDK 10 ) (original) (raw)
Property Summary
Properties
Type Property Description ReadOnlyBooleanProperty identity Determines if this is currently an identity transform. ObjectProperty<EventHandler<? super TransformChangedEvent>> onTransformChanged The onTransformChanged event handler is called whenever the transform changes any of its parameters. ReadOnlyBooleanProperty type2D Determines if this is currently a 2D transform. Constructor Summary
Constructors
Constructor Description Transform() Method Summary
All Methods Static Methods Instance Methods Concrete Methods
Modifier and Type Method Description <T extends Event>void addEventFilter(EventType eventType,EventHandler<? super T> eventFilter) Registers an event filter to this transform. <T extends Event>void addEventHandler(EventType eventType,EventHandler<? super T> eventHandler) Registers an event handler to this transform. static Affine affine(double mxx, double myx, double mxy, double myy, double tx, double ty) Returns a new Affine object from 12 number values representing the 6 specifiable entries of the 3x4 Affine transformation matrix. static Affine affine(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 new Affine object from 12 number values representing the 12 specifiable entries of the 3x4 Affine transformation matrix. Transform clone() Returns a deep copy of this transform. 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. 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. Point2D deltaTransform(Point2D point) Transforms the relative magnitude vector represented by the specifiedPoint2D instance by this transform. Point3D deltaTransform(Point3D point) Transforms the relative magnitude vector represented by the specifiedPoint3D instance by this transform. double determinant() Computes determinant of the transformation matrix. double getElement(MatrixType type, int row, int column) Gets the specified element of the transformation matrix. 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. EventHandler<? super TransformChangedEvent> getOnTransformChanged() Gets the onTransformChanged event handler. 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. ReadOnlyBooleanProperty identityProperty() Determines if this is currently an identity transform. 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 inverseDeltaTransform(Point2D point) Transforms the relative magnitude vector represented by the specifiedPoint2D instance by the inverse of this transform. Point3D inverseDeltaTransform(Point3D point) Transforms the relative magnitude vector represented by the specifiedPoint3D instance 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. Bounds inverseTransform(Bounds bounds) Transforms the specified bounds by the inverse of this transform. Point2D inverseTransform(Point2D point) Transforms the specified point by the inverse of this transform. Point3D inverseTransform(Point3D point) Transforms the specified point by the inverse of this transform. void inverseTransform2DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) Transforms an array of coordinates by the inverse of this transform. void inverseTransform3DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) Transforms an array of floating point coordinates by the inverse of this transform. boolean isIdentity() Gets the value of the property identity. boolean isType2D() Gets the value of the property type2D. ObjectProperty<EventHandler<? super TransformChangedEvent>> onTransformChangedProperty() The onTransformChanged event handler is called whenever the transform changes any of its parameters. <T extends Event>void removeEventFilter(EventType eventType,EventHandler<? super T> eventFilter) Unregisters a previously registered event filter from this transform. <T extends Event>void removeEventHandler(EventType eventType,EventHandler<? super T> eventHandler) Unregisters a previously registered event handler from this transform. static Rotate rotate(double angle, double pivotX, double pivotY) Returns a Rotate object 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 Scale scale(double x, double y) Returns a Scale object representing a scaling transformation. static Scale scale(double x, double y, double pivotX, double pivotY) Returns a Scale object representing a scaling transformation. void setOnTransformChanged(EventHandler<? super TransformChangedEvent> value) Sets the onTransformChanged event handler which is called whenever the transform changes any of its parameters. static Shear shear(double x, double y) Returns a Shear object representing a shearing transformation. static Shear shear(double x, double y, double pivotX, double pivotY) Returns a Shear object representing a shearing transformation. boolean similarTo(Transform transform,Bounds range, double maxDelta) Checks 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. 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. Bounds transform(Bounds bounds) Transforms the specified bounds by this transform. Point2D transform(Point2D point) Transforms the specified point by this transform. Point3D transform(Point3D point) Transforms the specified point by this transform. void transform2DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) Transforms an array of coordinates by this transform. void transform3DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) Transforms an array of floating point coordinates by this transform. protected void transformChanged() This method must be called by all transforms whenever any of their parameters changes. static Translate translate(double x, double y) Returns a Translate object representing a translation transformation. ReadOnlyBooleanProperty type2DProperty() Determines if this is currently a 2D transform. * ### Methods declared in interface javafx.event.[EventTarget](../../../javafx/event/EventTarget.html "interface in javafx.event") `[buildEventDispatchChain](../../../javafx/event/EventTarget.html#buildEventDispatchChain%28javafx.event.EventDispatchChain%29)` * ### Methods declared in class java.lang.[Object](../../../java/lang/Object.html "class in java.lang") `[equals](../../../java/lang/Object.html#equals%28java.lang.Object%29), [finalize](../../../java/lang/Object.html#finalize%28%29), [getClass](../../../java/lang/Object.html#getClass%28%29), [hashCode](../../../java/lang/Object.html#hashCode%28%29), [notify](../../../java/lang/Object.html#notify%28%29), [notifyAll](../../../java/lang/Object.html#notifyAll%28%29), [toString](../../../java/lang/Object.html#toString%28%29), [wait](../../../java/lang/Object.html#wait%28%29), [wait](../../../java/lang/Object.html#wait%28long%29), [wait](../../../java/lang/Object.html#wait%28long,int%29)`
Property Detail
* #### type2D public final [ReadOnlyBooleanProperty](../../../javafx/beans/property/ReadOnlyBooleanProperty.html "class in javafx.beans.property") type2DProperty Determines if this is currently a 2D transform. Transform is 2D if it has no effect along the Z axis. Since: JavaFX 8.0 See Also: [isType2D()](../../../javafx/scene/transform/Transform.html#isType2D%28%29) * #### identity public final [ReadOnlyBooleanProperty](../../../javafx/beans/property/ReadOnlyBooleanProperty.html "class in javafx.beans.property") identityProperty Determines if this is currently an identity transform. Identity transform has no effect on the transformed nodes. Since: JavaFX 8.0 See Also: [isIdentity()](../../../javafx/scene/transform/Transform.html#isIdentity%28%29) * #### onTransformChanged public final [ObjectProperty](../../../javafx/beans/property/ObjectProperty.html "class in javafx.beans.property")<[EventHandler](../../../javafx/event/EventHandler.html "interface in javafx.event")<? super [TransformChangedEvent](../../../javafx/scene/transform/TransformChangedEvent.html "class in javafx.scene.transform")>> onTransformChangedProperty The onTransformChanged event handler is called whenever the transform changes any of its parameters. Since: JavaFX 8.0 See Also: [getOnTransformChanged()](../../../javafx/scene/transform/Transform.html#getOnTransformChanged%28%29), [setOnTransformChanged(EventHandler)](../../../javafx/scene/transform/Transform.html#setOnTransformChanged%28javafx.event.EventHandler%29)
Constructor Detail
* #### Transform public Transform()
Method Detail
* #### affine public static [Affine](../../../javafx/scene/transform/Affine.html "class in javafx.scene.transform") affine(double mxx, double myx, double mxy, double myy, double tx, double ty) Returns a new `Affine` object from 12 number values representing the 6 specifiable entries of the 3x4 Affine transformation matrix. Parameters: `mxx` \- the X coordinate scaling element of the 3x4 matrix `myx` \- the Y coordinate shearing element of the 3x4 matrix `mxy` \- the X coordinate shearing element of the 3x4 matrix `myy` \- the Y coordinate scaling element of the 3x4 matrix `tx` \- the X coordinate translation element of the 3x4 matrix `ty` \- the Y coordinate translation element of the 3x4 matrix Returns: a new `Affine` object derived from specified parameters * #### affine public static [Affine](../../../javafx/scene/transform/Affine.html "class in javafx.scene.transform") affine(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 new `Affine` object from 12 number values representing the 12 specifiable entries of the 3x4 Affine transformation matrix. Parameters: `mxx` \- the X coordinate scaling element of the 3x4 matrix `mxy` \- the XY element of the 3x4 matrix `mxz` \- the XZ element of the 3x4 matrix `tx` \- the X coordinate translation element of the 3x4 matrix `myx` \- the YX element of the 3x4 matrix `myy` \- the Y coordinate scaling element of the 3x4 matrix `myz` \- the YZ element of the 3x4 matrix `ty` \- the Y coordinate translation element of the 3x4 matrix `mzx` \- the ZX element of the 3x4 matrix `mzy` \- the ZY element of the 3x4 matrix `mzz` \- the Z coordinate scaling element of the 3x4 matrix `tz` \- the Z coordinate translation element of the 3x4 matrix Returns: a new `Affine` object derived from specified parameters * #### translate public static [Translate](../../../javafx/scene/transform/Translate.html "class in javafx.scene.transform") translate(double x, double y) Returns a `Translate` object representing a translation transformation. This is equivalent to: new Translate(x, y); Parameters: `x` \- the translate x value `y` \- the translate y value Returns: the Translate object representing a translation transformation * #### rotate public static [Rotate](../../../javafx/scene/transform/Rotate.html "class in javafx.scene.transform") rotate(double angle, double pivotX, double pivotY) Returns a `Rotate` object that rotates coordinates around a pivot point. This is equivalent to: new Rotate(angle, pivotX, pivotY); Parameters: `angle` \- the rotation angle `pivotX` \- the pivot x value `pivotY` \- the pivot y value Returns: the Rotate object that rotates coordinates around a pivot point * #### scale public static [Scale](../../../javafx/scene/transform/Scale.html "class in javafx.scene.transform") scale(double x, double y) Returns a `Scale` object representing a scaling transformation. This is equivalent to: new Scale(x, y); Parameters: `x` \- the scale x value `y` \- the scale y value Returns: the Scale object representing a scaling transformation * #### scale public static [Scale](../../../javafx/scene/transform/Scale.html "class in javafx.scene.transform") scale(double x, double y, double pivotX, double pivotY) Returns a `Scale` object representing a scaling transformation. The returned scale operation will be about the given pivot point. This is equivalent to: new Scale(x, y, pivotX, pivotY); Parameters: `x` \- the scale x value `y` \- the scale y value `pivotX` \- the pivot x value `pivotY` \- the pivot y value Returns: the Scale object representing a scaling transformation * #### shear public static [Shear](../../../javafx/scene/transform/Shear.html "class in javafx.scene.transform") shear(double x, double y) Returns a `Shear` object representing a shearing transformation. This is equivalent to: new Shear(x, y); Parameters: `x` \- the shear x value `y` \- the shear y value Returns: the Shear object representing a shearing transformation * #### shear public static [Shear](../../../javafx/scene/transform/Shear.html "class in javafx.scene.transform") shear(double x, double y, double pivotX, double pivotY) Returns a `Shear` object representing a shearing transformation. This is equivalent to: new Shear(x, y, pivotX, pivotY); Parameters: `x` \- the shear x value `y` \- the shear y value `pivotX` \- the pivot x value `pivotY` \- the pivot y value Returns: the Shear object representing a shearing transformation * #### getMxx public double getMxx() Gets the X coordinate scaling element of the 3x4 matrix. Returns: the X coordinate scaling element of the 3x4 matrix Since: JavaFX 2.2 * #### getMxy public double getMxy() Gets the XY coordinate element of the 3x4 matrix. Returns: the XY coordinate element of the 3x4 matrix Since: JavaFX 2.2 * #### getMxz public double getMxz() Gets the XZ coordinate element of the 3x4 matrix. Returns: the XZ coordinate element of the 3x4 matrix Since: JavaFX 2.2 * #### getTx public double getTx() Gets the X coordinate translation element of the 3x4 matrix. Returns: the X coordinate translation element of the 3x4 matrix Since: JavaFX 2.2 * #### getMyx public double getMyx() Gets the YX coordinate element of the 3x4 matrix. Returns: the YX coordinate element of the 3x4 matrix Since: JavaFX 2.2 * #### getMyy public double getMyy() Gets the Y coordinate scaling element of the 3x4 matrix. Returns: the Y coordinate scaling element of the 3x4 matrix Since: JavaFX 2.2 * #### getMyz public double getMyz() Gets the YZ coordinate element of the 3x4 matrix. Returns: the YZ coordinate element of the 3x4 matrix Since: JavaFX 2.2 * #### getTy public double getTy() Gets the Y coordinate translation element of the 3x4 matrix. Returns: the Y coordinate translation element of the 3x4 matrix Since: JavaFX 2.2 * #### getMzx public double getMzx() Gets the ZX coordinate element of the 3x4 matrix. Returns: the ZX coordinate element of the 3x4 matrix Since: JavaFX 2.2 * #### getMzy public double getMzy() Gets the ZY coordinate element of the 3x4 matrix. Returns: the ZY coordinate element of the 3x4 matrix Since: JavaFX 2.2 * #### getMzz public double getMzz() Gets the Z coordinate scaling element of the 3x4 matrix. Returns: the Z coordinate scaling element of the 3x4 matrix Since: JavaFX 2.2 * #### getTz public double getTz() Gets the Z coordinate translation element of the 3x4 matrix. Returns: the Z coordinate translation element of the 3x4 matrix Since: JavaFX 2.2 * #### getElement public double getElement([MatrixType](../../../javafx/scene/transform/MatrixType.html "enum in javafx.scene.transform") type, int row, int column) Gets the specified element of the transformation matrix. Parameters: `type` \- type of matrix to get the value from `row` \- zero-based row number `column` \- zero-based column number Returns: value of the specified transformation matrix element Throws: `[IllegalArgumentException](../../../java/lang/IllegalArgumentException.html "class in java.lang")` \- if a 2D matrix type is requested for a 3D transform `[IndexOutOfBoundsException](../../../java/lang/IndexOutOfBoundsException.html "class in java.lang")` \- if the indices are not within the specified matrix type `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `type` is null Since: JavaFX 8.0 * #### determinant public double determinant() Computes determinant of the transformation matrix. Among other things, determinant can be used for testing this transform's invertibility - it is invertible if determinant is not equal to zero. Returns: Determinant of the transformation matrix Since: JavaFX 8.0 * #### isType2D public final boolean isType2D() Gets the value of the property type2D. Property description: Determines if this is currently a 2D transform. Transform is 2D if it has no effect along the Z axis. Since: JavaFX 8.0 * #### type2DProperty public final [ReadOnlyBooleanProperty](../../../javafx/beans/property/ReadOnlyBooleanProperty.html "class in javafx.beans.property") type2DProperty() Determines if this is currently a 2D transform. Transform is 2D if it has no effect along the Z axis. Since: JavaFX 8.0 See Also: [isType2D()](../../../javafx/scene/transform/Transform.html#isType2D%28%29) * #### isIdentity public final boolean isIdentity() Gets the value of the property identity. Property description: Determines if this is currently an identity transform. Identity transform has no effect on the transformed nodes. Since: JavaFX 8.0 * #### identityProperty public final [ReadOnlyBooleanProperty](../../../javafx/beans/property/ReadOnlyBooleanProperty.html "class in javafx.beans.property") identityProperty() Determines if this is currently an identity transform. Identity transform has no effect on the transformed nodes. Since: JavaFX 8.0 See Also: [isIdentity()](../../../javafx/scene/transform/Transform.html#isIdentity%28%29) * #### similarTo public boolean similarTo([Transform](../../../javafx/scene/transform/Transform.html "class in javafx.scene.transform") transform, [Bounds](../../../javafx/geometry/Bounds.html "class in javafx.geometry") range, double maxDelta) Checks if this transform is similar to the specified transform. The two transforms are considered similar if any point from`range` is transformed by them to points that are no farther than `maxDelta` from each other. Parameters: `transform` \- transform to be compared to this transform `range` \- region of interest on which the two transforms are compared `maxDelta` \- maximum allowed distance for the results of transforming any single point from `range` by the two transforms Returns: true if the transforms are similar according to the specified criteria Throws: `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `transform` or `range` is null Since: JavaFX 8.0 * #### toArray public double[] toArray([MatrixType](../../../javafx/scene/transform/MatrixType.html "enum in javafx.scene.transform") type, double[] array) Returns an array containing the flattened transformation matrix. If the requested matrix type fits in the specified array, it is returned therein. Otherwise, a new array is created. Parameters: `type` \- matrix type to be filled in the array `array` \- array into which the elements of the matrix are to be stored, if it is non-null and big enough; otherwise, a new array is created for this purpose. Returns: an array containing the elements of the requested matrix type representing this transform Throws: `[IllegalArgumentException](../../../java/lang/IllegalArgumentException.html "class in java.lang")` \- if a 2D matrix type is requested for a 3D transform `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `type` is null Since: JavaFX 8.0 * #### toArray public double[] toArray([MatrixType](../../../javafx/scene/transform/MatrixType.html "enum in javafx.scene.transform") type) Returns an array containing the flattened transformation matrix. Parameters: `type` \- matrix type to be filled in the array Returns: an array containing the elements of the requested matrix type representing this transform Throws: `[IllegalArgumentException](../../../java/lang/IllegalArgumentException.html "class in java.lang")` \- if a 2D matrix type is requested for a 3D transform `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `type` is null Since: JavaFX 8.0 * #### row public double[] row([MatrixType](../../../javafx/scene/transform/MatrixType.html "enum in javafx.scene.transform") type, int row, double[] array) Returns an array containing a row of the transformation matrix. If the row of the requested matrix type fits in the specified array, it is returned therein. Otherwise, a new array is created. Parameters: `type` \- matrix type whose row is to be filled in the array `row` \- zero-based index of the row `array` \- array into which the elements of the row are to be stored, if it is non-null and big enough; otherwise, a new array is created for this purpose. Returns: an array containing the requested row of the requested matrix type representing this transform Throws: `[IllegalArgumentException](../../../java/lang/IllegalArgumentException.html "class in java.lang")` \- if a 2D matrix type is requested for a 3D transform `[IndexOutOfBoundsException](../../../java/lang/IndexOutOfBoundsException.html "class in java.lang")` \- if the `row` index is not within the number of rows of the specified matrix type `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `type` is null Since: JavaFX 8.0 * #### row public double[] row([MatrixType](../../../javafx/scene/transform/MatrixType.html "enum in javafx.scene.transform") type, int row) Returns an array containing a row of the transformation matrix. Parameters: `type` \- matrix type whose row is to be filled in the array `row` \- zero-based index of the row Returns: an array containing the requested row of the requested matrix type representing this transform Throws: `[IllegalArgumentException](../../../java/lang/IllegalArgumentException.html "class in java.lang")` \- if a 2D matrix type is requested for a 3D transform `[IndexOutOfBoundsException](../../../java/lang/IndexOutOfBoundsException.html "class in java.lang")` \- if the `row` index is not within the number of rows of the specified matrix type `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `type` is null Since: JavaFX 8.0 * #### column public double[] column([MatrixType](../../../javafx/scene/transform/MatrixType.html "enum in javafx.scene.transform") type, int column, double[] array) Returns an array containing a column of the transformation matrix. If the column of the requested matrix type fits in the specified array, it is returned therein. Otherwise, a new array is created. Parameters: `type` \- matrix type whose column is to be filled in the array `column` \- zero-based index of the column `array` \- array into which the elements of the column are to be stored, if it is non-null and big enough; otherwise, a new array is created for this purpose. Returns: an array containing the requested column of the requested matrix type representing this transform Throws: `[IllegalArgumentException](../../../java/lang/IllegalArgumentException.html "class in java.lang")` \- if a 2D matrix type is requested for a 3D transform `[IndexOutOfBoundsException](../../../java/lang/IndexOutOfBoundsException.html "class in java.lang")` \- if the `column` index is not within the number of columns of the specified matrix type `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `type` is null Since: JavaFX 8.0 * #### column public double[] column([MatrixType](../../../javafx/scene/transform/MatrixType.html "enum in javafx.scene.transform") type, int column) Returns an array containing a column of the transformation matrix. Parameters: `type` \- matrix type whose column is to be filled in the array `column` \- zero-based index of the column Returns: an array containing the requested column of the requested matrix type representing this transform Throws: `[IllegalArgumentException](../../../java/lang/IllegalArgumentException.html "class in java.lang")` \- if a 2D matrix type is requested for a 3D transform `[IndexOutOfBoundsException](../../../java/lang/IndexOutOfBoundsException.html "class in java.lang")` \- if the `column` index is not within the number of columns of the specified matrix type `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `type` is null Since: JavaFX 8.0 * #### createConcatenation public [Transform](../../../javafx/scene/transform/Transform.html "class in javafx.scene.transform") createConcatenation([Transform](../../../javafx/scene/transform/Transform.html "class in javafx.scene.transform") 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. Parameters: `transform` \- transform to be concatenated with this transform Returns: The concatenated transform Throws: `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `transform` is null Since: JavaFX 8.0 * #### createInverse public [Transform](../../../javafx/scene/transform/Transform.html "class in javafx.scene.transform") createInverse() throws [NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform") Returns the inverse transform of this transform. Returns: the inverse transform Throws: `[NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform")` \- if this transform cannot be inverted Since: JavaFX 8.0 * #### clone public [Transform](../../../javafx/scene/transform/Transform.html "class in javafx.scene.transform") clone() Returns a deep copy of this transform. Overrides: `[clone](../../../java/lang/Object.html#clone%28%29)` in class `[Object](../../../java/lang/Object.html "class in java.lang")` Returns: a copy of this transform Since: JavaFX 8.0 See Also: [Cloneable](../../../java/lang/Cloneable.html "interface in java.lang") * #### transform public [Point2D](../../../javafx/geometry/Point2D.html "class in javafx.geometry") transform(double x, double y) Transforms the specified point by this transform. This method can be used only for 2D transforms. Parameters: `x` \- the X coordinate of the point `y` \- the Y coordinate of the point Returns: the transformed point Throws: `[IllegalStateException](../../../java/lang/IllegalStateException.html "class in java.lang")` \- if this is a 3D transform Since: JavaFX 8.0 * #### transform public [Point2D](../../../javafx/geometry/Point2D.html "class in javafx.geometry") transform([Point2D](../../../javafx/geometry/Point2D.html "class in javafx.geometry") point) Transforms the specified point by this transform. This method can be used only for 2D transforms. Parameters: `point` \- the point to be transformed Returns: the transformed point Throws: `[IllegalStateException](../../../java/lang/IllegalStateException.html "class in java.lang")` \- if this is a 3D transform `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `point` is null Since: JavaFX 8.0 * #### transform public [Point3D](../../../javafx/geometry/Point3D.html "class in javafx.geometry") transform(double x, double y, double z) Transforms the specified point by this 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 Since: JavaFX 8.0 * #### transform public [Point3D](../../../javafx/geometry/Point3D.html "class in javafx.geometry") transform([Point3D](../../../javafx/geometry/Point3D.html "class in javafx.geometry") point) Transforms the specified point by this transform. Parameters: `point` \- the point to be transformed Returns: the transformed point Throws: `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `point` is null Since: JavaFX 8.0 * #### transform public [Bounds](../../../javafx/geometry/Bounds.html "class in javafx.geometry") transform([Bounds](../../../javafx/geometry/Bounds.html "class in javafx.geometry") bounds) Transforms the specified bounds by this transform. Parameters: `bounds` \- the bounds to be transformed Returns: the transformed bounds Since: JavaFX 8.0 * #### transform2DPoints public void transform2DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) Transforms an array of coordinates by this transform. The two coordinate array sections can be exactly the same or can be overlapping sections of the same array without affecting the validity of the results. This method ensures that no source coordinates are overwritten by a previous operation before they can be transformed. The coordinates are stored in the arrays starting at the specified offset in the order `[x0, y0, x1, y1, ..., xn, yn]`. This method can be used only for 2D transforms. Parameters: `srcPts` \- the array containing the source point coordinates. Each point is stored as a pair of x, y coordinates. `srcOff` \- the offset to the first point to be transformed in the source array `dstPts` \- the array into which the transformed point coordinates are returned. Each point is stored as a pair of x, y coordinates. `dstOff` \- the offset to the location of the first transformed point that is stored in the destination array `numPts` \- the number of points to be transformed Throws: `[IllegalStateException](../../../java/lang/IllegalStateException.html "class in java.lang")` \- if this is a 3D transform `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if `srcPts` or (@code dstPts} is null Since: JavaFX 8.0 * #### transform3DPoints public void transform3DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) Transforms an array of floating point coordinates by this transform. The three coordinate array sections can be exactly the same or can be overlapping sections of the same array without affecting the validity of the results. This method ensures that no source coordinates are overwritten by a previous operation before they can be transformed. The coordinates are stored in the arrays starting at the specified offset in the order `[x0, y0, z0, x1, y1, z1, ..., xn, yn, zn]`. Parameters: `srcPts` \- the array containing the source point coordinates. Each point is stored as a tiplet of x, y, z coordinates. `srcOff` \- the offset to the first point to be transformed in the source array `dstPts` \- the array into which the transformed point coordinates are returned. Each point is stored as a triplet of x, y, z coordinates. `dstOff` \- the offset to the location of the first transformed point that is stored in the destination array `numPts` \- the number of points to be transformed Throws: `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if `srcPts` or (@code dstPts} is null Since: JavaFX 8.0 * #### deltaTransform public [Point2D](../../../javafx/geometry/Point2D.html "class in javafx.geometry") deltaTransform(double x, double y) 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. 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 Throws: `[IllegalStateException](../../../java/lang/IllegalStateException.html "class in java.lang")` \- if this is a 3D transform Since: JavaFX 8.0 * #### deltaTransform public [Point2D](../../../javafx/geometry/Point2D.html "class in javafx.geometry") deltaTransform([Point2D](../../../javafx/geometry/Point2D.html "class in javafx.geometry") point) Transforms the relative magnitude vector represented by the specified`Point2D` instance 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. Parameters: `point` \- the relative magnitude vector Returns: the transformed relative magnitude vector represented by a `Point2D` instance Throws: `[IllegalStateException](../../../java/lang/IllegalStateException.html "class in java.lang")` \- if this is a 3D transform `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `point` is null Since: JavaFX 8.0 * #### deltaTransform public [Point3D](../../../javafx/geometry/Point3D.html "class in javafx.geometry") deltaTransform(double x, double y, double z) Transforms the relative magnitude vector by this transform. The vector is transformed without applying the translation components of the affine transformation matrix. 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 Since: JavaFX 8.0 * #### deltaTransform public [Point3D](../../../javafx/geometry/Point3D.html "class in javafx.geometry") deltaTransform([Point3D](../../../javafx/geometry/Point3D.html "class in javafx.geometry") point) Transforms the relative magnitude vector represented by the specified`Point3D` instance by this transform. The vector is transformed without applying the translation components of the affine transformation matrix. Parameters: `point` \- the relative magnitude vector Returns: the transformed relative magnitude vector represented by a `Point3D` instance Throws: `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `point` is null Since: JavaFX 8.0 * #### inverseTransform public [Point2D](../../../javafx/geometry/Point2D.html "class in javafx.geometry") inverseTransform(double x, double y) throws [NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform") Transforms the specified point by the inverse of this transform. This method can be used only for 2D transforms. Parameters: `x` \- the X coordinate of the point `y` \- the Y coordinate of the point Returns: the inversely transformed point Throws: `[IllegalStateException](../../../java/lang/IllegalStateException.html "class in java.lang")` \- if this is a 3D transform `[NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform")` \- if this transform cannot be inverted Since: JavaFX 8.0 * #### inverseTransform public [Point2D](../../../javafx/geometry/Point2D.html "class in javafx.geometry") inverseTransform([Point2D](../../../javafx/geometry/Point2D.html "class in javafx.geometry") point) throws [NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform") Transforms the specified point by the inverse of this transform. This method can be used only for 2D transforms. Parameters: `point` \- the point to be transformed Returns: the inversely transformed point Throws: `[IllegalStateException](../../../java/lang/IllegalStateException.html "class in java.lang")` \- if this is a 3D transform `[NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform")` \- if this transform cannot be inverted `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `point` is null Since: JavaFX 8.0 * #### inverseTransform public [Point3D](../../../javafx/geometry/Point3D.html "class in javafx.geometry") inverseTransform(double x, double y, double z) throws [NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform") Transforms the specified point by the inverse of this 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 Throws: `[NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform")` \- if this transform cannot be inverted Since: JavaFX 8.0 * #### inverseTransform public [Point3D](../../../javafx/geometry/Point3D.html "class in javafx.geometry") inverseTransform([Point3D](../../../javafx/geometry/Point3D.html "class in javafx.geometry") point) throws [NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform") Transforms the specified point by the inverse of this transform. Parameters: `point` \- the point to be transformed Returns: the inversely transformed point Throws: `[NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform")` \- if this transform cannot be inverted `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `point` is null Since: JavaFX 8.0 * #### inverseTransform public [Bounds](../../../javafx/geometry/Bounds.html "class in javafx.geometry") inverseTransform([Bounds](../../../javafx/geometry/Bounds.html "class in javafx.geometry") bounds) throws [NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform") Transforms the specified bounds by the inverse of this transform. Parameters: `bounds` \- the bounds to be transformed Returns: the inversely transformed bounds Throws: `[NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform")` \- if this transform cannot be inverted `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `bounds` is null Since: JavaFX 8.0 * #### inverseTransform2DPoints public void inverseTransform2DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) throws [NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform") Transforms an array of coordinates by the inverse of this transform. The two coordinate array sections can be exactly the same or can be overlapping sections of the same array without affecting the validity of the results. This method ensures that no source coordinates are overwritten by a previous operation before they can be transformed. The coordinates are stored in the arrays starting at the specified offset in the order `[x0, y0, x1, y1, ..., xn, yn]`. This method can be used only for 2D transforms. Parameters: `srcPts` \- the array containing the source point coordinates. Each point is stored as a pair of x, y coordinates. `srcOff` \- the offset to the first point to be transformed in the source array `dstPts` \- the array into which the transformed point coordinates are returned. Each point is stored as a pair of x, y coordinates. `dstOff` \- the offset to the location of the first transformed point that is stored in the destination array `numPts` \- the number of points to be transformed Throws: `[IllegalStateException](../../../java/lang/IllegalStateException.html "class in java.lang")` \- if this is a 3D transform `[NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform")` \- if this transform cannot be inverted `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if `srcPts` or (@code dstPts} is null Since: JavaFX 8.0 * #### inverseTransform3DPoints public void inverseTransform3DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) throws [NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform") Transforms an array of floating point coordinates by the inverse of this transform. The three coordinate array sections can be exactly the same or can be overlapping sections of the same array without affecting the validity of the results. This method ensures that no source coordinates are overwritten by a previous operation before they can be transformed. The coordinates are stored in the arrays starting at the specified offset in the order `[x0, y0, z0, x1, y1, z1, ..., xn, yn, zn]`. Parameters: `srcPts` \- the array containing the source point coordinates. Each point is stored as a triplet of x, y, z coordinates. `srcOff` \- the offset to the first point to be transformed in the source array `dstPts` \- the array into which the transformed point coordinates are returned. Each point is stored as a triplet of x, y, z coordinates. `dstOff` \- the offset to the location of the first transformed point that is stored in the destination array `numPts` \- the number of points to be transformed Throws: `[NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform")` \- if this transform cannot be inverted `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if `srcPts` or (@code dstPts} is null Since: JavaFX 8.0 * #### inverseDeltaTransform public [Point2D](../../../javafx/geometry/Point2D.html "class in javafx.geometry") inverseDeltaTransform(double x, double y) throws [NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.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. 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 Throws: `[IllegalStateException](../../../java/lang/IllegalStateException.html "class in java.lang")` \- if this is a 3D transform `[NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform")` \- if this transform cannot be inverted Since: JavaFX 8.0 * #### inverseDeltaTransform public [Point2D](../../../javafx/geometry/Point2D.html "class in javafx.geometry") inverseDeltaTransform([Point2D](../../../javafx/geometry/Point2D.html "class in javafx.geometry") point) throws [NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform") Transforms the relative magnitude vector represented by the specified`Point2D` instance 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. Parameters: `point` \- the relative magnitude vector Returns: the inversely transformed relative magnitude vector represented by a `Point2D` instance Throws: `[IllegalStateException](../../../java/lang/IllegalStateException.html "class in java.lang")` \- if this is a 3D transform `[NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform")` \- if this transform cannot be inverted `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `point` is null Since: JavaFX 8.0 * #### inverseDeltaTransform public [Point3D](../../../javafx/geometry/Point3D.html "class in javafx.geometry") inverseDeltaTransform(double x, double y, double z) throws [NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.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. 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 Throws: `[NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform")` \- if this transform cannot be inverted Since: JavaFX 8.0 * #### inverseDeltaTransform public [Point3D](../../../javafx/geometry/Point3D.html "class in javafx.geometry") inverseDeltaTransform([Point3D](../../../javafx/geometry/Point3D.html "class in javafx.geometry") point) throws [NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform") Transforms the relative magnitude vector represented by the specified`Point3D` instance by the inverse of this transform. The vector is transformed without applying the translation components of the affine transformation matrix. Parameters: `point` \- the relative magnitude vector Returns: the inversely transformed relative magnitude vector represented by a `Point3D` instance Throws: `[NonInvertibleTransformException](../../../javafx/scene/transform/NonInvertibleTransformException.html "class in javafx.scene.transform")` \- if this transform cannot be inverted `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified `point` is null Since: JavaFX 8.0 * #### addEventHandler public final <T extends [Event](../../../javafx/event/Event.html "class in javafx.event")> void addEventHandler([EventType](../../../javafx/event/EventType.html "class in javafx.event")<T> eventType, [EventHandler](../../../javafx/event/EventHandler.html "interface in javafx.event")<? super T> eventHandler) Registers an event handler to this transform. Any event filters are first processed, then the specified onFoo event handlers, and finally any event handlers registered by this method. Currently the only event delivered to a `Transform` is the`TransformChangedEvent` with it's single type`TRANSFORM_CHANGED`. Type Parameters: `T` \- the specific event class of the handler Parameters: `eventType` \- the type of the events to receive by the handler `eventHandler` \- the handler to register Throws: `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the event type or handler is null Since: JavaFX 8.0 * #### removeEventHandler public final <T extends [Event](../../../javafx/event/Event.html "class in javafx.event")> void removeEventHandler([EventType](../../../javafx/event/EventType.html "class in javafx.event")<T> eventType, [EventHandler](../../../javafx/event/EventHandler.html "interface in javafx.event")<? super T> eventHandler) Unregisters a previously registered event handler from this transform. One handler might have been registered for different event types, so the caller needs to specify the particular event type from which to unregister the handler. Type Parameters: `T` \- the specific event class of the handler Parameters: `eventType` \- the event type from which to unregister `eventHandler` \- the handler to unregister Throws: `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the event type or handler is null Since: JavaFX 8.0 * #### addEventFilter public final <T extends [Event](../../../javafx/event/Event.html "class in javafx.event")> void addEventFilter([EventType](../../../javafx/event/EventType.html "class in javafx.event")<T> eventType, [EventHandler](../../../javafx/event/EventHandler.html "interface in javafx.event")<? super T> eventFilter) Registers an event filter to this transform. Registered event filters get an event before any associated event handlers. Currently the only event delivered to a `Transform` is the`TransformChangedEvent` with it's single type`TRANSFORM_CHANGED`. Type Parameters: `T` \- the specific event class of the filter Parameters: `eventType` \- the type of the events to receive by the filter `eventFilter` \- the filter to register Throws: `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the event type or filter is null Since: JavaFX 8.0 * #### removeEventFilter public final <T extends [Event](../../../javafx/event/Event.html "class in javafx.event")> void removeEventFilter([EventType](../../../javafx/event/EventType.html "class in javafx.event")<T> eventType, [EventHandler](../../../javafx/event/EventHandler.html "interface in javafx.event")<? super T> eventFilter) Unregisters a previously registered event filter from this transform. One filter might have been registered for different event types, so the caller needs to specify the particular event type from which to unregister the filter. Type Parameters: `T` \- the specific event class of the filter Parameters: `eventType` \- the event type from which to unregister `eventFilter` \- the filter to unregister Throws: `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if the event type or filter is null Since: JavaFX 8.0 * #### setOnTransformChanged public final void setOnTransformChanged([EventHandler](../../../javafx/event/EventHandler.html "interface in javafx.event")<? super [TransformChangedEvent](../../../javafx/scene/transform/TransformChangedEvent.html "class in javafx.scene.transform")> value) Sets the onTransformChanged event handler which is called whenever the transform changes any of its parameters. Parameters: `value` \- the event handler, can be null to clear it Since: JavaFX 8.0 * #### getOnTransformChanged public final [EventHandler](../../../javafx/event/EventHandler.html "interface in javafx.event")<? super [TransformChangedEvent](../../../javafx/scene/transform/TransformChangedEvent.html "class in javafx.scene.transform")> getOnTransformChanged() Gets the onTransformChanged event handler. Returns: the event handler previously set by `setOnTransformChanged` method, null if the handler is not set. Since: JavaFX 8.0 * #### onTransformChangedProperty public final [ObjectProperty](../../../javafx/beans/property/ObjectProperty.html "class in javafx.beans.property")<[EventHandler](../../../javafx/event/EventHandler.html "interface in javafx.event")<? super [TransformChangedEvent](../../../javafx/scene/transform/TransformChangedEvent.html "class in javafx.scene.transform")>> onTransformChangedProperty() The onTransformChanged event handler is called whenever the transform changes any of its parameters. Since: JavaFX 8.0 See Also: [getOnTransformChanged()](../../../javafx/scene/transform/Transform.html#getOnTransformChanged%28%29), [setOnTransformChanged(EventHandler)](../../../javafx/scene/transform/Transform.html#setOnTransformChanged%28javafx.event.EventHandler%29) * #### transformChanged protected void transformChanged() 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). Since: JavaFX 8.0