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.  java2  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