/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DESCRIPTION : ~~~~~~~~~~~ THIS IS THE POSITION STRUCTURE HEADER FILE 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. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ /* (c) Ubi R&D 1996*/ /* See Alain Robin for any comment or question*/ #ifndef __POSPUBST_H__ #define __POSPUBST_H__ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /* For DLLs who are using this module : */ #include "CPA_expt.h" /* For Global declaration in C files : */ #ifdef POS_GLOBALS #define __POS_EXTERN extern #else /* !POS_GLOBALS */ #define __POS_EXTERN #endif /* !POS_GLOBALS */ /* ----------------------------------------------------------------------------- INCLUDES FILES : Include here any other header files of your module you need ! Ex : //#include "toto.h" Note : Do Not include header files from other Modules (do this in C files only) ----------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------- CONSTANT DECLARATION: Ex : #define MODULETAG_C_LMAX 100 ----------------------------------------------------------------------------- */ #define POS_C_ulIdentityMatrixFlag 1 #define POS_C_ulTranslationMatrixFlag 2 #define POS_C_ulRotationMatrixFlag 3 /*#define POS_C_ulZoomMatrixFlag 4*/ #define POS_C_ulCompleteMatrixFlag 4 /* ----------------------------------------------------------------------------- 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 ; ----------------------------------------------------------------------------- */ /* Complete position for PC platform*/ typedef struct POS_stCompletePosition { unsigned long ulType; /* long to align*/ MTH3D_tdstVector stTranslationVector; MTH3D_tdstMatrix stRotationMatrix; MTH3D_tdstMatrix stTransformMatrix; } POS_tdstCompletePosition; typedef struct POS_stCompletePosition * POS_tdxHandleToPosition ; /* ----------------------------------------------------------------------------- GLOBAL VARIABLE DECLARATION : Ex : __MODULETAG_EXTERN #ifdef MODULETAG_GLOBALS = #endif ; ----------------------------------------------------------------------------- */ /*extern const POS_tdstCompletePosition POS_g_c_stIdentityMatrix;*/ /* ----------------------------------------------------------------------------- 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 ----------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------- 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 /* __POSPUBST__*/