reman3/Rayman_X/cpa/public/POS/PosPubSt.h

123 lines
3.5 KiB
C

/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DESCRIPTION :
~~~~~~~~~~~
THIS IS THE POSITION STRUCTURE HEADER FILE
For a given file <HeaderName>.h, all occurences of the string HEADERNAME
must be replaced with the string <HeaderName>.
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 <type> <variable name>
#ifdef MODULETAG_GLOBALS
= <initial values>
#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__*/