Class AbstractShearTransform

  • All Implemented Interfaces:
    BoundingBoxTransform, InvertibleTransform, Transform
    Direct Known Subclasses:
    InverseShearTransform, ShearTransform

    public abstract class AbstractShearTransform
    extends java.lang.Object
    implements InvertibleTransform, BoundingBoxTransform
    Most simple case of a shear transform that just implements for a integer valued coordinate: coordinate[ shearDimension ] += coordinate[ referenceDimension ] (forward) coordinate[ shearDimension ] -= coordinate[ referenceDimension ] (backward) This abstract class holds the inverse and implements applyInverse in terms of inverse.apply
    Author:
    Philipp Hanslovsky
    • Field Detail

      • nDim

        protected final int nDim
      • shearDimension

        protected final int shearDimension
      • referenceDimension

        protected final int referenceDimension
    • Constructor Detail

      • AbstractShearTransform

        protected AbstractShearTransform​(int nDim,
                                         int shearDimension,
                                         int referenceDimension)
      • AbstractShearTransform

        protected AbstractShearTransform​(int nDim,
                                         int shearDimension,
                                         int referenceDimension,
                                         AbstractShearTransform inverse)
    • Method Detail

      • getReferenceDimension

        public int getReferenceDimension()
      • numSourceDimensions

        public int numSourceDimensions()
        Description copied from interface: Transform
        Returns n, the dimension of the source vector.
        Specified by:
        numSourceDimensions in interface Transform
        Returns:
        the dimension of the source vector.
      • numTargetDimensions

        public int numTargetDimensions()
        Description copied from interface: Transform
        Returns m, the dimension of the target vector.
        Specified by:
        numTargetDimensions in interface Transform
        Returns:
        the dimension of the target vector.
      • numDimensions

        public int numDimensions()
      • getShearDimension

        public int getShearDimension()
      • applyInverse

        public void applyInverse​(long[] source,
                                 long[] target)
        Description copied from interface: InvertibleTransform
        Apply the inverse transform to a target vector to obtain a source vector.
        Specified by:
        applyInverse in interface InvertibleTransform
        Parameters:
        source - set this to the source coordinates.
        target - target coordinates.
      • applyInverse

        public void applyInverse​(int[] source,
                                 int[] target)
        Description copied from interface: InvertibleTransform
        Apply the inverse transform to a target vector to obtain a source vector.
        Specified by:
        applyInverse in interface InvertibleTransform
        Parameters:
        source - set this to the source coordinates.
        target - target coordinates.
      • getShear

        public abstract long[] getShear()