Ipelib
ipe::Linear Class Reference

#include <ipegeo.h>

Public Member Functions

 Linear ()
 Linear (Angle angle)
 Linear (double m11, double m21, double m12, double m22)
 Linear (String str)
Linear inverse () const
bool isIdentity () const
Vector operator* (const Vector &rhs) const
bool operator== (const Linear &rhs) const
double determinant () const

Public Attributes

double a [4]

(Note that these are not member symbols.)

Streamoperator<< (Stream &stream, const Linear &rhs)
Vector operator* (const Vector &rhs) const
Linear operator* (const Linear &lhs, const Linear &rhs)

Detailed Description

Linear transformation in the plane (2x2 matrix).

Constructor & Destructor Documentation

◆ Linear() [1/4]

ipe::Linear::Linear ( )
inline

Create identity matrix.

References a.

Referenced by inverse(), operator*(), operator*(), operator<<(), and operator==().

◆ Linear() [2/4]

Linear::Linear ( Angle angle)
explicit

Create matrix representing a rotation by angle.

References a.

◆ Linear() [3/4]

ipe::Linear::Linear ( double m11,
double m21,
double m12,
double m22 )
inlineexplicit

Create linear matrix with given coefficients.

References a.

◆ Linear() [4/4]

Linear::Linear ( String str)
explicit

Parse string.

References a.

Member Function Documentation

◆ inverse()

Linear Linear::inverse ( ) const

Return inverse.

References a, determinant(), and Linear().

Referenced by ipe::Painter::untransform().

◆ isIdentity()

bool ipe::Linear::isIdentity ( ) const
inline

Is this the identity matrix?

References a.

◆ operator*()

Vector ipe::Linear::operator* ( const Vector & rhs) const
inline

References Linear().

◆ operator==()

bool ipe::Linear::operator== ( const Linear & rhs) const
inline

Check for equality of two linear matrices.

References a, and Linear().

◆ determinant()

double ipe::Linear::determinant ( ) const
inline

Return determinant of a linear matrix.

References a.

Referenced by inverse().

◆ operator<<()

Stream & operator<< ( Stream & stream,
const Linear & rhs )
related

References Linear().

◆ operator*() [1/2]

Vector operator* ( const Vector & rhs) const
related

Linear matrix times vector.

References a, ipe::Vector::x, and ipe::Vector::y.

◆ operator*() [2/2]

Linear operator* ( const Linear & lhs,
const Linear & rhs )
related

Linear matrix multiplication.

References a, and Linear().

Member Data Documentation

◆ a


The documentation for this class was generated from the following files: