Matrix3f.java revision 25430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4e
125430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams/* 225430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * Copyright (C) 2009 The Android Open Source Project 325430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * 425430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * Licensed under the Apache License, Version 2.0 (the "License"); 525430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * you may not use this file except in compliance with the License. 625430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * You may obtain a copy of the License at 725430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * 825430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * http://www.apache.org/licenses/LICENSE-2.0 925430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * 1025430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * Unless required by applicable law or agreed to in writing, software 1125430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * distributed under the License is distributed on an "AS IS" BASIS, 1225430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1325430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * See the License for the specific language governing permissions and 1425430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * limitations under the License. 1525430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams */ 1625430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 1725430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Samspackage android.renderscript; 1825430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 1925430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Samsimport java.lang.Math; 2025430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Samsimport android.util.Log; 2125430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 2225430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 2325430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams/** 2425430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * @hide 2525430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * 2625430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams **/ 2725430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Samspublic class Matrix3f { 2825430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 2925430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams public Matrix3f() { 3025430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams mMat = new float[9]; 3125430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams loadIdentity(); 3225430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams } 3325430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 3425430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams public float get(int i, int j) { 3525430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams return mMat[i*3 + j]; 3625430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams } 3725430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 3825430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams public void set(int i, int j, float v) { 3925430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams mMat[i*3 + j] = v; 4025430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams } 4125430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 4225430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams public void loadIdentity() { 4325430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams mMat[0] = 1; 4425430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams mMat[1] = 0; 4525430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams mMat[2] = 0; 4625430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 4725430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams mMat[3] = 0; 4825430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams mMat[4] = 1; 4925430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams mMat[5] = 0; 5025430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 5125430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams mMat[6] = 0; 5225430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams mMat[7] = 0; 5325430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams mMat[8] = 1; 5425430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams } 5525430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 5625430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams public void load(Matrix3f src) { 5725430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams System.arraycopy(mMat, 0, src, 0, 9); 5825430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams } 5925430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 6025430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams final float[] mMat; 6125430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams} 6225430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 6325430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 64