// Path: openCVTutorial1CameraPreview/src/main/java/min3d/vos/TextureVo.java
// public class TextureVo 
// {
// 	/**
// 	 * The texureId in the TextureManager that corresponds to an uploaded Bitmap
// 	 */
// 	public String textureId;
// 	
// 	/**
// 	 * Determines if U and V ("S" and "T" in OpenGL parlance) repeat, or are 'clamped'
// 	 * (Defaults to true, matching OpenGL's default setting)
// 	 */
// 	public boolean repeatU = true;
// 	public boolean repeatV = true;
// 
// 	/**
// 	 * The U/V offsets for the texture (rem, normal range of U and V are 0 to 1)
// 	 */
// 	public float offsetU = 0;
// 	public float offsetV = 0;
// 	
// 	/**
// 	 * A list of TexEnvVo's that define how texture is composited in the output.
// 	 * Normally contains just one element.
// 	 */
// 	public ArrayList<TexEnvxVo> textureEnvs;
// 
// 	//
// 	
// 	public TextureVo(String $textureId, ArrayList<TexEnvxVo> $textureEnvVo)
// 	{
// 		textureId = $textureId;
// 		textureEnvs = $textureEnvVo;
// 	}
// 	
// 	public TextureVo(String $textureId)
// 	{
// 		textureId = $textureId;
// 		textureEnvs = new ArrayList<TexEnvxVo>();
// 		textureEnvs.add( new TexEnvxVo());
// 	}
// }
// 
// Path: openCVTutorial1CameraPreview/src/main/java/aruco/min3d/Shared.java
// public class Shared 
// {
// 	private static Context _context;
// 	private static MyRenderer _renderer;
// 	private static TextureManager _textureManager;
// 
// 	
// 	public static Context context()
// 	{
// 		return _context;
// 	}
// 	public static void context(Context $c)
// 	{
// 		_context = $c;
// 	}
// 
// 	public static MyRenderer renderer()
// 	{
// 		return _renderer;
// 	}
// 	public static void renderer(MyRenderer $r)
// 	{
// 		_renderer = $r;
// 	}
// 	
// 	/**
// 	 * You must access the TextureManager instance through this accessor
// 	 */
// 	public static TextureManager textureManager()
// 	{
// 		return _textureManager;
// 	}
// 	public static void textureManager(TextureManager $bm)
// 	{
// 		_textureManager = $bm;
// 	}
// }


import java.util.ArrayList;
import min3d.vos.TextureVo;
import aruco.min3d.Shared;
package min3d.core;



/**
 * Manages a list of TextureVo's used by Object3d's.
 * This allows an Object3d to use multiple textures. 
 * 
 * If more textures are added than what's supported by the hardware  
 * running the application, the extra items are ignored by Renderer
 * 
 * Uses a subset of ArrayList's methods. 
 */
public class TextureList  
{
	private ArrayList<TextureVo> _t;
	
	
	public TextureList()
	{
		_t = new ArrayList<TextureVo>();
	}
	
	/**
	 * Adds item to the list 
	 */
	public boolean add(TextureVo $texture)
	{
// Path: openCVTutorial1CameraPreview/src/main/java/min3d/vos/TextureVo.java
// public class TextureVo 
// {
// 	/**
// 	 * The texureId in the TextureManager that corresponds to an uploaded Bitmap
// 	 */
// 	public String textureId;
// 	
// 	/**
// 	 * Determines if U and V ("S" and "T" in OpenGL parlance) repeat, or are 'clamped'
// 	 * (Defaults to true, matching OpenGL's default setting)
// 	 */
// 	public boolean repeatU = true;
// 	public boolean repeatV = true;
// 
// 	/**
// 	 * The U/V offsets for the texture (rem, normal range of U and V are 0 to 1)
// 	 */
// 	public float offsetU = 0;
// 	public float offsetV = 0;
// 	
// 	/**
// 	 * A list of TexEnvVo's that define how texture is composited in the output.
// 	 * Normally contains just one element.
// 	 */
// 	public ArrayList<TexEnvxVo> textureEnvs;
// 
// 	//
// 	
// 	public TextureVo(String $textureId, ArrayList<TexEnvxVo> $textureEnvVo)
// 	{
// 		textureId = $textureId;
// 		textureEnvs = $textureEnvVo;
// 	}
// 	
// 	public TextureVo(String $textureId)
// 	{
// 		textureId = $textureId;
// 		textureEnvs = new ArrayList<TexEnvxVo>();
// 		textureEnvs.add( new TexEnvxVo());
// 	}
// }
// 
// Path: openCVTutorial1CameraPreview/src/main/java/aruco/min3d/Shared.java
// public class Shared 
// {
// 	private static Context _context;
// 	private static MyRenderer _renderer;
// 	private static TextureManager _textureManager;
// 
// 	
// 	public static Context context()
// 	{
// 		return _context;
// 	}
// 	public static void context(Context $c)
// 	{
// 		_context = $c;
// 	}
// 
// 	public static MyRenderer renderer()
// 	{
// 		return _renderer;
// 	}
// 	public static void renderer(MyRenderer $r)
// 	{
// 		_renderer = $r;
// 	}
// 	
// 	/**
// 	 * You must access the TextureManager instance through this accessor
// 	 */
// 	public static TextureManager textureManager()
// 	{
// 		return _textureManager;
// 	}
// 	public static void textureManager(TextureManager $bm)
// 	{
// 		_textureManager = $bm;
// 	}
// }


// Path: openCVTutorial1CameraPreview/src/main/java/min3d/core/TextureList.java
import java.util.ArrayList;
import min3d.vos.TextureVo;
import aruco.min3d.Shared;

package min3d.core;



/**
 * Manages a list of TextureVo's used by Object3d's.
 * This allows an Object3d to use multiple textures. 
 * 
 * If more textures are added than what's supported by the hardware  
 * running the application, the extra items are ignored by Renderer
 * 
 * Uses a subset of ArrayList's methods. 
 */
public class TextureList  
{
	private ArrayList<TextureVo> _t;
	
	
	public TextureList()
	{
		_t = new ArrayList<TextureVo>();
	}
	
	/**
	 * Adds item to the list 
	 */
	public boolean add(TextureVo $texture)
	{
		if (! Shared.textureManager().contains($texture.textureId)) return false;