a transformation which stored the first row of a 3x3 perspective matrix More...
#include <libmwaw_internal.hxx>
Public Member Functions | |
MWAWTransformation (MWAWVec3f const &xRow=MWAWVec3f(1, 0, 0), MWAWVec3f const &yRow=MWAWVec3f(0, 1, 0)) | |
constructor More... | |
bool | isIdentity () const |
returns true if the matrix is an identity matrix More... | |
void | checkIdentity () const |
check if a matrix is the identity matrix More... | |
MWAWVec3f const & | operator[] (int c) const |
the two extremum points which defined the box More... | |
MWAWVec2f | operator* (MWAWVec2f const &pt) const |
operator* for vec2f More... | |
MWAWVec2f | multiplyDirection (MWAWVec2f const &dir) const |
operator* for direction More... | |
MWAWBox2f | operator* (MWAWBox2f const &box) const |
operator* for box2f More... | |
MWAWTransformation | operator* (MWAWTransformation const &mat) const |
operator* for transform More... | |
MWAWTransformation & | operator*= (MWAWTransformation const &mat) |
operator*= More... | |
bool | operator== (MWAWTransformation const &mat) const |
operator== More... | |
bool | operator!= (MWAWTransformation const &mat) const |
operator!= More... | |
bool | operator< (MWAWTransformation const &mat) const |
operator< More... | |
bool | operator<= (MWAWTransformation const &mat) const |
operator<= More... | |
bool | operator> (MWAWTransformation const &mat) const |
operator> More... | |
bool | operator>= (MWAWTransformation const &mat) const |
operator>= More... | |
bool | decompose (float &rotation, MWAWVec2f &shearing, MWAWTransformation &transform, MWAWVec2f const ¢er) const |
try to decompose the matrix in a rotation + scaling/translation matrix. More... | |
Static Public Member Functions | |
static MWAWTransformation | translation (MWAWVec2f const &trans) |
returns a translation transformation More... | |
static MWAWTransformation | scale (MWAWVec2f const &trans) |
returns a scaling transformation More... | |
static MWAWTransformation | rotation (float angle, MWAWVec2f const ¢er=MWAWVec2f(0, 0)) |
returns a rotation transformation around center. More... | |
static MWAWTransformation | shear (MWAWVec2f s, MWAWVec2f const ¢er=MWAWVec2f(0, 0)) |
returns a shear transformation letting center invariant, ie. More... | |
Protected Attributes | |
std::pair< MWAWVec3f, MWAWVec3f > | m_data |
the data More... | |
bool | m_isIdentity |
flag to know if this matrix is an identity matrix More... | |
a transformation which stored the first row of a 3x3 perspective matrix
|
inlineexplicit |
constructor
Referenced by rotation(), scale(), shear(), and translation().
|
inline |
check if a matrix is the identity matrix
Referenced by MWAWTransformation(), and operator*().
bool MWAWTransformation::decompose | ( | float & | rotation, |
MWAWVec2f & | shearing, | ||
MWAWTransformation & | transform, | ||
MWAWVec2f const & | center | ||
) | const |
try to decompose the matrix in a rotation + scaling/translation matrix.
Note: the center of rotation is given before applying the transformation(this)
Referenced by CricketDrawParser::send(), CricketDrawParser::sendBitmap(), and MWAWGraphicShape::transform().
|
inline |
returns true if the matrix is an identity matrix
Referenced by FreeHandParser::decomposeMatrix(), and MWAWGraphicShape::transform().
operator* for direction
Referenced by operator*().
|
inline |
operator!=
|
inline |
operator* for transform
|
inline |
operator*=
|
inline |
operator<
|
inline |
operator<=
|
inline |
operator==
|
inline |
operator>
|
inline |
operator>=
|
inline |
the two extremum points which defined the box
c | 0 means the minimum and 1 the maximum |
|
static |
returns a rotation transformation around center.
Referenced by decompose(), FreeHandParser::decomposeMatrix(), and CricketDrawParserInternal::Shape::getTransformation().
|
inlinestatic |
returns a scaling transformation
Referenced by FreeHandParser::checkHeader().
|
inlinestatic |
returns a shear transformation letting center invariant, ie.
a matrix ( 1 s[0] -s[0]*center[1], s[1] 1 -s[1]*center[0], 0 0 1)
Referenced by decompose().
|
inlinestatic |
returns a translation transformation
Referenced by FreeHandParser::checkHeader(), CricketDrawParserInternal::Shape::getTransformation(), and CricketDrawParser::sendAll().
the data
Referenced by checkIdentity(), multiplyDirection(), operator!=(), operator*(), operator<(), operator<=(), operator==(), operator>(), operator>=(), and operator[]().
|
mutableprotected |
flag to know if this matrix is an identity matrix
Referenced by checkIdentity(), decompose(), isIdentity(), multiplyDirection(), operator*(), and operator*=().