Class Shear

All Implemented Interfaces:
Cloneable, EventTarget

public class Shear
extends Transform
This class represents an Affine object that shears coordinates by the specified multipliers. The matrix representing the shearing transformation around a pivot point (pivotX, pivotY) with multiplication factors x and y is as follows:
              [   1   x   0   -x*pivotY   ]
              [   y   1   0   -y*pivotX   ]
              [   0   0   1       0       ]
 

For example:


 Text text = new Text("Using Shear for pseudo-italic font");
 text.setX(20);
 text.setY(50);
 text.setFont(new Font(20));

 text.getTransforms().add(new Shear(-0.35, 0));
 
Since:
JavaFX 2.0
  • Property Details

    • x

      public final DoubleProperty xProperty
      Defines the multiplier by which coordinates are shifted in the direction of the positive X axis as a factor of their Y coordinate. Typical values are in the range -1 to 1, exclusive.
      Default value:
      0.0
      See Also:
      getX(), setX(double)
    • y

      public final DoubleProperty yProperty
      Defines the multiplier by which coordinates are shifted in the direction of the positive Y axis as a factor of their X coordinate. Typical values are in the range -1 to 1, exclusive.
      Default value:
      0.0
      See Also:
      getY(), setY(double)
    • pivotX

      public final DoubleProperty pivotXProperty
      Defines the X coordinate of the shear pivot point.
      Default value:
      0.0
      See Also:
      getPivotX(), setPivotX(double)
    • pivotY

      public final DoubleProperty pivotYProperty
      Defines the Y coordinate of the shear pivot point.
      Default value:
      0.0
      See Also:
      getPivotY(), setPivotY(double)
  • Constructor Details

    • Shear

      public Shear()
      Creates a default Shear (identity).
    • Shear

      public Shear​(double x, double y)
      Creates a new instance of Shear. The pivot point is set to (0,0)
      Parameters:
      x - the multiplier by which coordinates are shifted in the direction of the positive X axis as a factor of their Y coordinate
      y - the multiplier by which coordinates are shifted in the direction of the positive Y axis as a factor of their X coordinate
    • Shear

      public Shear​(double x, double y, double pivotX, double pivotY)
      Creates a new instance of Shear with pivot.
      Parameters:
      x - the multiplier by which coordinates are shifted in the direction of the positive X axis as a factor of their Y coordinate
      y - the multiplier by which coordinates are shifted in the direction of the positive Y axis as a factor of their X coordinate
      pivotX - the X coordinate of the shear pivot point
      pivotY - the Y coordinate of the shear pivot point
  • Method Details

    • setX

      public final void setX​(double value)
      Sets the value of the property x.
      Property description:
      Defines the multiplier by which coordinates are shifted in the direction of the positive X axis as a factor of their Y coordinate. Typical values are in the range -1 to 1, exclusive.
      Default value:
      0.0
    • getX

      public final double getX()
      Gets the value of the property x.
      Property description:
      Defines the multiplier by which coordinates are shifted in the direction of the positive X axis as a factor of their Y coordinate. Typical values are in the range -1 to 1, exclusive.
      Default value:
      0.0
    • xProperty

      public final DoubleProperty xProperty()
      Defines the multiplier by which coordinates are shifted in the direction of the positive X axis as a factor of their Y coordinate. Typical values are in the range -1 to 1, exclusive.
      Default value:
      0.0
      See Also:
      getX(), setX(double)
    • setY

      public final void setY​(double value)
      Sets the value of the property y.
      Property description:
      Defines the multiplier by which coordinates are shifted in the direction of the positive Y axis as a factor of their X coordinate. Typical values are in the range -1 to 1, exclusive.
      Default value:
      0.0
    • getY

      public final double getY()
      Gets the value of the property y.
      Property description:
      Defines the multiplier by which coordinates are shifted in the direction of the positive Y axis as a factor of their X coordinate. Typical values are in the range -1 to 1, exclusive.
      Default value:
      0.0
    • yProperty

      public final DoubleProperty yProperty()
      Defines the multiplier by which coordinates are shifted in the direction of the positive Y axis as a factor of their X coordinate. Typical values are in the range -1 to 1, exclusive.
      Default value:
      0.0
      See Also:
      getY(), setY(double)
    • setPivotX

      public final void setPivotX​(double value)
      Sets the value of the property pivotX.
      Property description:
      Defines the X coordinate of the shear pivot point.
      Default value:
      0.0
    • getPivotX

      public final double getPivotX()
      Gets the value of the property pivotX.
      Property description:
      Defines the X coordinate of the shear pivot point.
      Default value:
      0.0
    • pivotXProperty

      public final DoubleProperty pivotXProperty()
      Defines the X coordinate of the shear pivot point.
      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 of the shear pivot point.
      Default value:
      0.0
    • getPivotY

      public final double getPivotY()
      Gets the value of the property pivotY.
      Property description:
      Defines the Y coordinate of the shear pivot point.
      Default value:
      0.0
    • pivotYProperty

      public final DoubleProperty pivotYProperty()
      Defines the Y coordinate of the shear pivot point.
      Default value:
      0.0
      See Also:
      getPivotY(), setPivotY(double)
    • getMxy

      public double getMxy()
      Description copied from class: Transform
      Gets the XY coordinate element of the 3x4 matrix.
      Overrides:
      getMxy in class Transform
      Returns:
      the XY coordinate element of the 3x4 matrix
    • getMyx

      public double getMyx()
      Description copied from class: Transform
      Gets the YX coordinate element of the 3x4 matrix.
      Overrides:
      getMyx in class Transform
      Returns:
      the YX coordinate 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
    • 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 Transform createInverse()
      Description copied from class: Transform
      Returns the inverse transform of this transform.
      Overrides:
      createInverse in class Transform
      Returns:
      the inverse transform
    • clone

      public Shear 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 Shear object.
      Overrides:
      toString in class Object
      Returns:
      a string representation of this Shear object.