LSSTApplications
21.0.0+1b62c9342b,21.0.0+45a059f35e,21.0.0-1-ga51b5d4+ceb9cf20a3,21.0.0-10-g68cce58c5+c7d3cce47e,21.0.0-2-g103fe59+c1ca725317,21.0.0-2-g1367e85+a1c2f7fe71,21.0.0-2-g2909d54+45a059f35e,21.0.0-2-g45278ab+1b62c9342b,21.0.0-2-g4bc9b9f+b2e40a4e47,21.0.0-2-g5242d73+a1c2f7fe71,21.0.0-2-g54e2caa+c00cf99ed0,21.0.0-2-g66bcc37+27b9d7859a,21.0.0-2-g7f82c8f+203cf74700,21.0.0-2-g8dde007+b0df52bfdd,21.0.0-2-g8f08a60+73884b2cf5,21.0.0-2-ga326454+203cf74700,21.0.0-2-ga63a54e+eec04437aa,21.0.0-2-gc738bc1+59028256f4,21.0.0-2-gde069b7+5a8f2956b8,21.0.0-2-ge17e5af+a1c2f7fe71,21.0.0-2-ge712728+9ad031c87e,21.0.0-2-gecfae73+d3766aec80,21.0.0-2-gfc62afb+a1c2f7fe71,21.0.0-20-g4449a12+38dfb87bce,21.0.0-22-gf0532904+afb8e7912b,21.0.0-3-g4c5b185+a403cb96fd,21.0.0-3-g6d51c4a+27b9d7859a,21.0.0-3-g8076721+e873df194c,21.0.0-3-gaa929c8+df5d87f43a,21.0.0-3-gd222c45+afc8332dbe,21.0.0-4-g1383c07+27b9d7859a,21.0.0-4-g3300ddd+1b62c9342b,21.0.0-4-g5873dc9+9a92674037,21.0.0-4-g8a80011+f67daf2f53,21.0.0-5-gcff38f6+bce43c5818,21.0.0-6-g463d161+44134145d4,21.0.0-6-gd3283ba+df5d87f43a,21.0.0-8-g19111d86+d6551531e4,w.2021.04
LSSTDataManagementBasePackage
|
Go to the documentation of this file.
22 #ifndef LSST_GEOM_AFFINE_TRANSFORM_H
23 #define LSST_GEOM_AFFINE_TRANSFORM_H
88 : _linear(matrix.block<2, 2>(0, 0)), _translation(matrix.block<2, 1>(0, 2)) {}
91 explicit AffineTransform(Eigen::Matrix2d
const &linear) noexcept : _linear(linear), _translation() {}
95 : _linear(), _translation(translation) {}
98 explicit AffineTransform(Eigen::Matrix2d
const &linear, Eigen::Vector2d
const &translation) noexcept
99 : _linear(linear), _translation(translation) {}
109 : _linear(linear), _translation(translation) {}
148 double applyX(
double x,
double y)
const noexcept {
return _linear.
applyX(
x,
y) + _translation.getX(); }
149 double applyY(
double x,
double y)
const noexcept {
return _linear.
applyY(
x,
y) + _translation.getY(); }
176 double &operator[](
int i) {
return (i < 4) ? _linear[i] : _translation[i - 4]; }
177 double operator[](
int i)
const {
return (i < 4) ? _linear[i] : _translation[i - 4]; }
191 _linear +=
other._linear;
192 _translation +=
other._translation;
203 _linear -=
other._linear;
204 _translation -=
other._translation;
302 #endif // !LSST_GEOM_AFFINE_TRANSFORM_H
Point< double, 2 > Point2D
ItemVariant const * other
A base class for image defects.
std::ostream & operator<<(std::ostream &os, lsst::geom::AffineTransform const &transform)
A class representing an angle.
Extent< double, 2 > Extent2D
AffineTransform makeAffineTransformFromTriple(Point2D const &p1, Point2D const &p2, Point2D const &p3, Point2D const &q1, Point2D const &q2, Point2D const &q3)