Android Open Source - min3d Uv 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 w  w .  ja v a  2 s  .co  m*/
import com.min3d.lib.vos.Uv;

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


public class UvBufferList 
{
  public static final int PROPERTIES_PER_ELEMENT = 2;
  public static final int BYTES_PER_PROPERTY = 4;

  private FloatBuffer _b;
  private int _numElements = 0;
  
  public UvBufferList(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 UvBufferList(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 Uv getAsUv(int $index)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT);
    return new Uv( _b.get(), _b.get() );
  }
  
  public void putInUv(int $index, Uv $uv)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT);
    $uv.u = _b.get();
    $uv.v = _b.get();
  }

  public float getPropertyU(int $index)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT);
    return _b.get();
  }
  public float getPropertyV(int $index)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT + 1);
    return _b.get();
  }
  
  //
  
  public void add(Uv $uv)
  {
    set( _numElements, $uv );
    _numElements++;
  }
  
  public void add(float $u, float $v)
  {
    set(_numElements, $u, $v);
    _numElements++;
  }
  
  public void set(int $index, Uv $uv)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT);
    _b.put($uv.u);
    _b.put($uv.v);
  }

  public void set(int $index, float $u, float $v)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT);
    _b.put($u);
    _b.put($v);
  }
  
  public void setPropertyU(int $index, float $u)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT);
    _b.put($u);
  }
  public void setPropertyV(int $index, float $v)
  {
    _b.position($index * PROPERTIES_PER_ELEMENT + 1);
    _b.put($v);
  }
  
  //
  
  public FloatBuffer buffer()
  {
    return _b;
  }
  
  public UvBufferList clone()
  {
    _b.position(0);
    UvBufferList c = new UvBufferList(_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