Module javafx.graphics
Package javafx.scene.transform

## Class Scale

- java.lang.Object
- - javafx.scene.transform.Transform
  - - javafx.scene.transform.Scale

- All Implemented Interfaces:
    `Cloneable`, `EventTarget`

      public class Scale
      extends Transform

  This class represents an `Affine` object that scales coordinates by the specified factors. The matrix representing the scaling transformation around a pivot point `(pivotX, pivotY, pivotZ)` with scaling factors `x`, `y` and `z` is as follows:

                    [   x   0   0   (1-x)*pivotX   ]
                    [   0   y   0   (1-y)*pivotY   ]
                    [   0   0   z   (1-z)*pivotZ   ]

  Since:
    JavaFX 2.0

- - ### Property Summary

    Properties
    Type | Property | Description
    --- | --- | ---
    `DoubleProperty` | `pivotX` | Defines the X coordinate about which point the scale occurs.
    `DoubleProperty` | `pivotY` | Defines the Y coordinate about which point the scale occurs.
    `DoubleProperty` | `pivotZ` | Defines the Z coordinate about which point the scale occurs.
    `DoubleProperty` | `x` | Defines the factor by which coordinates are scaled along the X axis direction.
    `DoubleProperty` | `y` | Defines the factor by which coordinates are scaled along the Y axis direction.
    `DoubleProperty` | `z` | Defines the factor by which coordinates are scaled along the Z axis direction.

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

      `identity, onTransformChanged, type2D`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Scale()` | Creates a default Scale (identity).
    `Scale​(double x, double y)` | Creates a two-dimensional Scale.
    `Scale​(double x, double y, double z)` | Creates a three-dimensional Scale.
    `Scale​(double x, double y, double pivotX, double pivotY)` | Creates a two-dimensional Scale with pivot.
    `Scale​(double x, double y, double z, double pivotX, double pivotY, double pivotZ)` | Creates a three-dimensional Scale with pivot.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Scale` | `clone()` | Returns a deep copy of this transform.
    `Transform` | `createConcatenation​(Transform transform)` | Returns the concatenation of this transform and the specified transform.
    `Scale` | `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.
    `double` | `getMxx()` | Gets the X coordinate scaling element of the 3x4 matrix.
    `double` | `getMyy()` | Gets the Y coordinate scaling element of the 3x4 matrix.
    `double` | `getMzz()` | Gets the Z coordinate scaling element of the 3x4 matrix.
    `double` | `getPivotX()` | Gets the value of the property pivotX.
    `double` | `getPivotY()` | Gets the value of the property pivotY.
    `double` | `getPivotZ()` | Gets the value of the property pivotZ.
    `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.
    `double` | `getX()` | Gets the value of the property x.
    `double` | `getY()` | Gets the value of the property y.
    `double` | `getZ()` | Gets the value of the property z.
    `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.
    `DoubleProperty` | `pivotXProperty()` | Defines the X coordinate about which point the scale occurs.
    `DoubleProperty` | `pivotYProperty()` | Defines the Y coordinate about which point the scale occurs.
    `DoubleProperty` | `pivotZProperty()` | Defines the Z coordinate about which point the scale occurs.
    `void` | `setPivotX​(double value)` | Sets the value of the property pivotX.
    `void` | `setPivotY​(double value)` | Sets the value of the property pivotY.
    `void` | `setPivotZ​(double value)` | Sets the value of the property pivotZ.
    `void` | `setX​(double value)` | Sets the value of the property x.
    `void` | `setY​(double value)` | Sets the value of the property y.
    `void` | `setZ​(double value)` | Sets the value of the property z.
    `String` | `toString()` | Returns a string representation of this `Scale` 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.
    `DoubleProperty` | `xProperty()` | Defines the factor by which coordinates are scaled along the X axis direction.
    `DoubleProperty` | `yProperty()` | Defines the factor by which coordinates are scaled along the Y axis direction.
    `DoubleProperty` | `zProperty()` | Defines the factor by which coordinates are scaled along the Z axis direction.

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

      `addEventFilter, addEventHandler, affine, affine, buildEventDispatchChain, column, column, deltaTransform, deltaTransform, determinant, getElement, getMxy, getMxz, getMyx, getMyz, getMzx, getMzy, 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, transformChanged, translate, type2DProperty`

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

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

- - ### Property Detail

    - #### x

          public final DoubleProperty xProperty

      Defines the factor by which coordinates are scaled along the X axis direction. The default value is `1.0`.
      See Also:
        `getX()`, `setX(double)`

    - #### y

          public final DoubleProperty yProperty

      Defines the factor by which coordinates are scaled along the Y axis direction. The default value is `1.0`.
      See Also:
        `getY()`, `setY(double)`

    - #### z

          public final DoubleProperty zProperty

      Defines the factor by which coordinates are scaled along the Z axis direction. The default value is `1.0`.
      See Also:
        `getZ()`, `setZ(double)`

    - #### pivotX

          public final DoubleProperty pivotXProperty

      Defines the X coordinate about which point the scale occurs.
      Default value:
        0.0
      See Also:
        `getPivotX()`, `setPivotX(double)`

    - #### pivotY

          public final DoubleProperty pivotYProperty

      Defines the Y coordinate about which point the scale occurs.
      Default value:
        0.0
      See Also:
        `getPivotY()`, `setPivotY(double)`

    - #### pivotZ

          public final DoubleProperty pivotZProperty

      Defines the Z coordinate about which point the scale occurs.
      Default value:
        0.0
      See Also:
        `getPivotZ()`, `setPivotZ(double)`

  - ### Constructor Detail

    - #### Scale

          public Scale()

      Creates a default Scale (identity).

    - #### Scale

          public Scale​(double x,
                       double y)

      Creates a two-dimensional Scale. The pivot point is set to (0,0)
      Parameters:
        `x` - the factor by which coordinates are scaled along the X axis
        `y` - the factor by which coordinates are scaled along the Y axis

    - #### Scale

          public Scale​(double x,
                       double y,
                       double pivotX,
                       double pivotY)

      Creates a two-dimensional Scale with pivot.
      Parameters:
        `x` - the factor by which coordinates are scaled along the X axis
        `y` - the factor by which coordinates are scaled along the Y axis
        `pivotX` - the X coordinate about which point the scale occurs
        `pivotY` - the Y coordinate about which point the scale occurs

    - #### Scale

          public Scale​(double x,
                       double y,
                       double z)

      Creates a three-dimensional Scale. The pivot point is set to (0,0,0)
      Parameters:
        `x` - the factor by which coordinates are scaled along the X axis
        `y` - the factor by which coordinates are scaled along the Y axis
        `z` - the factor by which coordinates are scaled along the Z axis

    - #### Scale

          public Scale​(double x,
                       double y,
                       double z,
                       double pivotX,
                       double pivotY,
                       double pivotZ)

      Creates a three-dimensional Scale with pivot.
      Parameters:
        `x` - the factor by which coordinates are scaled along the X axis
        `y` - the factor by which coordinates are scaled along the Y axis
        `z` - the factor by which coordinates are scaled along the Z axis
        `pivotX` - the X coordinate about which point the scale occurs
        `pivotY` - the Y coordinate about which point the scale occurs
        `pivotZ` - the Z coordinate about which point the scale occurs

  - ### Method Detail

    - #### setX

          public final void setX​(double value)

      Sets the value of the property x.
      Property description:
        Defines the factor by which coordinates are scaled along the X axis direction. The default value is `1.0`.

    - #### getX

          public final double getX()

      Gets the value of the property x.
      Property description:
        Defines the factor by which coordinates are scaled along the X axis direction. The default value is `1.0`.

    - #### xProperty

          public final DoubleProperty xProperty()

      Defines the factor by which coordinates are scaled along the X axis direction. The default value is `1.0`.
      See Also:
        `getX()`, `setX(double)`

    - #### setY

          public final void setY​(double value)

      Sets the value of the property y.
      Property description:
        Defines the factor by which coordinates are scaled along the Y axis direction. The default value is `1.0`.

    - #### getY

          public final double getY()

      Gets the value of the property y.
      Property description:
        Defines the factor by which coordinates are scaled along the Y axis direction. The default value is `1.0`.

    - #### yProperty

          public final DoubleProperty yProperty()

      Defines the factor by which coordinates are scaled along the Y axis direction. The default value is `1.0`.
      See Also:
        `getY()`, `setY(double)`

    - #### setZ

          public final void setZ​(double value)

      Sets the value of the property z.
      Property description:
        Defines the factor by which coordinates are scaled along the Z axis direction. The default value is `1.0`.

    - #### getZ

          public final double getZ()

      Gets the value of the property z.
      Property description:
        Defines the factor by which coordinates are scaled along the Z axis direction. The default value is `1.0`.

    - #### zProperty

          public final DoubleProperty zProperty()

      Defines the factor by which coordinates are scaled along the Z axis direction. The default value is `1.0`.
      See Also:
        `getZ()`, `setZ(double)`

    - #### setPivotX

          public final void setPivotX​(double value)

      Sets the value of the property pivotX.
      Property description:
        Defines the X coordinate about which point the scale occurs.
      Default value:
        0.0

    - #### getPivotX

          public final double getPivotX()

      Gets the value of the property pivotX.
      Property description:
        Defines the X coordinate about which point the scale occurs.
      Default value:
        0.0

    - #### pivotXProperty

          public final DoubleProperty pivotXProperty()

      Defines the X coordinate about which point the scale occurs.
      Default value:
        0.0
      See Also:
        `getPivotX()`, `setPivotX(double)`

    - #### setPivotY

          public final void setPivotY​(double value)

      Sets the value of the property pivotY.
      Property description:
        Defines the Y coordinate about which point the scale occurs.
      Default value:
        0.0

    - #### getPivotY

          public final double getPivotY()

      Gets the value of the property pivotY.
      Property description:
        Defines the Y coordinate about which point the scale occurs.
      Default value:
        0.0

    - #### pivotYProperty

          public final DoubleProperty pivotYProperty()

      Defines the Y coordinate about which point the scale occurs.
      Default value:
        0.0
      See Also:
        `getPivotY()`, `setPivotY(double)`

    - #### setPivotZ

          public final void setPivotZ​(double value)

      Sets the value of the property pivotZ.
      Property description:
        Defines the Z coordinate about which point the scale occurs.
      Default value:
        0.0

    - #### getPivotZ

          public final double getPivotZ()

      Gets the value of the property pivotZ.
      Property description:
        Defines the Z coordinate about which point the scale occurs.
      Default value:
        0.0

    - #### pivotZProperty

          public final DoubleProperty pivotZProperty()

      Defines the Z coordinate about which point the scale occurs.
      Default value:
        0.0
      See Also:
        `getPivotZ()`, `setPivotZ(double)`

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

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

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

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

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

    - #### 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 Scale 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 Scale 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)
                                   throws NonInvertibleTransformException

      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
      Throws:
        `NonInvertibleTransformException` - if this transform cannot be inverted

    - #### inverseTransform

          public Point3D inverseTransform​(double x,
                                          double y,
                                          double z)
                                   throws NonInvertibleTransformException

      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
      Throws:
        `NonInvertibleTransformException` - if this transform cannot be inverted

    - #### inverseDeltaTransform

          public Point2D inverseDeltaTransform​(double x,
                                               double y)
                                        throws NonInvertibleTransformException

      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
      Throws:
        `NonInvertibleTransformException` - if this transform cannot be inverted

    - #### inverseDeltaTransform

          public Point3D inverseDeltaTransform​(double x,
                                               double y,
                                               double z)
                                        throws NonInvertibleTransformException

      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
      Throws:
        `NonInvertibleTransformException` - if this transform cannot be inverted

    - #### toString

          public String toString()

      Returns a string representation of this `Scale` object.
      Overrides:
        `toString` in class `Object`
      Returns:
        a string representation of this `Scale` object.