Android Open Source - min3d Number3d Buffer List






From Project

Back to project page min3d.

License

The source code is released under:

MIT License

If you think the Android project min3d 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.min3d.lib.core;
//from  w ww.java  2  s .c  o  m
import com.min3d.lib.vos.Number3d;

import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;

public class Number3dBufferList
{
  public static final int PROPERTIES_PER_ELEMENT = 3;
  public static final int BYTES_PER_PROPERTY = 4;

  private FloatBuffer _b;
  private int _numElements = 0;
  
  public Number3dBufferList(FloatBuffer $b, int $size)
  {
    ByteBuffer bb = ByteBuffer.allocateDirect($b.limit() * BYTES_PER_PROPERTY); 
    bb.order(ByteOrder.nativeOrder());
    _b = bb.asFloatBuffer();
    _b.put($b);
    _numElements = $size;
  }
  
  public Number3dBufferList(int $maxElements)
  {
    int numBytes = $maxElements * PROPERTIES_PER_ELEMENT * BYTES_PER_PROPERTY;
    ByteBuffer bb = ByteBuffer.allocateDirect(numBytes); 
    bb.order(ByteOrder.nativeOrder());
    
    _b  = bb.asFloatBuffer();
  }
  
  /**
   * The number of items in the list. 
   */
  public int size()
  {
    return _numElements;
  }
  
  /**
   * The _maximum_ number of items that the list can hold, as defined on instantiation.
   * (Not to be confused with the Buffer's capacity)
   */
  public int capacity()
  {
    return _b.capacity() / PROPERTIES_PER_ELEMENT;
  }
  
  /**
   * Clear object in preparation for garbage collection
   */
  public void clear()
  {
    _b.clear();
  }
  
  //
  
  public Number3d getAsNumber3d(int $index)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT);
    return new Number3d( _b.get(), _b.get(), _b.get() );
  }
  
  public void putInNumber3d(int $index, Number3d $number3d)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT);
    $number3d.x = _b.get();
    $number3d.y = _b.get();
    $number3d.z = _b.get();
  }
  
  public float getPropertyX(int $index)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT);
    return _b.get();
  }
  public float getPropertyY(int $index)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT + 1);
    return _b.get();
  }
  public float getPropertyZ(int $index)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT + 2);
    return _b.get();
  }
  
  //
  
  public void add(Number3d $n)
  {
    set( _numElements, $n );
    _numElements++;
  }
  
  public void add(float $x, float $y, float $z)
  {
    set( _numElements, $x,$y,$z );
    _numElements++;
  }
  
  public void set(int $index, Number3d $n)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT);
    _b.put($n.x);
    _b.put($n.y);
    _b.put($n.z);
  }

  public void set(int $index, float $x, float $y, float $z)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT);
    _b.put($x);
    _b.put($y);
    _b.put($z);
  }
  
  public void setPropertyX(int $index, float $x)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT);
    _b.put($x);
  }
  public void setPropertyY(int $index, float $y)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT + 1);
    _b.put($y);
  }
  public void setPropertyZ(int $index, float $z)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT + 2);
    _b.put($z);
  }
  
  //
  
  public FloatBuffer buffer()
  {
    return _b;
  }
  
  public void overwrite(float[] $newVals)
  {
    _b.position(0);
    _b.put($newVals);
  }
  
  public Number3dBufferList clone()
  {
    _b.position(0);
    Number3dBufferList c = new Number3dBufferList(_b, size());
    return c;
  }
}




Java Source Code List

com.min3d.ApplicationTest.java
com.min3d.ExampleAccelerometer.java
com.min3d.ExampleAnimatedTexture.java
com.min3d.ExampleAnimatingVertices.java
com.min3d.ExampleAssigningTexturesDynamically.java
com.min3d.ExampleCamera.java
com.min3d.ExampleFog.java
com.min3d.ExampleFromScratch.java
com.min3d.ExampleInsideLayout.java
com.min3d.ExampleKeyframeAnimation.java
com.min3d.ExampleLightProperties.java
com.min3d.ExampleLoad3DSFile.java
com.min3d.ExampleLoadMD2File.java
com.min3d.ExampleLoadObjFileMultiple.java
com.min3d.ExampleLoadObjFile.java
com.min3d.ExampleMipMap.java
com.min3d.ExampleMostMinimal.java
com.min3d.ExampleMultiTexture.java
com.min3d.ExampleMultipleLights.java
com.min3d.ExampleRenderType.java
com.min3d.ExampleRotatingPlanets.java
com.min3d.ExampleSubsetOfFaces.java
com.min3d.ExampleTextureOffset.java
com.min3d.ExampleTextureWrap.java
com.min3d.ExampleTextures.java
com.min3d.ExampleTransparentGlSurface.java
com.min3d.ExampleVertexColors.java
com.min3d.ExampleVerticesVariations.java
com.min3d.ScratchActivity.java
com.min3d.SplashActivity.java
com.min3d.lib.AParser.java
com.min3d.lib.ApplicationTest.java
com.min3d.lib.IParser.java
com.min3d.lib.LittleEndianDataInputStream.java
com.min3d.lib.MD2Parser.java
com.min3d.lib.Max3DSParser.java
com.min3d.lib.Min3d.java
com.min3d.lib.ObjParser.java
com.min3d.lib.ParseObjectData.java
com.min3d.lib.ParseObjectFace.java
com.min3d.lib.Parser.java
com.min3d.lib.Shared.java
com.min3d.lib.Utils.java
com.min3d.lib.animation.AnimationObject3d.java
com.min3d.lib.animation.KeyFrame.java
com.min3d.lib.core.Color4BufferList.java
com.min3d.lib.core.FacesBufferedList.java
com.min3d.lib.core.ManagedLightList.java
com.min3d.lib.core.Number3dBufferList.java
com.min3d.lib.core.Object3dContainer.java
com.min3d.lib.core.Object3d.java
com.min3d.lib.core.RenderCaps.java
com.min3d.lib.core.RendererActivity.java
com.min3d.lib.core.Renderer.java
com.min3d.lib.core.Scene.java
com.min3d.lib.core.TextureList.java
com.min3d.lib.core.TextureManager.java
com.min3d.lib.core.UvBufferList.java
com.min3d.lib.core.Vertices.java
com.min3d.lib.interfaces.IDirtyManaged.java
com.min3d.lib.interfaces.IDirtyParent.java
com.min3d.lib.interfaces.IObject3dContainer.java
com.min3d.lib.interfaces.ISceneController.java
com.min3d.lib.objectPrimitives.Box.java
com.min3d.lib.objectPrimitives.HollowCylinder.java
com.min3d.lib.objectPrimitives.Rectangle.java
com.min3d.lib.objectPrimitives.SkyBox.java
com.min3d.lib.objectPrimitives.Sphere.java
com.min3d.lib.objectPrimitives.Torus.java
com.min3d.lib.vos.AbstractDirtyManaged.java
com.min3d.lib.vos.BooleanManaged.java
com.min3d.lib.vos.CameraVo.java
com.min3d.lib.vos.Color4Managed.java
com.min3d.lib.vos.Color4.java
com.min3d.lib.vos.Face.java
com.min3d.lib.vos.FloatManaged.java
com.min3d.lib.vos.FogType.java
com.min3d.lib.vos.FrustumManaged.java
com.min3d.lib.vos.LightType.java
com.min3d.lib.vos.Light.java
com.min3d.lib.vos.Number3dManaged.java
com.min3d.lib.vos.Number3d.java
com.min3d.lib.vos.RenderType.java
com.min3d.lib.vos.ShadeModelManaged.java
com.min3d.lib.vos.ShadeModel.java
com.min3d.lib.vos.TexEnvxVo.java
com.min3d.lib.vos.TextureVo.java
com.min3d.lib.vos.Uv.java
com.min3d.lib.vos.Vertex3d.java