Class Index Cross Index Namespace Index

Class Gnome::Art::AffineTrans

Used by CanvasItem.
Contained in: Gnome::Art
Derived from: none
Derived by: none

#include <gtk--/affinetrans.h>


public function member index:

AffineTrans(gdouble scale = 1.0);
AffineTrans(gdouble aff[]);
AffineTrans(const AffineTrans& src);
Point apply_to(const Point& p) const;
gdouble expansion() const;
void flip(gboolean horiz, gboolean vert);
static AffineTrans identity();
void invert();
const gdouble* obj() const;
gdouble* obj();
gboolean operator !=(AffineTrans& other);
Point operator *(const Point& p) const;
AffineTrans operator *(const AffineTrans& aff2);
AffineTrans const& operator *=(AffineTrans& other);
AffineTrans& operator =(const AffineTrans& src);
gboolean operator ==(AffineTrans& other);
const gdouble& operator [](unsigned int idx) const;
gdouble& operator [](unsigned int idx);
gboolean rectilinear() const;
static AffineTrans rotation(gdouble theta);
static AffineTrans scaling(gdouble s);
static AffineTrans scaling(gdouble sx, gdouble sy);
static AffineTrans shearing(gdouble theta);
Gtk::string to_string() const;
static AffineTrans translation(gdouble dx, gdouble dy);
static AffineTrans translation(const Point& p);
~AffineTrans();
 

Description:



Function Member Descriptions:

Gnome::Art::AffineTrans::AffineTrans - Initialize the affine as unit matrix, with a scaling factor

AffineTrans(gdouble scale = 1.0);

Gnome::Art::AffineTrans::AffineTrans - aff[6]

AffineTrans(gdouble aff[]);

Gnome::Art::AffineTrans::apply_to - Apply the affine to a given point e.g. Point dst = affine.apply(Point(x,y)); is the same as: dst.x = x * affine[0] + y * affine[2] + affine[4]; dst.y = x * affine[1] + y * affine[3] + affine[5];

Point apply_to(const Point& p) const;

Gnome::Art::AffineTrans::expansion - Find the affine's "expansion factor", i.e. the scale amount

gdouble expansion() const;

Gnome::Art::AffineTrans::flip - Flip horizontally and/or vertically the affine

void flip(gboolean horiz, gboolean vert);

Gnome::Art::AffineTrans::identity - Set up the identity matrix

static AffineTrans identity();

Gnome::Art::AffineTrans::invert - Give the inverse of the affine

void invert();

Gnome::Art::AffineTrans::operator * - Apply the affine to a given point

Point operator *(const Point& p) const;

Gnome::Art::AffineTrans::operator * - Compose two affines

AffineTrans operator *(const AffineTrans& aff2);

Gnome::Art::AffineTrans::operator *= - Apply other affine to the affine

AffineTrans const& operator *=(AffineTrans& other);

Gnome::Art::AffineTrans::rectilinear - Determine whether the affine is rectilinear (rotates 0, 90, 180 or 270 degrees)

gboolean rectilinear() const;

Gnome::Art::AffineTrans::rotation - Set up a rotation matrix; theta is given in degrees

static AffineTrans rotation(gdouble theta);

Gnome::Art::AffineTrans::scaling - Set up a scaling matrix

static AffineTrans scaling(gdouble s);

Gnome::Art::AffineTrans::scaling - Set up a scaling matrix

static AffineTrans scaling(gdouble sx, gdouble sy);

Gnome::Art::AffineTrans::shearing - Set up a shearing matrix; theta given in degrees

static AffineTrans shearing(gdouble theta);

Gnome::Art::AffineTrans::translation - Set up a translation matrix

static AffineTrans translation(gdouble dx, gdouble dy);

Gnome::Art::AffineTrans::translation - Set up a translation matrix

static AffineTrans translation(const Point& p);


Variable Member Descriptions: