From c8598d51fe71ce77d466c02b6fa264617be9335b Mon Sep 17 00:00:00 2001 From: adam Date: Mon, 19 Apr 2004 20:48:03 +0000 Subject: [PATCH] added Affine.premultiply() darcs-hash:20040419204803-5007d-966c5f959384553bfa0f91d6a6589c641634b7a8.gz --- src/org/ibex/graphics/Affine.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/org/ibex/graphics/Affine.java b/src/org/ibex/graphics/Affine.java index 31e2e2b..1b47071 100644 --- a/src/org/ibex/graphics/Affine.java +++ b/src/org/ibex/graphics/Affine.java @@ -48,6 +48,18 @@ public final class Affine { return this; } + /** this = a * this */ + public Affine premultiply(Affine A) { + float _a = A.a * this.a + A.b * this.c; + float _b = A.a * this.b + A.b * this.d; + float _c = A.c * this.a + A.d * this.c; + float _d = A.c * this.b + A.d * this.d; + float _e = A.e * this.a + A.f * this.c + this.e; + float _f = A.e * this.b + A.f * this.d + this.f; + a = _a; b = _b; c = _c; d = _d; e = _e; f = _f; + return this; + } + public void invert() { float det = 1 / (a * d - b * c); float _a = d * det; -- 1.7.10.4