#ifndef _COLLISIO_H_
#define _COLLISIO_H_
 
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
 
#include "GAM/Header.h"
 
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
 
#define C_ucZdmTypePied       0
#define C_ucZdmTypeTronc      1
#define C_ucZdmTypetete       2
 
#define C_lCompleteCollision        0xFFFFFFFF
#define C_lHandsCollisionIsOn       1
#define C_lFixedCollisionIsOn       2
#define C_lTruncCollisionIsOn       4
#define C_lFeetCollisionIsOn        8
#define C_lHeadCollisionIsOn        16
 
 
extern CPA_EXPORT long COL_lHaveITakeSThgIntoTheMug (DNM_tdstMecObstacle           _p_stResultObstacle [] ,
                                                     HIE_tdxHandleToSuperObject _p_stSupObj,
	                                                 POS_tdstCompletePosition * _p_stStartPosition,
	                                                 POS_tdstCompletePosition * _p_stEndPosition);
 
extern CPA_EXPORT void COL_fn_vNewStaticCollisionForCharacter (HIE_tdxHandleToSuperObject _hCharacter,
                                                               HIE_tdxHandleToSuperObject _hSector,
                                                               POS_tdstCompletePosition * _p_stStartMatrix,
                                                               POS_tdstCompletePosition * _p_stEndMatrix);
 
extern CPA_EXPORT void COL_fn_vStaticCollisionWithPartOfTreeForSector (HIE_tdxHandleToSuperObject _p_stEngineObj,
                                                                       HIE_tdxHandleToSuperObject _p_stSuperObj,
                                                                       GEO_tdstGeometricObject * _p_stDynamicGeoColl,
                                                                       POS_tdstCompletePosition * _p_stStartMatrix,
                                                                       POS_tdstCompletePosition * _p_stEndMatrix);
 
/* This function find the triangles of the super object containing the given point*/
/* and fill an array with the normals of these triangles (two triangles maximum)*/
extern CPA_EXPORT long COL_fn_lFindNormal (HIE_tdxHandleToSuperObject _hSuperObject,
                                           MTH3D_tdstVector *         _p_stPoint,
                                           MTH3D_tdstVector *         _p_a2_stNormal);
 
#if defined(__cplusplus)
}
#endif /* __cplusplus */
 
#endif
