Class ScaledPolynomialTransform

Class Documentation

class ScaledPolynomialTransform

A 2-d coordinate transform represented by a lazy composition of an AffineTransform, a PolynomialTransform, and another AffineTransform.

ScaledPolynomialTransform instances should be confined to a single thread.

Public Functions

ScaledPolynomialTransform(PolynomialTransform const &poly, geom::AffineTransform const &inputScaling, geom::AffineTransform const &outputScalingInverse)

Construct a new ScaledPolynomialTransform from its constituents.

Parameters
  • [in] poly: A PolynomialTransform to be applied to points. after the inputScaling transform.

  • [in] inputScaling: An AffineTransform to be applied immediately to input points.

  • [in] outputScalingInverse: An AffineTransform to be applied to points after the PolynomialTransform.

ScaledPolynomialTransform(ScaledPolynomialTransform const &other)
ScaledPolynomialTransform(ScaledPolynomialTransform &&other)
ScaledPolynomialTransform &operator=(ScaledPolynomialTransform const &other)
ScaledPolynomialTransform &operator=(ScaledPolynomialTransform &&other)
void swap(ScaledPolynomialTransform &other)
PolynomialTransform const &getPoly() const

Return the polynomial transform applied after the input scaling.

geom::AffineTransform const &getInputScaling() const

Return the first affine transform applied to input points.

geom::AffineTransform const &getOutputScalingInverse() const

Return the affine transform applied to points after the polynomial transform.

geom::AffineTransform linearize(geom::Point2D const &in) const

Return an approximate affine transform at the given point.

geom::Point2D operator()(geom::Point2D const &in) const

Apply the transform to a point.

Public Static Functions

static ScaledPolynomialTransform convert(PolynomialTransform const &poly)

Convert a PolynomialTransform to an equivalent ScaledPolynomialTransform.

This simply inserts identity AffineTransforms before and after applying the given PolynomialTransform.

static ScaledPolynomialTransform convert(SipForwardTransform const &sipForward)

Convert a SipForwardTransform to an equivalent ScaledPolynomialTransform.

The input transform’s CRPIX offset and CD matrix scaling are used to define the input and output affine transforms, respectively, leaving the polynomial coefficients unmodified.

static ScaledPolynomialTransform convert(SipReverseTransform const &sipReverse)

Convert a SipForwardTransform to an equivalent ScaledPolynomialTransform.

The input transform’s CD matrix scaling and CRPIX offset are used to define the input and output affine transforms, respectively, leaving the polynomial coefficients unmodified.