#include "cpa_std.h"
#include "SCR.h"
#include "linktab.h"
 
 
SCR_tdst_Link_Table stLinkTableOfGeometric;
SCR_tdst_Link_Table stLinkTableOfElementIndexedTriangle;
SCR_tdst_Link_Table stLinkTableOfElementTMeshe;
SCR_tdst_Link_Table stLinkTableOfElementFaceMapDescriptor;
SCR_tdst_Link_Table stLinkTableOfElementSprite;
SCR_tdst_Link_Table stLinkTableOfElementLine;
SCR_tdst_Link_Table stLinkTableOfElementSphere;
SCR_tdst_Link_Table stLinkTableOfElementAlignedBoxe;
SCR_tdst_Link_Table stLinkTableOfElementPoint;
SCR_tdst_Link_Table stLinkTableOfElementCone;
SCR_tdst_Link_Table stLinkTableOfFaceMapDescriptor;
SCR_tdst_Link_Table stLinkTableOfSprite;
SCR_tdst_Link_Table stLinkTableOfTexture;
SCR_tdst_Link_Table stLinkTableOfVisualMaterial;
SCR_tdst_Link_Table stLinkTableOfFrontierElement;
SCR_tdst_Link_Table stLinkTableOfTextureSection;
 
SCR_tdst_Link_Table *GLI_p_stGetLinkTableOfGeometric()
{
  return &stLinkTableOfGeometric;
}
SCR_tdst_Link_Table *GLI_p_stGetLinkTableOfElementIndexedTriangle()
{
  return &stLinkTableOfElementIndexedTriangle;
}
SCR_tdst_Link_Table *GLI_p_stGetLinkTableOfElementTMeshe()
{
  return &stLinkTableOfElementTMeshe;
}
SCR_tdst_Link_Table *GLI_p_stGetLinkTableOfElementFaceMapDescriptor()
{
  return &stLinkTableOfElementFaceMapDescriptor;
}
SCR_tdst_Link_Table *GLI_p_stGetLinkTableOfElementSprite()
{
  return &stLinkTableOfElementSprite;
}
SCR_tdst_Link_Table *GLI_p_stGetLinkTableOfElementLine()
{
  return &stLinkTableOfElementLine;
}
SCR_tdst_Link_Table *GLI_p_stGetLinkTableOfElementSphere()
{
  return &stLinkTableOfElementSphere;
}
SCR_tdst_Link_Table *GLI_p_stGetLinkTableOfElementAlignedBoxe()
{
  return &stLinkTableOfElementAlignedBoxe;
}
SCR_tdst_Link_Table *GLI_p_stGetLinkTableOfElementPoint()
{
  return &stLinkTableOfElementPoint;
}
SCR_tdst_Link_Table *GLI_p_stGetLinkTableOfElementCone()
{
  return &stLinkTableOfElementCone;
}
SCR_tdst_Link_Table *GLI_p_stGetLinkTableOfFaceMapDescriptor()
{
  return &stLinkTableOfFaceMapDescriptor;
}
SCR_tdst_Link_Table *GLI_p_stGetLinkTableOfSprite()
{
  return &stLinkTableOfSprite;
}
SCR_tdst_Link_Table *GLI_p_stGetLinkTableOfTexture()
{
  return &stLinkTableOfTexture;
}
SCR_tdst_Link_Table *GLI_p_stGetLinkTableOfVisualMaterial()
{
  return &stLinkTableOfVisualMaterial;
}
SCR_tdst_Link_Table *GLI_p_stGetLinkTableOfFrontierElement()
{
  return &stLinkTableOfFrontierElement;
}
SCR_tdst_Link_Table *GLI_p_stGetLinkTableOfTextureSection()
{
  return &stLinkTableOfTextureSection;
}
 
 
void GLI_vInitLinkTableOfGeometric()
{
  SCR_fn_v_Link_InitTable(&stLinkTableOfTextureSection);
  SCR_fn_v_Link_InitTable(&stLinkTableOfGeometric);
  SCR_fn_v_Link_InitTable(&stLinkTableOfElementIndexedTriangle);
  SCR_fn_v_Link_InitTable(&stLinkTableOfElementTMeshe);
  SCR_fn_v_Link_InitTable(&stLinkTableOfElementFaceMapDescriptor);
  SCR_fn_v_Link_InitTable(&stLinkTableOfElementSprite);
  SCR_fn_v_Link_InitTable(&stLinkTableOfElementLine);
  SCR_fn_v_Link_InitTable(&stLinkTableOfElementSphere);
  SCR_fn_v_Link_InitTable(&stLinkTableOfElementAlignedBoxe);
  SCR_fn_v_Link_InitTable(&stLinkTableOfElementPoint);
  SCR_fn_v_Link_InitTable(&stLinkTableOfElementCone);
  SCR_fn_v_Link_InitTable(&stLinkTableOfFaceMapDescriptor);
  SCR_fn_v_Link_InitTable(&stLinkTableOfSprite);
  SCR_fn_v_Link_InitTable(&stLinkTableOfTexture);
  SCR_fn_v_Link_InitTable(&stLinkTableOfVisualMaterial);
  SCR_fn_v_Link_InitTable(&stLinkTableOfFrontierElement);
}
 
void GLI_vCloseLinkTableOfGeometric()
{
  SCR_fn_v_Link_CloseTable(&stLinkTableOfTextureSection);
  SCR_fn_v_Link_CloseTable(&stLinkTableOfGeometric);
  SCR_fn_v_Link_CloseTable(&stLinkTableOfElementIndexedTriangle);
  SCR_fn_v_Link_CloseTable(&stLinkTableOfElementTMeshe);
  SCR_fn_v_Link_CloseTable(&stLinkTableOfElementFaceMapDescriptor);
  SCR_fn_v_Link_CloseTable(&stLinkTableOfElementSprite);
  SCR_fn_v_Link_CloseTable(&stLinkTableOfElementLine);
  SCR_fn_v_Link_CloseTable(&stLinkTableOfElementSphere);
  SCR_fn_v_Link_CloseTable(&stLinkTableOfElementAlignedBoxe);
  SCR_fn_v_Link_CloseTable(&stLinkTableOfElementPoint);
  SCR_fn_v_Link_CloseTable(&stLinkTableOfElementCone);
  SCR_fn_v_Link_CloseTable(&stLinkTableOfFaceMapDescriptor);
  SCR_fn_v_Link_CloseTable(&stLinkTableOfSprite);
  SCR_fn_v_Link_CloseTable(&stLinkTableOfTexture);
  SCR_fn_v_Link_CloseTable(&stLinkTableOfVisualMaterial);
  SCR_fn_v_Link_CloseTable(&stLinkTableOfFrontierElement);
}
 
void GLI_vSetValueInLinkTableOfGeometric( char *_p_szKey,unsigned long _ulValue)
{
  SCR_fnp_st_Link_SetValue(&stLinkTableOfGeometric,_p_szKey,_ulValue); 
}
 
unsigned long GLI_ulSearchKeyInLinkTableOfGeometric( char *_p_szKey)
{
  return SCR_M_ul_Link_GetValue(SCR_fnp_st_Link_SearchKey(&stLinkTableOfGeometric,_p_szKey)); 
}
 
char * GLI_p_cSearchValueInLinkTableOfGeometric( unsigned long _ulValue)
{ 
  return SCR_M_p_sz_Link_GetKey(SCR_fnp_st_Link_SearchValue(&stLinkTableOfGeometric,_ulValue));
}
