Class AbstractMathTransform1D.Inverse
-
- All Implemented Interfaces:
Parameterized
,LenientComparable
,MathTransform
,MathTransform1D
- Enclosing class:
- AbstractMathTransform1D
protected abstract static class AbstractMathTransform1D.Inverse extends AbstractMathTransform.Inverse implements MathTransform1D
Base class for implementation of inverse math transforms. This inner class is the inverse of the enclosingAbstractMathTransform1D
.SerializationThis object may or may not be serializable, at implementation choices. Most Apache SIS implementations are serializable, but the serialized objects are not guaranteed to be compatible with future SIS versions. Serialization should be used only for short term storage or RMI between applications running the same SIS version.- Since:
- 0.7
Defined in the
sis-referencing
module
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class AbstractMathTransform
AbstractMathTransform.Inverse
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
Inverse()
Constructs an inverse math transform.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Matrix
derivative(DirectPosition point)
Gets the derivative of this transform at a point.abstract MathTransform1D
inverse()
Returns the inverse of this math transform.Matrix
transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, boolean derivate)
Transforms a single point in the given array and opportunistically computes its derivative if requested.-
Methods inherited from class AbstractMathTransform.Inverse
computeHashCode, equals, formatTo, getSourceDimensions, getTargetDimensions, isIdentity
-
Methods inherited from class AbstractMathTransform
equals, getContextualParameters, getParameterDescriptors, getParameterValues, hashCode, transform, transform, transform, transform, transform, tryConcatenate
-
Methods inherited from class FormattableObject
print, toString, toString, toWKT
-
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface MathTransform
getSourceDimensions, getTargetDimensions, isIdentity, toWKT, transform, transform, transform, transform, transform
-
Methods inherited from interface MathTransform1D
derivative, transform
-
-
-
-
Method Detail
-
inverse
public abstract MathTransform1D inverse()
Returns the inverse of this math transform. The returned transform should be the enclosing math transform.- Specified by:
inverse
in interfaceMathTransform
- Specified by:
inverse
in interfaceMathTransform1D
- Specified by:
inverse
in classAbstractMathTransform.Inverse
- Returns:
- the inverse of this transform.
-
transform
public Matrix transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, boolean derivate) throws TransformException
Transforms a single point in the given array and opportunistically computes its derivative if requested. The default implementation delegates toMathTransform1D.transform(double)
and potentially toMathTransform1D.derivative(double)
. Subclasses may override this method for performance reason.- Specified by:
transform
in classAbstractMathTransform
- Parameters:
srcPts
- the array containing the source coordinate (can not benull
).srcOff
- the offset to the point to be transformed in the source array.dstPts
- the array into which the transformed coordinate is returned. May be the same thansrcPts
. May benull
if only the derivative matrix is desired.dstOff
- the offset to the location of the transformed point that is stored in the destination array.derivate
-true
for computing the derivative, orfalse
if not needed.- Returns:
- the matrix of the transform derivative at the given source position,
or
null
if thederivate
argument isfalse
. - Throws:
TransformException
- if the point can not be transformed or if a problem occurred while calculating the derivative.- See Also:
AbstractMathTransform.derivative(DirectPosition)
,AbstractMathTransform.transform(DirectPosition, DirectPosition)
,MathTransforms.derivativeAndTransform(MathTransform, double[], int, double[], int)
-
derivative
public Matrix derivative(DirectPosition point) throws TransformException
Gets the derivative of this transform at a point. The default implementation ensures thatpoint
is one-dimensional, then delegates toMathTransform1D.derivative(double)
.- Specified by:
derivative
in interfaceMathTransform
- Overrides:
derivative
in classAbstractMathTransform.Inverse
- Parameters:
point
- the coordinate point where to evaluate the derivative, ornull
.- Returns:
- the derivative at the specified point (never
null
). - Throws:
MismatchedDimensionException
- ifpoint
does not have the expected dimension.TransformException
- if the derivative can not be evaluated at the specified point.
-
-