#ifndef TRIANGLE_H
#define TRIANGLE_H

#include "vector.h"

class Triangle
{
public:
	Triangle();
	Triangle(const Vector& _v1, const Vector& _v2, const Vector& _v3);
	Triangle(const Triangle& src);
	void draw();
	void textureDraw();
	void setColor(Vector col);
	void standardize(void);
	void translate(Vector tvec);
	void print(void);

	// Assignment operator for Triangles
	Triangle& operator= (const Triangle& src);

	Vector normal;
	Vector color;

	// Array of vertices
	Vector* verts;

	// Standardized vertices
	Vector* sverts;

	// Transform matrix from normal to standardized triangle
	float tmatrix[16];
};

#endif // TRIANGLE_H