/*******************************************************************************************************************************************
///////////////////////////////////////       Class to  manage the profil time and stats of the scene   //////////////////////////////////////
**********************************************************************************************************************************************/

#ifndef __ZOOPROFILE_H__
#define __ZOOPROFILE_H__


#include	"ZooArray.h"
#include	"Mmsystem.h"		// for time computing


struct structProfile
{
	int			counter;
	int			counterTick;
	DWORD		baseTime;
	DWORD		baseTick;
	float		time[64];
	DWORD		tick[64];
};


class ZProfile
{
protected:


public:

	int							nbStats;

	vector<structProfile>		bench;

	ZProfile(int newNbStats);
	~ZProfile();


	void	BeginProfile(int nb);
	void	EndProfile(int nb);

	void	BeginProfileCYCLE(int nb);
	void	EndProfileCYCLE(int nb);

	void	AddProfile(int nb);
	void	AddProfileCYCLE(int nb);
	void	NextProfile(int nb);
	void	NextProfileCYCLE(int nb);
	void	InitProfile(int nb);
	void	InitProfileCYCLE(int nb);

	float	GetAverageTime(int nb);
	DWORD	GetAverageCYCLE(int nb);
};




float GetTimePassed(DWORD *lastTime);






















#endif