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
`final DoubleProperty`
`pivotX`
Defines the X coordinate about which point the scale occurs.
`final DoubleProperty`
`pivotY`
Defines the Y coordinate about which point the scale occurs.
`final DoubleProperty`
`pivotZ`
Defines the Z coordinate about which point the scale occurs.
`final DoubleProperty`
`x`
Defines the factor by which coordinates are scaled along the X axis direction.
`final DoubleProperty`
`y`
Defines the factor by which coordinates are scaled along the Y axis direction.
`final 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.
`final double`
`getPivotX()`
Gets the value of the `pivotX` property.
`final double`
`getPivotY()`
Gets the value of the `pivotY` property.
`final double`
`getPivotZ()`
Gets the value of the `pivotZ` property.
`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.
`final double`
`getX()`
Gets the value of the `x` property.
`final double`
`getY()`
Gets the value of the `y` property.
`final double`
`getZ()`
Gets the value of the `z` property.
`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.
`final DoubleProperty`
`pivotXProperty()`
Defines the X coordinate about which point the scale occurs.
`final DoubleProperty`
`pivotYProperty()`
Defines the Y coordinate about which point the scale occurs.
`final DoubleProperty`
`pivotZProperty()`
Defines the Z coordinate about which point the scale occurs.
`final void`
`setPivotX(double value)`
Sets the value of the `pivotX` property.
`final void`
`setPivotY(double value)`
Sets the value of the `pivotY` property.
`final void`
`setPivotZ(double value)`
Sets the value of the `pivotZ` property.
`final void`
`setX(double value)`
Sets the value of the `x` property.
`final void`
`setY(double value)`
Sets the value of the `y` property.
`final void`
`setZ(double value)`
Sets the value of the `z` property.
`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.
`final DoubleProperty`
`xProperty()`
Defines the factor by which coordinates are scaled along the X axis direction.
`final DoubleProperty`
`yProperty()`
Defines the factor by which coordinates are scaled along the Y axis direction.
`final 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)`
  - `xProperty()`

### 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)`
  - `yProperty()`

### 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)`
  - `zProperty()`

### pivotX

public final DoubleProperty pivotXProperty
Defines the X coordinate about which point the scale occurs.

Default value:
  0.0
See Also:
  - `getPivotX()`
  - `setPivotX(double)`
  - `pivotXProperty()`

### pivotY

public final DoubleProperty pivotYProperty
Defines the Y coordinate about which point the scale occurs.

Default value:
  0.0
See Also:
  - `getPivotY()`
  - `setPivotY(double)`
  - `pivotYProperty()`

### pivotZ

public final DoubleProperty pivotZProperty
Defines the Z coordinate about which point the scale occurs.

Default value:
  0.0
See Also:
  - `getPivotZ()`
  - `setPivotZ(double)`
  - `pivotZProperty()`

## 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 `x` property.

Property description:
  Defines the factor by which coordinates are scaled along the X axis direction. The default value is `1.0`.
Parameters:
  `value` - the value for the `x` property
See Also:
  - `getX()`
  - `xProperty()`

### getX

public final double getX()
Gets the value of the `x` property.

Property description:
  Defines the factor by which coordinates are scaled along the X axis direction. The default value is `1.0`.
Returns:
  the value of the `x` property
See Also:
  - `setX(double)`
  - `xProperty()`

### xProperty

public final DoubleProperty xProperty()
Defines the factor by which coordinates are scaled along the X axis direction. The default value is `1.0`.

Returns:
  the `x` property
See Also:
  - `getX()`
  - `setX(double)`

### setY

public final void setY(double value)
Sets the value of the `y` property.

Property description:
  Defines the factor by which coordinates are scaled along the Y axis direction. The default value is `1.0`.
Parameters:
  `value` - the value for the `y` property
See Also:
  - `getY()`
  - `yProperty()`

### getY

public final double getY()
Gets the value of the `y` property.

Property description:
  Defines the factor by which coordinates are scaled along the Y axis direction. The default value is `1.0`.
Returns:
  the value of the `y` property
See Also:
  - `setY(double)`
  - `yProperty()`

### yProperty

public final DoubleProperty yProperty()
Defines the factor by which coordinates are scaled along the Y axis direction. The default value is `1.0`.

Returns:
  the `y` property
See Also:
  - `getY()`
  - `setY(double)`

### setZ

public final void setZ(double value)
Sets the value of the `z` property.

Property description:
  Defines the factor by which coordinates are scaled along the Z axis direction. The default value is `1.0`.
Parameters:
  `value` - the value for the `z` property
See Also:
  - `getZ()`
  - `zProperty()`

### getZ

public final double getZ()
Gets the value of the `z` property.

Property description:
  Defines the factor by which coordinates are scaled along the Z axis direction. The default value is `1.0`.
Returns:
  the value of the `z` property
See Also:
  - `setZ(double)`
  - `zProperty()`

### zProperty

public final DoubleProperty zProperty()
Defines the factor by which coordinates are scaled along the Z axis direction. The default value is `1.0`.

Returns:
  the `z` property
See Also:
  - `getZ()`
  - `setZ(double)`

### setPivotX

public final void setPivotX(double value)
Sets the value of the `pivotX` property.

Property description:
  Defines the X coordinate about which point the scale occurs.
Default value:
  0.0
Parameters:
  `value` - the value for the `pivotX` property
See Also:
  - `getPivotX()`
  - `pivotXProperty()`

### getPivotX

public final double getPivotX()
Gets the value of the `pivotX` property.

Property description:
  Defines the X coordinate about which point the scale occurs.
Default value:
  0.0
Returns:
  the value of the `pivotX` property
See Also:
  - `setPivotX(double)`
  - `pivotXProperty()`

### pivotXProperty

public final DoubleProperty pivotXProperty()
Defines the X coordinate about which point the scale occurs.

Default value:
  0.0
Returns:
  the `pivotX` property
See Also:
  - `getPivotX()`
  - `setPivotX(double)`

### setPivotY

public final void setPivotY(double value)
Sets the value of the `pivotY` property.

Property description:
  Defines the Y coordinate about which point the scale occurs.
Default value:
  0.0
Parameters:
  `value` - the value for the `pivotY` property
See Also:
  - `getPivotY()`
  - `pivotYProperty()`

### getPivotY

public final double getPivotY()
Gets the value of the `pivotY` property.

Property description:
  Defines the Y coordinate about which point the scale occurs.
Default value:
  0.0
Returns:
  the value of the `pivotY` property
See Also:
  - `setPivotY(double)`
  - `pivotYProperty()`

### pivotYProperty

public final DoubleProperty pivotYProperty()
Defines the Y coordinate about which point the scale occurs.

Default value:
  0.0
Returns:
  the `pivotY` property
See Also:
  - `getPivotY()`
  - `setPivotY(double)`

### setPivotZ

public final void setPivotZ(double value)
Sets the value of the `pivotZ` property.

Property description:
  Defines the Z coordinate about which point the scale occurs.
Default value:
  0.0
Parameters:
  `value` - the value for the `pivotZ` property
See Also:
  - `getPivotZ()`
  - `pivotZProperty()`

### getPivotZ

public final double getPivotZ()
Gets the value of the `pivotZ` property.

Property description:
  Defines the Z coordinate about which point the scale occurs.
Default value:
  0.0
Returns:
  the value of the `pivotZ` property
See Also:
  - `setPivotZ(double)`
  - `pivotZProperty()`

### pivotZProperty

public final DoubleProperty pivotZProperty()
Defines the Z coordinate about which point the scale occurs.

Default value:
  0.0
Returns:
  the `pivotZ` property
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.