/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DESCRIPTION : ~~~~~~~~~~~ THIS IS AN EXAMPLE OF ACP HEADER FILES For a given file .h, all occurences of the string HEADERNAME must be replaced with the string . For a given module, all occurences of the string MODULETAG must be replaced with the CPA tag of the module (GLI, MTH ...) . You must do : #define MODULETAG_GLOBALS in one (and only one) .c file of your Module. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ /* To avoid unnecessary includes : */ #ifndef __GEO_FMD_H #define __GEO_FMD_H #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /* For DLLs who are using this module : */ #undef CPA_EXPORT #if defined(CPA_WANTS_IMPORT) #define CPA_EXPORT __declspec(dllimport) #elif defined(CPA_WANTS_EXPORT) #define CPA_EXPORT __declspec(dllexport) #else #define CPA_EXPORT #endif /* For Global declaration in C files : */ #ifdef GEO_GLOBALS #define __GEO_EXTERN extern #else /* !GEO_GLOBALS */ #define __GEO_EXTERN #endif /* !GEO_GLOBALS */ /* ----------------------------------------------------------------------------- INCLUDES FILES : Include here any other header files of your module you need ! Ex : Note : Do Not include header files from other Modules (do this in C files only) ----------------------------------------------------------------------------- */ #include "ErrGEO.h" #include "MmgGEO.h" /* ----------------------------------------------------------------------------- CONSTANT DECLARATION: Ex : #define MODULETAG_C_LMAX 100 ----------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------- TYPES DEFINITION : Declare here any type you need, and constant you need to do this : Ex : typedef struct MODULETAG_tdstToto_ { long aLMAX_lBuffer[MODULETAG_C_LMAX]; ... } MODULETAG_tdst_Toto ; ----------------------------------------------------------------------------- */ typedef float GLI_tdxUVValue ; typedef struct ACP_tdst2DUVValues_ { GLI_tdxUVValue xU; GLI_tdxUVValue xV; } ACP_tdst2DUVValues ; typedef struct GEO_tdstFaceMapDescriptor_ { ACP_tdst2DUVValues stUVValues[3]; GMT_tdxHandleToGameMaterial hMaterial; } GEO_tdstFaceMapDescriptor ; /* ----------------------------------------------------------------------------- GLOBAL VARIABLE DECLARATION : Ex : __MODULETAG_EXTERN #ifdef MODULETAG_GLOBALS = #endif ; ----------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------- PUBLIC FUNCTIONS DECLARATION: Ex : extern CPA_EXPORT void MODULETAG_fn_vMyPublicFunction(void); Note : Public functions declaration must be done in PUBLIC HEADER files (.h) in your Inc directory ----------------------------------------------------------------------------- */ extern CPA_EXPORT void GEO_xCreateFaceMapDescriptor ( ACP_tdxHandleOfFMD *hFmd ) ; extern CPA_EXPORT void GEO_xSetFaceMapDescriptorUV ( ACP_tdxHandleOfFMD hFmd , ACP_tdst2DUVValues *p_stUVA, ACP_tdst2DUVValues *p_stUVB, ACP_tdst2DUVValues *p_stUVC) ; extern CPA_EXPORT void GEO_xGetFaceMapDescriptorUV ( ACP_tdxHandleOfFMD hFmd , ACP_tdst2DUVValues *p_stUVA, ACP_tdst2DUVValues *p_stUVB, ACP_tdst2DUVValues *p_stUVC) ; extern CPA_EXPORT void GEO_xSetFaceMapDescriptorGameMaterial ( ACP_tdxHandleOfFMD hFmd , GMT_tdxHandleToGameMaterial hMaterial); extern CPA_EXPORT void GEO_xGetFaceMapDescriptorGameMaterial ( ACP_tdxHandleOfFMD hFmd , GMT_tdxHandleToGameMaterial *p_hMaterial); extern CPA_EXPORT void GEO_xSetFaceMapDescriptorMaterial ( ACP_tdxHandleOfFMD hFmd , ACP_tdxHandleOfMaterial hMaterial); extern CPA_EXPORT void GEO_xGetFaceMapDescriptorMaterial ( ACP_tdxHandleOfFMD hFmd , ACP_tdxHandleOfMaterial *p_hMaterial); /* ----------------------------------------------------------------------------- PRIVATE FUNCTIONS DECLARATION: Ex : extern void MODULETAG_fn_vMyPrivateFunction(void); Note : Private functions MUST appear ONLY in PRIVATE HEADER files (.h) in your Src directory with source files (.c) ----------------------------------------------------------------------------- */ #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* __GEO_FMD_H */