22#ifndef KIG_MISC_KIGTRANSFORM_H
23#define KIG_MISC_KIGTRANSFORM_H
25#include "coordinate.h"
45 Transformation(
double data[3][3],
bool ishomothety );
53 const Coordinate apply(
const double x0,
const double x1,
const double x2 )
const;
61 bool isAffine()
const;
62 double getProjectiveIndicator(
const Coordinate& c )
const;
63 double getAffineDeterminant()
const;
64 double getRotationAngle()
const;
74 double apply(
double length )
const;
75 double data(
int r,
int c )
const;
80 const Transformation
inverse(
bool& valid )
const;
129 const std::vector<Coordinate>& FromPoints,
130 const std::vector<Coordinate>& ToPoints,
137 const std::vector<Coordinate>& FromPoints,
138 const std::vector<Coordinate>& ToPoints,
160 const Coordinate& center,
double theta,
double factor );
166 friend const Transformation
operator*(
const Transformation& a,
const Transformation& b );
171 friend bool operator==(
const Transformation& lhs,
const Transformation& rhs );
The Coordinate class is the basic class representing a 2D location by its x and y components.
Definition coordinate.h:34
Simple class representing a line.
Definition common.h:60