123 lines
3.5 KiB
C
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__*/
|