Class AbstractMathTransform1D
Object
FormattableObject
AbstractMathTransform
AbstractMathTransform1D
- All Implemented Interfaces:
- Parameterized,- LenientComparable,- MathTransform,- MathTransform1D
public abstract class AbstractMathTransform1D
extends AbstractMathTransform
implements MathTransform1D
Base class for math transforms that are known to be one-dimensional in all cases.
 One-dimensional math transforms are not required to extend this class,
 however doing so may simplify their implementation.
 
The simplest way to implement this abstract class is to provide an implementation for the following methods only:
Immutability and thread safety
All Apache SIS implementations ofMathTransform1D are immutable and thread-safe.
 It is highly recommended that third-party implementations be immutable and thread-safe too.
 This means that unless otherwise noted in the javadoc, MathTransform1D instances can
 be shared by many objects and passed between threads without synchronization.
 Serialization
MathTransform1D 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.5
Defined in the sis-referencing module
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionprotected static classBase class for implementation of inverse math transforms.
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionabstract doublederivative(double value) Gets the derivative of this function at a value.derivative(DirectPosition point) Gets the derivative of this transform at a point.final intReturns the dimension of input points, which is always 1.final intReturns the dimension of output points, which is always 1.inverse()Returns the inverse transform of this object.abstract doubletransform(double value) Transforms the specified value.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 AbstractMathTransformcomputeHashCode, equals, equals, formatTo, getContextualParameters, getDomain, getParameterDescriptors, getParameterValues, hashCode, isIdentity, transform, transform, transform, transform, transform, tryConcatenateMethods inherited from class FormattableObjectprint, toString, toString, toWKTMethods inherited from class Objectclone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface MathTransformisIdentity, toWKT, transform, transform, transform, transform, transform
- 
Constructor Details- 
AbstractMathTransform1Dprotected AbstractMathTransform1D()Constructor for subclasses.
 
- 
- 
Method Details- 
getSourceDimensionspublic final int getSourceDimensions()Returns the dimension of input points, which is always 1.- Specified by:
- getSourceDimensionsin interface- MathTransform
- Specified by:
- getSourceDimensionsin class- AbstractMathTransform
- Returns:
- the number of dimensions of input points.
- See Also:
 
- 
getTargetDimensionspublic final int getTargetDimensions()Returns the dimension of output points, which is always 1.- Specified by:
- getTargetDimensionsin interface- MathTransform
- Specified by:
- getTargetDimensionsin class- AbstractMathTransform
- Returns:
- the number of dimensions of output points.
- See Also:
 
- 
transformTransforms the specified value.- Specified by:
- transformin interface- MathTransform1D
- Parameters:
- value- the value to transform.
- Returns:
- the transformed value.
- Throws:
- TransformException- if the value cannot be transformed.
 
- 
transformpublic 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 totransform(double)and potentially toderivative(double). Subclasses may override this method for performance reason.- Specified by:
- transformin class- AbstractMathTransform
- Parameters:
- srcPts- the array containing the source coordinates (cannot be- null).
- srcOff- the offset to the point to be transformed in the source array.
- dstPts- the array into which the transformed coordinates is returned. May be the same than- srcPts. May be- nullif only the derivative matrix is desired.
- dstOff- the offset to the location of the transformed point that is stored in the destination array.
- derivate-- truefor computing the derivative, or- falseif not needed.
- Returns:
- the matrix of the transform derivative at the given source position,
         or nullif thederivateargument isfalse.
- Throws:
- TransformException- if the point cannot be transformed or if a problem occurred while calculating the derivative.
- See Also:
 
- 
derivativeGets the derivative of this function at a value. The derivative is the 1×1 matrix of the non-translating portion of the approximate affine map at the value.- Specified by:
- derivativein interface- MathTransform1D
- Parameters:
- value- the value where to evaluate the derivative.
- Returns:
- the derivative at the specified point.
- Throws:
- TransformException- if the derivative cannot be evaluated at the specified point.
 
- 
derivativeGets the derivative of this transform at a point. The default implementation ensures thatpointis one-dimensional, then delegates toderivative(double).- Specified by:
- derivativein interface- MathTransform
- Overrides:
- derivativein class- AbstractMathTransform
- Parameters:
- point- the position where to evaluate the derivative, or- null.
- Returns:
- the derivative at the specified point (never null).
- Throws:
- MismatchedDimensionException- if- pointdoes not have the expected dimension.
- TransformException- if the derivative cannot be evaluated at the specified point.
 
- 
inverseReturns the inverse transform of this object. The default implementation returnsthisif this transform is an identity transform, or throws an exception otherwise. Subclasses should override this method.- Specified by:
- inversein interface- MathTransform
- Specified by:
- inversein interface- MathTransform1D
- Overrides:
- inversein class- AbstractMathTransform
- Throws:
- NoninvertibleTransformException
 
 
-