#include <cartotype_transform.h>
|
| AffineTransform (double aA, double aB, double aC, double aD, double aTx, double aTy) |
|
| AffineTransform (InputStream &aInput) |
|
void | Transform (double &aX, double &aY) const |
|
void | Transform (Point &aPoint) const |
|
void | Transform (PointFP &aPoint) const |
|
void | Transform (Rect &aRect) const |
|
void | Transform (RectFP &aRect) const |
|
void | Concat (const AffineTransform &aTransform) |
|
void | Prefix (const AffineTransform &aTransform) |
|
void | Scale (double aXScale, double aYScale) |
|
void | ExtractScale (double &aXScale, double &aYScale) |
|
void | Invert () |
|
void | Translate (double aX, double aY) |
|
void | Rotate (double aAngle) |
|
void | Rotate (double aX, double aY) |
|
void | ReflectY (double aY) |
|
double | A () const |
|
double | B () const |
|
double | C () const |
|
double | D () const |
|
double | Tx () const |
|
double | Ty () const |
|
PointFP | CenterOfRotation () const |
|
TransformComponents | Components () const |
|
AffineTransform | Interpolate (const AffineTransform &aOther, double aTime) |
|
bool | operator== (const AffineTransform &aTransform) const |
|
bool | operator!= (const AffineTransform &aTransform) const |
|
uint32_t | Type () const |
|
bool | IsIdentity () const |
|
void | Write (OutputStream &aOutput) const |
|
An affine 2D transformation.
◆ AffineTransform() [1/2]
CartoTypeCore::AffineTransform::AffineTransform |
( |
double |
aA, |
|
|
double |
aB, |
|
|
double |
aC, |
|
|
double |
aD, |
|
|
double |
aTx, |
|
|
double |
aTy |
|
) |
| |
Creates an affine 2D transform, specifying all 6 components.
◆ AffineTransform() [2/2]
CartoTypeCore::AffineTransform::AffineTransform |
( |
InputStream & |
aInput | ) |
|
|
explicit |
Reads this transform in serialized form by reading the six components A, B, C, D, Tx, Ty as double-precision floating point numbers. Throws an exception on failure.
◆ A()
double CartoTypeCore::AffineTransform::A |
( |
| ) |
const |
|
inline |
Return the A (x scale) parameter.
◆ B()
double CartoTypeCore::AffineTransform::B |
( |
| ) |
const |
|
inline |
Returns the B (y shear) parameter.
◆ C()
double CartoTypeCore::AffineTransform::C |
( |
| ) |
const |
|
inline |
Returns the C (x shear) parameter.
◆ CenterOfRotation()
PointFP CartoTypeCore::AffineTransform::CenterOfRotation |
( |
| ) |
const |
Returns the center of rotation of the projection.
◆ Components()
Returns the components of this transform.
◆ Concat()
void CartoTypeCore::AffineTransform::Concat |
( |
const AffineTransform & |
aTransform | ) |
|
Concatenates aTransform to this transform.
◆ D()
double CartoTypeCore::AffineTransform::D |
( |
| ) |
const |
|
inline |
Returns the D (y scale) parameter.
◆ ExtractScale()
void CartoTypeCore::AffineTransform::ExtractScale |
( |
double & |
aXScale, |
|
|
double & |
aYScale |
|
) |
| |
Removes the non-negative scale components from a transform and returns them in aXScale and aYScale. There is no unique way of doing this, but the method chosen here minimises shear and prefers to decompose into scale plus rotation.
◆ Interpolate()
Interpolate between two transformations, which are assumed to consist of translation, rotation and scale only; no shear.
◆ Invert()
void CartoTypeCore::AffineTransform::Invert |
( |
| ) |
|
Inverts a transform if it is invertible. If not, throws KErrorNoInverse.
◆ IsIdentity()
bool CartoTypeCore::AffineTransform::IsIdentity |
( |
| ) |
const |
|
inline |
Returns true if this is the identity transform.
◆ operator!=()
bool CartoTypeCore::AffineTransform::operator!= |
( |
const AffineTransform & |
aTransform | ) |
const |
|
inline |
◆ operator==()
bool CartoTypeCore::AffineTransform::operator== |
( |
const AffineTransform & |
aTransform | ) |
const |
◆ Prefix()
void CartoTypeCore::AffineTransform::Prefix |
( |
const AffineTransform & |
aTransform | ) |
|
Prefixes aTransform to this transform.
◆ ReflectY()
void CartoTypeCore::AffineTransform::ReflectY |
( |
double |
aY | ) |
|
|
inline |
Concatenates a reflection about the line y=aY to this transform.
◆ Rotate() [1/2]
void CartoTypeCore::AffineTransform::Rotate |
( |
double |
aAngle | ) |
|
Concatenates a rotation by aAngle radians to this transform.
◆ Rotate() [2/2]
void CartoTypeCore::AffineTransform::Rotate |
( |
double |
aX, |
|
|
double |
aY |
|
) |
| |
|
inline |
Concatenates the rotation defined by Atan2(aY,aX) to this transform.
◆ Scale()
void CartoTypeCore::AffineTransform::Scale |
( |
double |
aXScale, |
|
|
double |
aYScale |
|
) |
| |
Scales a transform by aXScale and aYScale. Does nothing if either XScale and YScale is 0, which creates a non-invertible matrix.
◆ Transform() [1/5]
void CartoTypeCore::AffineTransform::Transform |
( |
double & |
aX, |
|
|
double & |
aY |
|
) |
| const |
|
inline |
Transforms the point (aX,aY).
◆ Transform() [2/5]
void CartoTypeCore::AffineTransform::Transform |
( |
Point & |
aPoint | ) |
const |
◆ Transform() [3/5]
void CartoTypeCore::AffineTransform::Transform |
( |
PointFP & |
aPoint | ) |
const |
◆ Transform() [4/5]
void CartoTypeCore::AffineTransform::Transform |
( |
Rect & |
aRect | ) |
const |
Transform a grid-aligned rectangle. The result is the grid-aligned bounds of the transformed rectangle, so the operation cannot be reversed by the inverse transform.
◆ Transform() [5/5]
void CartoTypeCore::AffineTransform::Transform |
( |
RectFP & |
aRect | ) |
const |
Transform a grid-aligned rectangle. The result is the grid-aligned bounds of the transformed rectangle, so the operation cannot be reversed by the inverse transform.
◆ Translate()
void CartoTypeCore::AffineTransform::Translate |
( |
double |
aX, |
|
|
double |
aY |
|
) |
| |
|
inline |
Concatenates the translation (aX,aY) to this transform.
◆ Tx()
double CartoTypeCore::AffineTransform::Tx |
( |
| ) |
const |
|
inline |
Returns the TX (x translation) parameter.
◆ Ty()
double CartoTypeCore::AffineTransform::Ty |
( |
| ) |
const |
|
inline |
Returns the TY (y translation) parameter.
◆ Type()
uint32_t CartoTypeCore::AffineTransform::Type |
( |
| ) |
const |
Returns the type of this transform as a combination of bit flags defined in TransformType.
◆ Write()
void CartoTypeCore::AffineTransform::Write |
( |
OutputStream & |
aOutput | ) |
const |
Writes this transform in serialized form by writing the six components A, B, C, D, Tx, Ty as double-precision floating point numbers.
The documentation for this class was generated from the following files:
- cartotype_transform.h
- cartotype_transform.cpp