Affine transform a pointarray.
Definition at line 1800 of file ptarray.c.
References AFFINE::afac, AFFINE::bfac, AFFINE::cfac, AFFINE::dfac, AFFINE::efac, AFFINE::ffac, POINTARRAY::flags, FLAGS_GET_Z, getPoint4d_p(), AFFINE::gfac, AFFINE::hfac, AFFINE::ifac, LWDEBUG, LWDEBUGF, POINTARRAY::npoints, ptarray_set_point4d(), pixval::x, POINT4D::x, AFFINE::xoff, pixval::y, POINT4D::y, AFFINE::yoff, POINT4D::z, and AFFINE::zoff.
Referenced by lwgeom_affine().
1806 LWDEBUG(2,
"lwgeom_affine_ptarray start");
1818 p4d.
x = a->afac * x + a->bfac * y + a->cfac * z + a->xoff;
1819 p4d.
y = a->dfac * x + a->efac * y + a->ffac * z + a->yoff;
1820 p4d.
z = a->gfac * x + a->hfac * y + a->ifac * z + a->zoff;
1823 LWDEBUGF(3,
" POINT %g %g %g => %g %g %g", x, y, z, p4d.
x, p4d.
y, p4d.
z);
1828 LWDEBUG(3,
" doesn't have z");
1835 p4d.
x = a->afac * x + a->bfac * y + a->xoff;
1836 p4d.
y = a->dfac * x + a->efac * y + a->yoff;
1839 LWDEBUGF(3,
" POINT %g %g => %g %g", x, y, p4d.
x, p4d.
y);
1843 LWDEBUG(3,
"lwgeom_affine_ptarray end");
void ptarray_set_point4d(POINTARRAY *pa, int n, const POINT4D *p4d)
#define LWDEBUG(level, msg)
#define FLAGS_GET_Z(flags)
Macros for manipulating the 'flags' byte.
#define LWDEBUGF(level, msg,...)
int getPoint4d_p(const POINTARRAY *pa, int n, POINT4D *point)