// Path: src/main/java/com/github/worldsender/mcanm/client/renderer/ITesselator.java
// public interface ITesselator {
// 
// 	void setTextureUV(double u, double v);
// 
// 	void setNormal(float x, float y, float z);
// 
// 	void addVertex(double x, double y, double z);
// }


import javax.vecmath.Point2f;
import javax.vecmath.Point4f;
import javax.vecmath.Tuple2f;
import javax.vecmath.Tuple3f;
import javax.vecmath.Tuple4f;
import javax.vecmath.Vector3f;
import javax.vecmath.Vector4f;
import com.github.worldsender.mcanm.client.renderer.ITesselator;
import net.minecraft.client.renderer.Tessellator;

package com.github.worldsender.mcanm.client.mcanmmodel.parts;




public class Vertex {

	private Point4f pos;
	private Vector3f norm;
	private Point2f uv;

	public Vertex(Tuple4f pos, Tuple3f norm, Tuple2f uv) {
		this.pos = new Point4f(pos);
		this.norm = new Vector3f(norm);
		this.uv = new Point2f(uv);
	}

	public Vertex(Vertex copyFrom) {
		this.pos = new Point4f(copyFrom.pos);
		this.norm = new Vector3f(copyFrom.norm);
		this.uv = new Point2f(copyFrom.uv);
	}

	/**
	 * Uses the {@link Tessellator} to draw the model. Take care that the Tessellator is already drawing.
	 */

// Path: src/main/java/com/github/worldsender/mcanm/client/renderer/ITesselator.java
// public interface ITesselator {
// 
// 	void setTextureUV(double u, double v);
// 
// 	void setNormal(float x, float y, float z);
// 
// 	void addVertex(double x, double y, double z);
// }


// Path: src/main/java/com/github/worldsender/mcanm/client/mcanmmodel/parts/Vertex.java
import javax.vecmath.Point2f;
import javax.vecmath.Point4f;
import javax.vecmath.Tuple2f;
import javax.vecmath.Tuple3f;
import javax.vecmath.Tuple4f;
import javax.vecmath.Vector3f;
import javax.vecmath.Vector4f;
import com.github.worldsender.mcanm.client.renderer.ITesselator;
import net.minecraft.client.renderer.Tessellator;

package com.github.worldsender.mcanm.client.mcanmmodel.parts;




public class Vertex {

	private Point4f pos;
	private Vector3f norm;
	private Point2f uv;

	public Vertex(Tuple4f pos, Tuple3f norm, Tuple2f uv) {
		this.pos = new Point4f(pos);
		this.norm = new Vector3f(norm);
		this.uv = new Point2f(uv);
	}

	public Vertex(Vertex copyFrom) {
		this.pos = new Point4f(copyFrom.pos);
		this.norm = new Vector3f(copyFrom.norm);
		this.uv = new Point2f(copyFrom.uv);
	}

	/**
	 * Uses the {@link Tessellator} to draw the model. Take care that the Tessellator is already drawing.
	 */

	public void render(ITesselator renderer) {
