/*=========================================================================
*
* Borders.h	- Borders & Frontier management
*
* Version			1.0
* Revision date
*
*=======================================================================*/
#ifndef __BORDER_H__
#define __BORDER_H__



//--- Includes --------------------------------------------------------

#include "MTH.h"

#include "geoobj.h"
#include "sprobj.h"

//---------------------------------------------------------------------

#ifdef _WINDOWS
/********************************************************/
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus 
/********************************************************/
#endif //_WINDOWS


//--- Functions --------------------------------------------------------

// hierarchy
extern void MLT_vEraseBorderInHierarchy	(MLT_tdxHandleToSuperObject hSprObj, char *sParam);
// build fronteer
extern void MLT_vMakeGoThroughInLib		(MLT_tdxHandleToSuperObject hSprObj);
// compute border
extern void MLT_vComputeAbsoluteBorder			(MLT_tdxHandleToSuperObject hSprObj, char *sSector);
extern void MLT_vComputeAbsoluteValuesOfBorder	(MLT_tdxHandleToSuperObject hSprObj, int i, char *sSector);
// border informations
extern void MLT_vInformSectorHasBorder	(MLT_tdxHandleToSuperObject hRoot, char *sSectorDest, char *sSectorOrg);
extern void MLT_vPointedSectorOfBorder	(MLT_tdstGeometricObject *p_stObj, char *sNameSector);
// minmax
extern void MLT_vComputeMinMaxPointOfBorder		(MLT_tdstGeometricObject *p_stObj, MTH3D_tdstVector *p_stMin, MTH3D_tdstVector *p_stMax);
extern void MLT_vComputeMinMaxPointWithMatrix	(MLT_tdstGeometricObject *p_stObj, MTH3D_tdstVector *p_stMin, MTH3D_tdstVector *p_stMax, MLT_tdstMatrix *p_stMatrix);
// name
extern void MLT_vSplitSectionInformation (char p, char *p_sSection, char *p_sFirst, char *p_sTemp);
// surface
extern void MLT_vAddSurfaceToSector		(MLT_tdxHandleToSuperObject hRoot, char *sSprObj, char *sSector, char *sDirSave);
extern BOOL MLT_bAttachSurfaceToSector	(MLT_tdxHandleToSuperObject hRoot, MLT_tdxHandleToSuperObject hSprObj, char *sDirSave);
extern void MLT_vComputeAltitudeSrf		(MLT_tdstMatrix *p_stMat, char *sSurface);



#ifdef _WINDOWS
/********************************************************/
#ifdef __cplusplus
}
#endif // __cplusplus 
/********************************************************/
#endif //_WINDOWS

#endif // __LEVEL_H__ 
