#ifndef __CAM_TOOL_H__
#define __CAM_TOOL_H__
/*
#undef EXTERN
#undef extern
#if !defined(D_StdGame_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif*/ /* D_StdGame_VariableDefine */
 
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
 
extern void CAM_fn_vSetResetInternalFlag(MS_tdxHandleToCineinfo,unsigned short *,unsigned short *,unsigned short *,long,long,unsigned short);
 
extern void			CAM_fn_vForceCameraPos(HIE_tdxHandleToSuperObject, MTH3D_tdstVector *);
extern void			CAM_fn_vForceCameraTgt(HIE_tdxHandleToSuperObject, MTH3D_tdstVector *, MTH3D_tdstVector *);
 
extern ACP_tdxBool					CAM_fn_bPersoIsMoving(CAM_tdstUpdateCamera *, MTH3D_tdstVector *);
extern ACP_tdxBool					CAM_fn_bPersoIsTurning(HIE_tdxHandleToSuperObject, MTH_tdxReal *);
extern ACP_tdxBool					CAM_fn_bPersoOnFace(HIE_tdxHandleToSuperObject, MTH3D_tdstVector *);
extern CPA_EXPORT HIE_tdxHandleToSuperObject	CAM_fn_hGetFather(HIE_tdxHandleToSuperObject);
 
extern void			CAM_fn_vComputeProjection(MTH3D_tdstVector *, MTH3D_tdstVector *, MTH3D_tdstVector *);
extern MTH_tdxReal	CAM_fn_xComputeRotation(MTH3D_tdstVector *, MTH3D_tdstVector *, MTH3D_tdstVector *);
extern ACP_tdxBool	CAM_fn_bEqualVectorWithEpsilon(MTH3D_tdstVector	*, MTH3D_tdstVector *, MTH_tdxReal);
extern ACP_tdxBool	CAM_fn_bPositionIsReached(HIE_tdxHandleToSuperObject, MTH3D_tdstVector *, MTH_tdxReal, MTH3D_tdstVector *);
extern void			CAM_fn_vComputeAnglesBetweenTwoVectors(MS_tdxHandleToInternalCineinfo, MTH3D_tdstVector *, MTH3D_tdstVector *, MTH_tdxReal *, MTH_tdxReal *, MTH3D_tdstVector *);
extern MTH_tdxReal	CAM_fn_xSetAngleInIntervalPiPi(MTH_tdxReal);
extern MTH_tdxReal	CAM_fn_xSetAngleInInterval02Pi(MTH_tdxReal);
 
extern void			CAM_fn_vGetPersoSightAxis(CAM_tdstUpdateCamera *, MTH3D_tdstVector *, MTH3D_tdstVector *);
 
extern void			CAM_fn_vInitCameraStructure(HIE_tdxHandleToSuperObject, CAM_tdstUpdateCamera *);
 
extern void			CAM_fn_vSendParametersToParsing(CAM_tdstUpdateCamera *);
 
extern void			Cam_fn_vComputeMovingOnRail(CAM_tdstUpdateCamera *, MTH3D_tdstVector *, MTH3D_tdstVector *, MTH3D_tdstVector *, MTH_tdxReal);
extern MTH_tdxReal  Cam_fn_xComputeProjectionRail(MTH3D_tdstVector *,MTH3D_tdstVector *,MTH3D_tdstVector *);			
 
extern CPA_EXPORT	void CAM_fn_vForceBestPosition(HIE_tdxHandleToSuperObject _hCamera);
 
#if defined(__cplusplus)
}
#endif /* __cplusplus */
 
#endif /* __CAM_TOOL_H__ */
