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

  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 Details

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

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

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