Public Member Functions | Public Attributes | Related Functions | List of all members
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]

Related Functions

(Note that these are not member functions.)

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 ( )

Create identity matrix.

References a.

Referenced by inverse().

◆ Linear() [2/4]

Linear::Linear ( Angle  angle)

Create matrix representing a rotation by angle.

References a.

◆ Linear() [3/4]

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

Create linear matrix with given coefficients.

References a.

◆ Linear() [4/4]

Linear::Linear ( String  str)

Parse string.

References a.

Member Function Documentation

◆ inverse()

Linear Linear::inverse ( ) const

Return inverse.

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

Referenced by ipe::Arc::bbox(), and ipe::Painter::untransform().

◆ isIdentity()

bool ipe::Linear::isIdentity ( ) const

Is this the identity matrix?

References a.

◆ operator*()

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

◆ operator==()

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

Check for equality of two linear matrices.

References a.

◆ determinant()

double ipe::Linear::determinant ( ) const

Return determinant of a linear matrix.

References a.

Referenced by inverse().

Friends And Related Function Documentation

◆ operator<<()

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

◆ operator*() [1/2]

Vector operator* ( const Vector rhs) const

Linear matrix times vector.

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

◆ operator*() [2/2]

Linear operator* ( const Linear lhs,
const Linear rhs 

Linear matrix multiplication.

References a.

Member Data Documentation

◆ a

double ipe::Linear::a[4]

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