⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 glshape.java

📁 android 例子中的确良ApiDemos。很有代表意义
💻 JAVA
字号:
/* * Copyright (C) 2008 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package com.example.android.apis.graphics.kube;import java.nio.ShortBuffer;import java.util.ArrayList;import java.util.Iterator;public class GLShape {	public GLShape(GLWorld world) {		mWorld = world;	}		public void addFace(GLFace face) {		mFaceList.add(face);	}		public void setFaceColor(int face, GLColor color) {		mFaceList.get(face).setColor(color);	}				public void putIndices(ShortBuffer buffer) {		Iterator<GLFace> iter = mFaceList.iterator();		while (iter.hasNext()) {			GLFace face = iter.next();			face.putIndices(buffer);		}			}		public int getIndexCount() {		int count = 0;		Iterator<GLFace> iter = mFaceList.iterator();		while (iter.hasNext()) {			GLFace face = iter.next();			count += face.getIndexCount();		}				return count;	}	public GLVertex addVertex(float x, float y, float z) {				// look for an existing GLVertex first		Iterator<GLVertex> iter = mVertexList.iterator();		while (iter.hasNext()) {			GLVertex vertex = iter.next();			if (vertex.x == x && vertex.y == y && vertex.z == z) {				return vertex;			}		}				// doesn't exist, so create new vertex		GLVertex vertex = mWorld.addVertex(x, y, z);		mVertexList.add(vertex);		return vertex;	}	public void animateTransform(M4 transform) {		mAnimateTransform = transform;				if (mTransform != null)			transform = mTransform.multiply(transform);		Iterator<GLVertex> iter = mVertexList.iterator();		while (iter.hasNext()) {			GLVertex vertex = iter.next();			mWorld.transformVertex(vertex, transform);		}	}		public void startAnimation() {	}	public void endAnimation() {		if (mTransform == null) {			mTransform = new M4(mAnimateTransform);		} else {			mTransform = mTransform.multiply(mAnimateTransform);		}	}	public M4						mTransform;	public M4						mAnimateTransform;	protected ArrayList<GLFace>		mFaceList = new ArrayList<GLFace>();	protected ArrayList<GLVertex>	mVertexList = new ArrayList<GLVertex>();	protected ArrayList<Integer>	mIndexList = new ArrayList<Integer>();	// make more efficient?	protected GLWorld mWorld;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -