public class Scale extends Transform
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 ]
Type | Property and 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.
|
identityProperty, onTransformChangedProperty, type2DProperty
Transform.ImmutableTransform
Modifier and Type | Field and Description |
---|---|
private DoubleProperty |
pivotX
Defines the X coordinate about which point the scale occurs.
|
private DoubleProperty |
pivotY
Defines the Y coordinate about which point the scale occurs.
|
private DoubleProperty |
pivotZ
Defines the Z coordinate about which point the scale occurs.
|
private DoubleProperty |
x
Defines the factor by which coordinates are scaled
along the X axis direction.
|
private DoubleProperty |
y
Defines the factor by which coordinates are scaled
along the Y axis direction.
|
private DoubleProperty |
z
Defines the factor by which coordinates are scaled
along the Z axis direction.
|
Constructor and 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.
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
appendTo(Affine a)
Visitor from
Affine class which provides an efficient
append operation for the subclasses. |
(package private) void |
apply(Affine3D trans) |
Scale |
clone()
Returns a deep copy of this transform.
|
(package private) boolean |
computeIs2D()
Computes if this transform is currently a 2D transform (has no effect
in the direction of Z axis).
|
(package private) boolean |
computeIsIdentity()
Computes if this transform is currently an identity (has
no effect in any direction).
|
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.
|
(package private) BaseTransform |
derive(BaseTransform trans) |
(package private) void |
fill2DArray(double[] array)
Core of the toArray implementation for the 2D case.
|
(package private) void |
fill3DArray(double[] array)
Core of the toArray implementation for the 3D case.
|
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.
|
(package private) void |
inverseTransform2DPointsImpl(double[] srcPts,
int srcOff,
double[] dstPts,
int dstOff,
int numPts)
Core of the inverseTransform2DPoints method.
|
(package private) void |
inverseTransform3DPointsImpl(double[] srcPts,
int srcOff,
double[] dstPts,
int dstOff,
int numPts)
Core of the inverseTransform3DPoints method.
|
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.
|
(package private) void |
prependTo(Affine a)
Visitor from
Affine class which provides an efficient
prepend operation for the subclasses. |
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.
|
java.lang.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.
|
(package private) void |
transform2DPointsImpl(double[] srcPts,
int srcOff,
double[] dstPts,
int dstOff,
int numPts)
Core of the transform2DPoints method.
|
(package private) void |
transform3DPointsImpl(double[] srcPts,
int srcOff,
double[] dstPts,
int dstOff,
int numPts)
Core of the transform3DPoints method.
|
(package private) void |
validate()
Needed for the proper delivery of the TransformChangedEvent.
|
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.
|
add, addEventFilter, addEventHandler, affine, affine, buildEventDispatchChain, checkRequestedMAT, clearInverseCache, column, column, createImmutableTransform, createImmutableTransform, createImmutableTransform, createImmutableTransform, deltaTransform, deltaTransform, determinant, ensureCanTransform2DPoint, getElement, getMxy, getMxz, getMyx, getMyz, getMzx, getMzy, getOnTransformChanged, identityProperty, inverseDeltaTransform, inverseDeltaTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform2DPoints, inverseTransform3DPoints, isIdentity, isType2D, onTransformChangedProperty, remove, removeEventFilter, removeEventHandler, rotate, row, row, scale, scale, setOnTransformChanged, shear, shear, similarTo, toArray, toArray, transform, transform, transform, transform2DPoints, transform3DPoints, transformChanged, translate, type2DProperty
public final DoubleProperty xProperty
1.0
.getX()
,
setX(double)
public final DoubleProperty yProperty
1.0
.getY()
,
setY(double)
public final DoubleProperty zProperty
1.0
.getZ()
,
setZ(double)
public final DoubleProperty pivotXProperty
getPivotX()
,
setPivotX(double)
public final DoubleProperty pivotYProperty
getPivotY()
,
setPivotY(double)
public final DoubleProperty pivotZProperty
getPivotZ()
,
setPivotZ(double)
private DoubleProperty x
1.0
.private DoubleProperty y
1.0
.private DoubleProperty z
1.0
.private DoubleProperty pivotX
private DoubleProperty pivotY
private DoubleProperty pivotZ
public Scale()
public Scale(double x, double y)
x
- the factor by which coordinates are scaled along the X axisy
- the factor by which coordinates are scaled along the Y axispublic Scale(double x, double y, double pivotX, double pivotY)
x
- the factor by which coordinates are scaled along the X axisy
- the factor by which coordinates are scaled along the Y axispivotX
- the X coordinate about which point the scale occurspivotY
- the Y coordinate about which point the scale occurspublic Scale(double x, double y, double z)
x
- the factor by which coordinates are scaled along the X axisy
- the factor by which coordinates are scaled along the Y axisz
- the factor by which coordinates are scaled along the Z axispublic Scale(double x, double y, double z, double pivotX, double pivotY, double pivotZ)
x
- the factor by which coordinates are scaled along the X axisy
- the factor by which coordinates are scaled along the Y axisz
- the factor by which coordinates are scaled along the Z axispivotX
- the X coordinate about which point the scale occurspivotY
- the Y coordinate about which point the scale occurspivotZ
- the Z coordinate about which point the scale occurspublic final void setX(double value)
public final double getX()
public final DoubleProperty xProperty()
1.0
.getX()
,
setX(double)
public final void setY(double value)
public final double getY()
public final DoubleProperty yProperty()
1.0
.getY()
,
setY(double)
public final void setZ(double value)
public final double getZ()
public final DoubleProperty zProperty()
1.0
.getZ()
,
setZ(double)
public final void setPivotX(double value)
public final double getPivotX()
public final DoubleProperty pivotXProperty()
getPivotX()
,
setPivotX(double)
public final void setPivotY(double value)
public final double getPivotY()
public final DoubleProperty pivotYProperty()
getPivotY()
,
setPivotY(double)
public final void setPivotZ(double value)
public final double getPivotZ()
public final DoubleProperty pivotZProperty()
getPivotZ()
,
setPivotZ(double)
public double getMxx()
Transform
public double getMyy()
Transform
public double getMzz()
Transform
public double getTx()
Transform
public double getTy()
Transform
public double getTz()
Transform
boolean computeIs2D()
Transform
computeIs2D
in class Transform
boolean computeIsIdentity()
Transform
computeIsIdentity
in class Transform
void fill2DArray(double[] array)
Transform
fill2DArray
in class Transform
array
- array to be filled with the 6 2D elementsvoid fill3DArray(double[] array)
Transform
fill3DArray
in class Transform
array
- array to be filled with the 12 3D elementspublic Transform createConcatenation(Transform transform)
Transform
getTransforms()
list,
this
transform first and the specified transform
second.createConcatenation
in class Transform
transform
- transform to be concatenated with this transformpublic Scale createInverse() throws NonInvertibleTransformException
Transform
createInverse
in class Transform
NonInvertibleTransformException
- if this transform
cannot be invertedpublic Scale clone()
Transform
public Point2D transform(double x, double y)
Transform
public Point3D transform(double x, double y, double z)
Transform
void transform2DPointsImpl(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
Transform
transform2DPointsImpl
in class Transform
void transform3DPointsImpl(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
Transform
transform3DPointsImpl
in class Transform
public Point2D deltaTransform(double x, double y)
Transform
deltaTransform
in class Transform
x
- vector magnitude in the direction of the X axisy
- vector magnitude in the direction of the Y axisPoint2D
instancepublic Point3D deltaTransform(double x, double y, double z)
Transform
deltaTransform
in class Transform
x
- vector magnitude in the direction of the X axisy
- vector magnitude in the direction of the Y axisz
- vector magnitude in the direction of the Z axisPoint3D
instancepublic Point2D inverseTransform(double x, double y) throws NonInvertibleTransformException
Transform
inverseTransform
in class Transform
x
- the X coordinate of the pointy
- the Y coordinate of the pointNonInvertibleTransformException
- if this transform
cannot be invertedpublic Point3D inverseTransform(double x, double y, double z) throws NonInvertibleTransformException
Transform
inverseTransform
in class Transform
x
- the X coordinate of the pointy
- the Y coordinate of the pointz
- the Z coordinate of the pointNonInvertibleTransformException
- if this transform
cannot be invertedvoid inverseTransform2DPointsImpl(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) throws NonInvertibleTransformException
Transform
inverseTransform2DPointsImpl
in class Transform
NonInvertibleTransformException
void inverseTransform3DPointsImpl(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) throws NonInvertibleTransformException
Transform
inverseTransform3DPointsImpl
in class Transform
NonInvertibleTransformException
public Point2D inverseDeltaTransform(double x, double y) throws NonInvertibleTransformException
Transform
inverseDeltaTransform
in class Transform
x
- vector magnitude in the direction of the X axisy
- vector magnitude in the direction of the Y axisPoint2D
instanceNonInvertibleTransformException
- if this transform
cannot be invertedpublic Point3D inverseDeltaTransform(double x, double y, double z) throws NonInvertibleTransformException
Transform
inverseDeltaTransform
in class Transform
x
- vector magnitude in the direction of the X axisy
- vector magnitude in the direction of the Y axisz
- vector magnitude in the direction of the Z axisPoint3D
instanceNonInvertibleTransformException
- if this transform
cannot be invertedpublic java.lang.String toString()
Scale
object.toString
in class java.lang.Object
Scale
object.void validate()
Transform
void appendTo(Affine a)
Transform
Affine
class which provides an efficient
append
operation for the subclasses.