Android Open Source - 4est Vertex Buffer






From Project

Back to project page 4est.

License

The source code is released under:

MIT License

If you think the Android project 4est 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.wordsaretoys.rise.meshutil;
//from  w w  w . j  a  v  a2s . c om
/**
 * growable floating-point buffer
 * 
 * @namespace rise
 * @class VertexBuffer
 */

public class VertexBuffer {

  public float[] data;
  public int length;
  
  final static private float LN2 = (float)Math.log(2);
  private int limit;
  
  public VertexBuffer() {
    data = new float[16];
    length = 0;
  }
  
  /**
   * grow the vertex buffer if necessary
   * @param n number of floats to grow by
   */
  private void grow(int n) {
    int newSize = length + n;
    if (newSize > limit) {
      // find smallest power of 2 greater than newSize
      limit = (int) Math.pow(2, Math.ceil(Math.log(newSize) / LN2));
      float[] newBuffer = new float[limit];
      System.arraycopy(data, 0, newBuffer, 0, length);
      data = newBuffer;
    }
  }
  
  /**
   * reset the mesh for use with a new data set
   */
  public void reset() {
    length = 0;
  }
  
  /**
   * add values to the float buffer
   * @param x0...xn values to add
   */
  
  public void set(float x0) {
    grow(1);
    data[length++] = x0;
  }

  public void set(float x0, float x1) {
    grow(2);
    data[length++] = x0;
    data[length++] = x1;
  }
  
  public void set(float x0, float x1, float x2) {
    grow(3);
    data[length++] = x0;
    data[length++] = x1;
    data[length++] = x2;
  }

  public void set(float x0, float x1, float x2, float x3) {
    grow(4);
    data[length++] = x0;
    data[length++] = x1;
    data[length++] = x2;
    data[length++] = x3;
  }
  
  public void set(float x0, float x1, float x2, float x3, float x4) {
    grow(5);
    data[length++] = x0;
    data[length++] = x1;
    data[length++] = x2;
    data[length++] = x3;
    data[length++] = x4;
  }

  public void set(float x0, float x1, float x2, float x3, float x4, float x5) {
    grow(6);
    data[length++] = x0;
    data[length++] = x1;
    data[length++] = x2;
    data[length++] = x3;
    data[length++] = x4;
    data[length++] = x5;
  }

  public void set(float x0, float x1, float x2, float x3, float x4, float x5, float x6) {
    grow(7);
    data[length++] = x0;
    data[length++] = x1;
    data[length++] = x2;
    data[length++] = x3;
    data[length++] = x4;
    data[length++] = x5;
    data[length++] = x6;
  }
}




Java Source Code List

com.wordsaretoys.forest.Audio.java
com.wordsaretoys.forest.Debris.java
com.wordsaretoys.forest.Game.java
com.wordsaretoys.forest.GlView.java
com.wordsaretoys.forest.MainActivity.java
com.wordsaretoys.forest.Map.java
com.wordsaretoys.forest.Player.java
com.wordsaretoys.forest.Render.java
com.wordsaretoys.forest.Rotors.java
com.wordsaretoys.forest.Shared.java
com.wordsaretoys.forest.Skybox.java
com.wordsaretoys.rise.geometry.Camera.java
com.wordsaretoys.rise.geometry.Geom.java
com.wordsaretoys.rise.geometry.Mote.java
com.wordsaretoys.rise.geometry.Ortho.java
com.wordsaretoys.rise.geometry.Quaternion.java
com.wordsaretoys.rise.geometry.Vector.java
com.wordsaretoys.rise.glwrapper.Mesh.java
com.wordsaretoys.rise.glwrapper.Shader.java
com.wordsaretoys.rise.glwrapper.Texture.java
com.wordsaretoys.rise.meshutil.HeightMapper.java
com.wordsaretoys.rise.meshutil.IndexBuffer.java
com.wordsaretoys.rise.meshutil.SurfaceMapper.java
com.wordsaretoys.rise.meshutil.VertexBuffer.java
com.wordsaretoys.rise.meshutil.Vindexer.java
com.wordsaretoys.rise.pattern.Bitmap.java
com.wordsaretoys.rise.pattern.F2FSumMap.java
com.wordsaretoys.rise.pattern.I2FCutMap.java
com.wordsaretoys.rise.pattern.I2FMap.java
com.wordsaretoys.rise.pattern.I2IMap.java
com.wordsaretoys.rise.pattern.Pattern.java
com.wordsaretoys.rise.pattern.Ring.java
com.wordsaretoys.rise.utility.Asset.java
com.wordsaretoys.rise.utility.Board.java
com.wordsaretoys.rise.utility.Dbg.java
com.wordsaretoys.rise.utility.Interval.java
com.wordsaretoys.rise.utility.Misc.java
com.wordsaretoys.rise.utility.Needle.java