//*******************************************************************
//
// File: Tools_BotanicalCreation_BotanicalStateTable.h
//
// Created: 30 Nov 2006
//
// Description: 
//
//*******************************************************************

#ifndef _TOOLS_BOTANICALCREATION_BOTANICALSTATETABLE_H_
#define _TOOLS_BOTANICALCREATION_BOTANICALSTATETABLE_H_

#if defined( ASURA_BOTANICAL_SUPPORT_STATES) && 1 == ASURA_BOTANICAL_SUPPORT_STATES

// other libraries
#include "Core/Asura_LinkList.h"

// internal dependencies

// forward declarations

//*******************************************************************
// Constants
//*******************************************************************


//*******************************************************************
// Class Definitions
//*******************************************************************

class Tools_Botanical_StateTable1D_Section_VersionRange
{
public:
	Tools_Botanical_StateTable1D_Section_VersionRange();
	~Tools_Botanical_StateTable1D_Section_VersionRange();
	
	Asura_String m_xTargetVersion;
	
	float			  m_fRangeStart;
	float			  m_fRangeEnd;

	u_int			  m_uProjectFlags;

	bool			  m_bCollisionUseBoundingBox;
	Asura_String	  m_xCollisionMeshName;		
	Asura_Hash_ID	  m_xCollisionMeshHash;		
	float			  m_fCollisionMeshDensity;			

};

class Tools_Botanical_StateTable1D_Section
{
public:
	Tools_Botanical_StateTable1D_Section();
	~Tools_Botanical_StateTable1D_Section();
	
	Asura_String m_xTargetSection;
	
	Asura_LinkList< Tools_Botanical_StateTable1D_Section_VersionRange> m_xList_xVersionRanges;
};

class Tools_Botanical_StateTable1D
{
public:

	Tools_Botanical_StateTable1D();
	~Tools_Botanical_StateTable1D();
	
	Asura_String m_xSourceState;
	
	Asura_LinkList< Tools_Botanical_StateTable1D_Section> m_xList_xSection;
};


//*******************************************************************
// Inline Function Definitions
//*******************************************************************


//*******************************************************************
//
// (c) 2006 Rebellion
//
// Warning: This computer program is protected by copyright law and 
// international treaties. Unauthorized reproduction or distribution
// of this program, or any portion of it, may result in severe civil and
// criminal penalties, and will be prosecuted to the maximum extent 
// possible under the law.
//
//*******************************************************************

#endif // ASURA_BOTANICAL_SUPPORT_STATES

#endif // _TOOLS_BOTANICALCREATION_BOTANICALSTATETABLE_H_
