1c383a500aa59423264811be3874461bf8adbfea0Zonr Chang/*
2c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * Copyright (C) 2011 The Android Open Source Project
3c383a500aa59423264811be3874461bf8adbfea0Zonr Chang *
4c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * Licensed under the Apache License, Version 2.0 (the "License");
5c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * you may not use this file except in compliance with the License.
6c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * You may obtain a copy of the License at
7c383a500aa59423264811be3874461bf8adbfea0Zonr Chang *
8c383a500aa59423264811be3874461bf8adbfea0Zonr Chang *      http://www.apache.org/licenses/LICENSE-2.0
9c383a500aa59423264811be3874461bf8adbfea0Zonr Chang *
10c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * Unless required by applicable law or agreed to in writing, software
11c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * distributed under the License is distributed on an "AS IS" BASIS,
12c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * See the License for the specific language governing permissions and
14c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * limitations under the License.
15c383a500aa59423264811be3874461bf8adbfea0Zonr Chang */
16c383a500aa59423264811be3874461bf8adbfea0Zonr Chang
176315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonrpackage com.android.scenegraph;
186315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr
19462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liaoimport java.lang.Math;
209ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liaoimport java.util.ArrayList;
219ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
229ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liaoimport com.android.scenegraph.SceneManager;
239ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
24a41ce1d98094da84643995d40d71c529905123fcZonr Changimport android.renderscript.Allocation;
25a41ce1d98094da84643995d40d71c529905123fcZonr Changimport android.renderscript.Element;
266315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonrimport android.renderscript.Matrix4f;
276315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonrimport android.renderscript.ProgramFragment;
286315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonrimport android.renderscript.ProgramStore;
296315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonrimport android.renderscript.ProgramVertex;
306315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonrimport android.renderscript.RSRuntimeException;
316315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonrimport android.renderscript.RenderScript;
326315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonrimport android.renderscript.RenderScriptGL;
33a41ce1d98094da84643995d40d71c529905123fcZonr Changimport android.util.Log;
34a41ce1d98094da84643995d40d71c529905123fcZonr Chang
359ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao/**
362e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang * @hide
379ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao */
382e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Changpublic abstract class SceneGraphBase {
399ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    String mName;
402e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang    Allocation mNameAlloc;
412e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang    public void setName(String n) {
429ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        mName = n;
432e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang        mNameAlloc = null;
442e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang    }
452e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang
462e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang    public String getName() {
472e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang        return mName;
480da0a7dc51c25943fe31d0bfccbdfee326a3199cZonr Chang    }
490da0a7dc51c25943fe31d0bfccbdfee326a3199cZonr Chang
502e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang    Allocation getNameAlloc(RenderScriptGL rs) {
512e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang        if (mNameAlloc == null)  {
52462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao            mNameAlloc = SceneManager.getStringAsAllocation(rs, getName());
53462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao        }
546315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr        return mNameAlloc;
559ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    }
56462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao}
57462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao
58462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao
596315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr
60462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao
61a41ce1d98094da84643995d40d71c529905123fcZonr Chang
629ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao