Android Open Source - 101AndroidApps Box From Project Back to project page 101AndroidApps .
License The source code is released under:
Licenced under the Creative Commons Attribution 4.0 licence. For full text see
http://creativecommons.org/licenses/by/4.0/
If you think the Android project 101AndroidApps listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.hulzenga.ioi.android.util.open_gl.geometry;
/ / w w w . j a v a 2 s . c o m
import com.hulzenga.ioi.android.util.open_gl.vector.Vec3;
import java.util.List;
public class Box extends Geometry {
//TODO add texture coordinates to Box
public Box(float x, float y, float z) {
List<Vec3> vertices = getVertices();
List<Vec3> normals = getNormals();
List<Vec3> textureCoordinates = getTextureCoordinates();
List<Short> indices = getIndices();
/*
* assign vertices and normals
*/
// front face
vertices.add(new Vec3(-x / 2, -y / 2, z / 2));
vertices.add(new Vec3(+x / 2, -y / 2, z / 2));
vertices.add(new Vec3(+x / 2, +y / 2, z / 2));
vertices.add(new Vec3(-x / 2, +y / 2, z / 2));
normals.add(new Vec3(0.0f, 0.0f, 1.0f));
normals.add(new Vec3(0.0f, 0.0f, 1.0f));
normals.add(new Vec3(0.0f, 0.0f, 1.0f));
normals.add(new Vec3(0.0f, 0.0f, 1.0f));
indices.add((short ) 0);
indices.add((short ) 1);
indices.add((short ) 2);
indices.add((short ) 2);
indices.add((short ) 3);
indices.add((short ) 0);
// left face
vertices.add(new Vec3(-x / 2, -y / 2, -z / 2));
vertices.add(new Vec3(-x / 2, -y / 2, +z / 2));
vertices.add(new Vec3(-x / 2, +y / 2, +z / 2));
vertices.add(new Vec3(-x / 2, +y / 2, -z / 2));
normals.add(new Vec3(-1.0f, 0.0f, 0.0f));
normals.add(new Vec3(-1.0f, 0.0f, 0.0f));
normals.add(new Vec3(-1.0f, 0.0f, 0.0f));
normals.add(new Vec3(-1.0f, 0.0f, 0.0f));
indices.add((short ) 4);
indices.add((short ) 5);
indices.add((short ) 6);
indices.add((short ) 6);
indices.add((short ) 7);
indices.add((short ) 4);
// right face
vertices.add(new Vec3(+x / 2, -y / 2, -z / 2));
vertices.add(new Vec3(+x / 2, -y / 2, +z / 2));
vertices.add(new Vec3(+x / 2, +y / 2, +z / 2));
vertices.add(new Vec3(+x / 2, +y / 2, -z / 2));
normals.add(new Vec3(1.0f, 0.0f, 0.0f));
normals.add(new Vec3(1.0f, 0.0f, 0.0f));
normals.add(new Vec3(1.0f, 0.0f, 0.0f));
normals.add(new Vec3(1.0f, 0.0f, 0.0f));
indices.add((short ) 10);
indices.add((short ) 9);
indices.add((short ) 8);
indices.add((short ) 8);
indices.add((short ) 11);
indices.add((short ) 10);
// back face
vertices.add(new Vec3(-x / 2, -y / 2, -z / 2));
vertices.add(new Vec3(+x / 2, -y / 2, -z / 2));
vertices.add(new Vec3(+x / 2, +y / 2, -z / 2));
vertices.add(new Vec3(-x / 2, +y / 2, -z / 2));
normals.add(new Vec3(0.0f, 0.0f, -1.0f));
normals.add(new Vec3(0.0f, 0.0f, -1.0f));
normals.add(new Vec3(0.0f, 0.0f, -1.0f));
normals.add(new Vec3(0.0f, 0.0f, -1.0f));
indices.add((short ) 14);
indices.add((short ) 13);
indices.add((short ) 12);
indices.add((short ) 15);
indices.add((short ) 14);
indices.add((short ) 12);
//top face
vertices.add(new Vec3(-x / 2, +y / 2, +z / 2));
vertices.add(new Vec3(+x / 2, +y / 2, +z / 2));
vertices.add(new Vec3(+x / 2, +y / 2, -z / 2));
vertices.add(new Vec3(-x / 2, +y / 2, -z / 2));
normals.add(new Vec3(0.0f, 1.0f, 0.0f));
normals.add(new Vec3(0.0f, 1.0f, 0.0f));
normals.add(new Vec3(0.0f, 1.0f, 0.0f));
normals.add(new Vec3(0.0f, 1.0f, 0.0f));
indices.add((short ) 16);
indices.add((short ) 17);
indices.add((short ) 18);
indices.add((short ) 16);
indices.add((short ) 18);
indices.add((short ) 19);
//bottom face
vertices.add(new Vec3(-x / 2, -y / 2, +z / 2));
vertices.add(new Vec3(+x / 2, -y / 2, +z / 2));
vertices.add(new Vec3(+x / 2, -y / 2, -z / 2));
vertices.add(new Vec3(-x / 2, -y / 2, -z / 2));
normals.add(new Vec3(0.0f, -1.0f, 0.0f));
normals.add(new Vec3(0.0f, -1.0f, 0.0f));
normals.add(new Vec3(0.0f, -1.0f, 0.0f));
normals.add(new Vec3(0.0f, -1.0f, 0.0f));
indices.add((short ) 20);
indices.add((short ) 22);
indices.add((short ) 21);
indices.add((short ) 20);
indices.add((short ) 23);
indices.add((short ) 22);
}
}
Java Source Code List com.hulzenga.ioi.android.AppActivity.java com.hulzenga.ioi.android.AppDetailsDialog.java com.hulzenga.ioi.android.App.java com.hulzenga.ioi.android.TableOfContentsActivity.java com.hulzenga.ioi.android.app_001.HelloWorldActivity.java com.hulzenga.ioi.android.app_002.Ball.java com.hulzenga.ioi.android.app_002.BouncyBallsActivity.java com.hulzenga.ioi.android.app_002.BouncyBallsView.java com.hulzenga.ioi.android.app_003.MonsterDatabaseActivity.java com.hulzenga.ioi.android.app_003.MonsterEditDialog.java com.hulzenga.ioi.android.app_003.MonsterGenerator.java com.hulzenga.ioi.android.app_003.MonsterListAdapter.java com.hulzenga.ioi.android.app_003.database.MonsterContract.java com.hulzenga.ioi.android.app_003.database.MonsterDatabaseHelper.java com.hulzenga.ioi.android.app_003.database.MonsterProvider.java com.hulzenga.ioi.android.app_004.BouncyBall3dActivity.java com.hulzenga.ioi.android.app_004.BouncyBall3dGLSurfaceView.java com.hulzenga.ioi.android.app_004.BouncyBall3dRenderer.java com.hulzenga.ioi.android.app_004.BouncyBallGame.java com.hulzenga.ioi.android.app_005.ElementActivity.java com.hulzenga.ioi.android.app_005.ElementAdapter.java com.hulzenga.ioi.android.app_005.ElementAnimator.java com.hulzenga.ioi.android.app_005.ElementSnakeView.java com.hulzenga.ioi.android.app_005.ElementView.java com.hulzenga.ioi.android.app_005.Element.java com.hulzenga.ioi.android.app_006.EmptyFragment.java com.hulzenga.ioi.android.app_006.ExposureFragment.java com.hulzenga.ioi.android.app_006.SettingChangeListener.java com.hulzenga.ioi.android.app_006.SettingIconFragment.java com.hulzenga.ioi.android.app_006.SettingMenuFragment.java com.hulzenga.ioi.android.app_006.SettingMenuLvl2Fragment.java com.hulzenga.ioi.android.app_006.Setting.java com.hulzenga.ioi.android.app_006.SimpleCameraActivity.java com.hulzenga.ioi.android.app_006.SimpleCameraPreview.java com.hulzenga.ioi.android.app_007.ButtonsFragment.java com.hulzenga.ioi.android.app_007.HighScores.java com.hulzenga.ioi.android.app_007.LinksFragment.java com.hulzenga.ioi.android.app_007.Menu.java com.hulzenga.ioi.android.app_007.Review.java com.hulzenga.ioi.android.app_007.Score.java com.hulzenga.ioi.android.app_007.StatusFragment.java com.hulzenga.ioi.android.app_007.WikiGameActivity.java com.hulzenga.ioi.android.app_007.Wiki.java com.hulzenga.ioi.android.app_008.OverheidActivity.java com.hulzenga.ioi.android.app_008.OverheidFeedAdapter.java com.hulzenga.ioi.android.app_008.OverheidFeedFragment.java com.hulzenga.ioi.android.app_008.OverheidFeedItem.java com.hulzenga.ioi.android.app_008.OverheidFeed.java com.hulzenga.ioi.android.app_008.OverheidPagerAdapter.java com.hulzenga.ioi.android.app_009.ThumbsUpActivity.java com.hulzenga.ioi.android.app_009.ThumbsUpServer.java com.hulzenga.ioi.android.app_009.ThumbsUpService.java com.hulzenga.ioi.android.app_010.CompassActivity.java com.hulzenga.ioi.android.app_010.CompassDetailsView.java com.hulzenga.ioi.android.app_010.CompassView.java com.hulzenga.ioi.android.util.Constrain.java com.hulzenga.ioi.android.util.DeveloperTools.java com.hulzenga.ioi.android.util.FileManager.java com.hulzenga.ioi.android.util.ScreenMetrics.java com.hulzenga.ioi.android.util.open_gl.ColorFunctionFactory.java com.hulzenga.ioi.android.util.open_gl.ColorFunction.java com.hulzenga.ioi.android.util.open_gl.ShaderTools.java com.hulzenga.ioi.android.util.open_gl.engine.NodeController.java com.hulzenga.ioi.android.util.open_gl.engine.SceneGraph.java com.hulzenga.ioi.android.util.open_gl.engine.SceneNode.java com.hulzenga.ioi.android.util.open_gl.geometry.Box.java com.hulzenga.ioi.android.util.open_gl.geometry.Cylinder.java com.hulzenga.ioi.android.util.open_gl.geometry.Geometry.java com.hulzenga.ioi.android.util.open_gl.geometry.Grid.java com.hulzenga.ioi.android.util.open_gl.geometry.Sphere.java com.hulzenga.ioi.android.util.open_gl.geometry.Transform.java com.hulzenga.ioi.android.util.open_gl.vector.Vec3.java com.hulzenga.ioi.android.util.open_gl.vector.Vec4.java fi.iki.elonen.NanoHTTPD.java