#include <src/agg/agg_trans_affine.h>
|
| | trans_affine () |
| |
| | trans_affine (double v0, double v1, double v2, double v3, double v4, double v5) |
| |
| | trans_affine (const double *m) |
| |
| | trans_affine (double x1, double y1, double x2, double y2, const double *parl) |
| |
| | trans_affine (const double *parl, double x1, double y1, double x2, double y2) |
| |
| | trans_affine (const double *src, const double *dst) |
| |
| const trans_affine & | parl_to_parl (const double *src, const double *dst) |
| |
| const trans_affine & | rect_to_parl (double x1, double y1, double x2, double y2, const double *parl) |
| |
| const trans_affine & | parl_to_rect (const double *parl, double x1, double y1, double x2, double y2) |
| |
| const trans_affine & | reset () |
| |
| const trans_affine & | translate (double x, double y) |
| |
| const trans_affine & | rotate (double a) |
| |
| const trans_affine & | scale (double s) |
| |
| const trans_affine & | scale (double x, double y) |
| |
| const trans_affine & | multiply (const trans_affine &m) |
| |
| const trans_affine & | premultiply (const trans_affine &m) |
| |
| const trans_affine & | multiply_inv (const trans_affine &m) |
| |
| const trans_affine & | premultiply_inv (const trans_affine &m) |
| |
| const trans_affine & | invert () |
| |
| const trans_affine & | flip_x () |
| |
| const trans_affine & | flip_y () |
| |
| void | store_to (double *m) const |
| |
| const trans_affine & | load_from (const double *m) |
| |
| const trans_affine & | operator*= (const trans_affine &m) |
| |
| const trans_affine & | operator/= (const trans_affine &m) |
| |
| trans_affine | operator* (const trans_affine &m) const |
| |
| trans_affine | operator/ (const trans_affine &m) const |
| |
| trans_affine | operator~ () const |
| |
| bool | operator== (const trans_affine &m) const |
| |
| bool | operator!= (const trans_affine &m) const |
| |
| void | transform (double *x, double *y) const |
| |
| void | transform_2x2 (double *x, double *y) const |
| |
| void | inverse_transform (double *x, double *y) const |
| |
| double | determinant () const |
| |
| double | determinant_reciprocal () const |
| |
| double | scale () const |
| |
| bool | is_valid (double epsilon=affine_epsilon) const |
| |
| bool | is_identity (double epsilon=affine_epsilon) const |
| |
| bool | is_equal (const trans_affine &m, double epsilon=affine_epsilon) const |
| |
| double | rotation () const |
| |
| void | translation (double *dx, double *dy) const |
| |
| void | scaling (double *x, double *y) const |
| |
| void | scaling_abs (double *x, double *y) const |
| |
◆ trans_affine() [1/6]
| agg::trans_affine::trans_affine |
( |
| ) |
|
|
inline |
93 :
95 {}
double sx
Definition agg_trans_affine.h:89
double sy
Definition agg_trans_affine.h:89
double ty
Definition agg_trans_affine.h:89
double tx
Definition agg_trans_affine.h:89
double shx
Definition agg_trans_affine.h:89
double shy
Definition agg_trans_affine.h:89
Referenced by operator*(), and operator/().
◆ trans_affine() [2/6]
| agg::trans_affine::trans_affine |
( |
double |
v0, |
|
|
double |
v1, |
|
|
double |
v2, |
|
|
double |
v3, |
|
|
double |
v4, |
|
|
double |
v5 |
|
) |
| |
|
inline |
◆ trans_affine() [3/6]
| agg::trans_affine::trans_affine |
( |
const double * |
m | ) |
|
|
inlineexplicit |
◆ trans_affine() [4/6]
| agg::trans_affine::trans_affine |
( |
double |
x1, |
|
|
double |
y1, |
|
|
double |
x2, |
|
|
double |
y2, |
|
|
const double * |
parl |
|
) |
| |
|
inline |
111 {
113 }
const trans_affine & rect_to_parl(double x1, double y1, double x2, double y2, const double *parl)
References rect_to_parl().
◆ trans_affine() [5/6]
| agg::trans_affine::trans_affine |
( |
const double * |
parl, |
|
|
double |
x1, |
|
|
double |
y1, |
|
|
double |
x2, |
|
|
double |
y2 |
|
) |
| |
|
inline |
118 {
120 }
const trans_affine & parl_to_rect(const double *parl, double x1, double y1, double x2, double y2)
References parl_to_rect().
◆ trans_affine() [6/6]
| agg::trans_affine::trans_affine |
( |
const double * |
src, |
|
|
const double * |
dst |
|
) |
| |
|
inline |
124 {
126 }
const trans_affine & parl_to_parl(const double *src, const double *dst)
References parl_to_parl().
◆ determinant()
| double agg::trans_affine::determinant |
( |
| ) |
const |
|
inline |
◆ determinant_reciprocal()
| double agg::trans_affine::determinant_reciprocal |
( |
| ) |
const |
|
inline |
◆ flip_x()
◆ flip_y()
◆ inverse_transform()
| void agg::trans_affine::inverse_transform |
( |
double * |
x, |
|
|
double * |
y |
|
) |
| const |
|
inline |
310 {
312 double a = (*
x -
tx) * d;
313 double b = (*
y -
ty) * d;
316 }
const Scalar & y
Definition MathFunctions.h:552
TCoord< P > x(const P &p)
Definition geometry_traits.hpp:297
double determinant_reciprocal() const
Definition agg_trans_affine.h:265
References determinant_reciprocal(), shx, shy, sx, sy, tx, and ty.
◆ invert()
◆ is_equal()
◆ is_identity()
| bool agg::trans_affine::is_identity |
( |
double |
epsilon = affine_epsilon | ) |
const |
◆ is_valid()
| bool agg::trans_affine::is_valid |
( |
double |
epsilon = affine_epsilon | ) |
const |
◆ load_from()
193 {
194 sx = *m++;
shy = *m++;
shx = *m++;
sy = *m++;
tx = *m++;
ty = *m++;
195 return *this;
196 }
References shx, shy, sx, sy, tx, and ty.
◆ multiply()
◆ multiply_inv()
387 {
389 t.invert();
391 }
trans_affine()
Definition agg_trans_affine.h:93
const trans_affine & multiply(const trans_affine &m)
References invert(), and multiply().
Referenced by operator/=().
◆ operator!=()
241 {
243 }
const double affine_epsilon
Definition agg_trans_affine.h:27
bool is_equal(const trans_affine &m, double epsilon=affine_epsilon) const
References agg::affine_epsilon, and is_equal().
◆ operator*()
◆ operator*=()
◆ operator/()
◆ operator/=()
208 {
210 }
const trans_affine & multiply_inv(const trans_affine &m)
Definition agg_trans_affine.h:386
References multiply_inv().
◆ operator==()
◆ operator~()
228 {
230 return ret.invert();
231 }
References invert().
◆ parl_to_parl()
◆ parl_to_rect()
| const trans_affine & agg::trans_affine::parl_to_rect |
( |
const double * |
parl, |
|
|
double |
x1, |
|
|
double |
y1, |
|
|
double |
x2, |
|
|
double |
y2 |
|
) |
| |
◆ premultiply()
380 {
382 return *this = t.multiply(*this);
383 }
References multiply().
◆ premultiply_inv()
395 {
397 t.invert();
398 return *this = t.multiply(*this);
399 }
References invert(), and multiply().
◆ rect_to_parl()
| const trans_affine & agg::trans_affine::rect_to_parl |
( |
double |
x1, |
|
|
double |
y1, |
|
|
double |
x2, |
|
|
double |
y2, |
|
|
const double * |
parl |
|
) |
| |
◆ reset()
◆ rotate()
336 {
339 double t0 =
sx * ca -
shy * sa;
340 double t2 =
shx * ca -
sy * sa;
341 double t4 =
tx * ca -
ty * sa;
348 return *this;
349 }
EIGEN_DEVICE_FUNC const CosReturnType cos() const
Definition ArrayCwiseUnaryOps.h:202
EIGEN_DEVICE_FUNC const SinReturnType sin() const
Definition ArrayCwiseUnaryOps.h:220
References cos(), shx, shy, sin(), sx, sy, tx, and ty.
◆ rotation()
| double agg::trans_affine::rotation |
( |
| ) |
const |
◆ scale() [1/3]
| double agg::trans_affine::scale |
( |
| ) |
const |
|
inline |
320 {
321 double x = 0.707106781 *
sx + 0.707106781 *
shx;
322 double y = 0.707106781 *
shy + 0.707106781 *
sy;
323 return sqrt(x*x + y*y);
324 }
EIGEN_DEVICE_FUNC const SqrtReturnType sqrt() const
Definition ArrayCwiseUnaryOps.h:152
References shx, shy, sqrt(), sx, and sy.
◆ scale() [2/3]
367 {
368 double m = s;
375 return *this;
376 }
References shx, shy, sx, sy, tx, and ty.
◆ scale() [3/3]
353 {
362 return *this;
363 }
References shx, shy, sx, sy, tx, and ty.
◆ scaling()
| void agg::trans_affine::scaling |
( |
double * |
x, |
|
|
double * |
y |
|
) |
| const |
◆ scaling_abs()
| void agg::trans_affine::scaling_abs |
( |
double * |
x, |
|
|
double * |
y |
|
) |
| const |
|
inline |
◆ store_to()
| void agg::trans_affine::store_to |
( |
double * |
m | ) |
const |
|
inline |
◆ transform()
| void agg::trans_affine::transform |
( |
double * |
x, |
|
|
double * |
y |
|
) |
| const |
|
inline |
◆ transform_2x2()
| void agg::trans_affine::transform_2x2 |
( |
double * |
x, |
|
|
double * |
y |
|
) |
| const |
|
inline |
◆ translate()
328 {
331 return *this;
332 }
References tx, and ty.
◆ translation()
| void agg::trans_affine::translation |
( |
double * |
dx, |
|
|
double * |
dy |
|
) |
| const |
◆ shx
| double agg::trans_affine::shx |
Referenced by determinant(), determinant_reciprocal(), inverse_transform(), load_from(), rotate(), scale(), scale(), scale(), scaling_abs(), store_to(), transform(), and transform_2x2().
◆ shy
| double agg::trans_affine::shy |
Referenced by determinant(), determinant_reciprocal(), inverse_transform(), load_from(), rotate(), scale(), scale(), scale(), scaling_abs(), store_to(), transform(), and transform_2x2().
◆ sx
| double agg::trans_affine::sx |
Referenced by determinant(), determinant_reciprocal(), inverse_transform(), load_from(), rotate(), scale(), scale(), scale(), scaling_abs(), store_to(), transform(), and transform_2x2().
◆ sy
| double agg::trans_affine::sy |
Referenced by determinant(), determinant_reciprocal(), inverse_transform(), load_from(), rotate(), scale(), scale(), scale(), scaling_abs(), store_to(), transform(), and transform_2x2().
◆ tx
| double agg::trans_affine::tx |
◆ ty
| double agg::trans_affine::ty |
The documentation for this struct was generated from the following file: