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