diff options
Diffstat (limited to 'graphics/java')
| -rw-r--r-- | graphics/java/android/renderscript/Matrix2f.java | 5 | ||||
| -rw-r--r-- | graphics/java/android/renderscript/Matrix3f.java | 9 | ||||
| -rw-r--r-- | graphics/java/android/renderscript/Matrix4f.java | 9 |
3 files changed, 23 insertions, 0 deletions
diff --git a/graphics/java/android/renderscript/Matrix2f.java b/graphics/java/android/renderscript/Matrix2f.java index a575ca9..99d23db 100644 --- a/graphics/java/android/renderscript/Matrix2f.java +++ b/graphics/java/android/renderscript/Matrix2f.java @@ -96,6 +96,11 @@ public class Matrix2f { tmp.loadScale(x, y); multiply(tmp); } + public void transpose() { + float temp = mMat[1]; + mMat[1] = mMat[2]; + mMat[2] = temp; + } final float[] mMat; } diff --git a/graphics/java/android/renderscript/Matrix3f.java b/graphics/java/android/renderscript/Matrix3f.java index d01ac68..961bc5d 100644 --- a/graphics/java/android/renderscript/Matrix3f.java +++ b/graphics/java/android/renderscript/Matrix3f.java @@ -165,6 +165,15 @@ public class Matrix3f { tmp.loadTranslate(x, y); multiply(tmp); } + public void transpose() { + for(int i = 0; i < 2; ++i) { + for(int j = i + 1; j < 3; ++j) { + float temp = mMat[i*3 + j]; + mMat[i*3 + j] = mMat[j*3 + i]; + mMat[j*3 + i] = temp; + } + } + } final float[] mMat; } diff --git a/graphics/java/android/renderscript/Matrix4f.java b/graphics/java/android/renderscript/Matrix4f.java index ebd5bde..e854cd9 100644 --- a/graphics/java/android/renderscript/Matrix4f.java +++ b/graphics/java/android/renderscript/Matrix4f.java @@ -179,6 +179,15 @@ public class Matrix4f { tmp.loadTranslate(x, y, z); multiply(tmp); } + public void transpose() { + for(int i = 0; i < 3; ++i) { + for(int j = i + 1; j < 4; ++j) { + float temp = mMat[i*4 + j]; + mMat[i*4 + j] = mMat[j*4 + i]; + mMat[j*4 + i] = temp; + } + } + } final float[] mMat; } |
