#pragma once
#include "../../stdafx.h"
#include "../glLibTexturing/glLibTexturing.h"
#include "glLibObject.h"

class glLibObjectPlane : public glLibObject {
	public:
	private:
	public:
		glLibObjectPlane(float size, float normal[], glLibTexture2D* texture, float uv_tile=1.0, float uv_delta=0.0);
		glLibObjectPlane(float size, float normal[], glLibTexture2D* texture, float uv_tile, float uv_delta[]);
		glLibObjectPlane(float size, float normal[], glLibTexture2D* texture, float uv_tile[], float uv_delta=0.0);
		glLibObjectPlane(float size, float normal[], glLibTexture2D* texture, float uv_tile[], float uv_delta[]);
		glLibObjectPlane(float size, float normal[], bool texturing=false, float uv_tile=1.0, float uv_delta=0.0);
		glLibObjectPlane(float size, float normal[], bool texturing, float uv_tile, float uv_delta[]);
		glLibObjectPlane(float size, float normal[], bool texturing, float uv_tile[], float uv_delta=0.0);
		glLibObjectPlane(float size, float normal[], bool texturing, float uv_tile[], float uv_delta[]);
		glLibObjectPlane(float size[], float normal[], glLibTexture2D* texture, float uv_tile=1.0, float uv_delta=0.0);
		glLibObjectPlane(float size[], float normal[], glLibTexture2D* texture, float uv_tile, float uv_delta[]);
		glLibObjectPlane(float size[], float normal[], glLibTexture2D* texture, float uv_tile[], float uv_delta=0.0);
		glLibObjectPlane(float size[], float normal[], glLibTexture2D* texture, float uv_tile[], float uv_delta[]);
		glLibObjectPlane(float size[], float normal[], bool texturing=false, float uv_tile=1.0, float uv_delta=0.0);
		glLibObjectPlane(float size[], float normal[], bool texturing, float uv_tile, float uv_delta[]);
		glLibObjectPlane(float size[], float normal[], bool texturing, float uv_tile[], float uv_delta=0.0);
		glLibObjectPlane(float size[], float normal[], bool texturing, float uv_tile[], float uv_delta[]);
	private:
		void glLibInternal_make(float size[], float normal[], bool texturing, glLibTexture2D* texture, float uv_tile[], float uv_delta[]);
};