#ifndef _HAIR_H_
#define _HAIR_H_

//mandatory include
#include "Mesh.h"
//additional include's
//#include ..

class Model
{
private:
	Mesh* mesh;
	bool groundTruth, useShortcutEdges;
	const char *name;
	const char *path;
	const char *outDir; // added by Asli Genctav
	int maxLevel, nInitialSamples;
	float rFactor;
	float* color;
	void loadObj(const char* meshFile);
	void loadObj2(char* meshFile);
	void loadObj3(const char* meshFile); // added by Asli Genctav
	void loadOff(const char *meshFile); // added by Asli Genctav
public:
	Model(const char* nam, const char* pat, bool shortcutEdges, bool grd, int maxC2Flevel, int f1to1, float rFactorArg) : 
		name(nam), path(pat), useShortcutEdges(shortcutEdges), groundTruth(grd), maxLevel(maxC2Flevel), nInitialSamples(f1to1), rFactor(rFactorArg) {};
	//virtual ~Model() {};

	virtual void init();
	virtual Mesh* getMesh();
};

#endif
