reman3/Rayman_X/cpa/public/ISI/ISI_Ext.h

201 lines
9.8 KiB
C

/*ISI_Ext.h*/
#ifndef __ISI_EXT
#define __ISI_EXT
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* For DLL using these function :*/
#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
#include "GLI\GLI_Defn.h"/*pour ISI_tdstColor*/
#include "IPO\IPOHandl.h"/*pour IPO_tdxHandleToInstanciatedPhysicalObject*/
/*Prototypes*/
/* ##-###########################
## Creating / Deleting
############################## */
/* ##F===================================================================================
NAME : ISI_vInitLoad
DESCRIPTION : Function to initialise the script loading
=========================================================================================
LAST MODIFICATIONS : 20/11/97 David Fournier : New commentary form.
=======================================================================================*/
extern CPA_EXPORT void ISI_vInitLoad(void);
/* ##F===================================================================================
NAME : ISI_fn_hCreateISILOD
DESCRIPTION : Create an ISI level of detail.
INPUT : _hISI = Handle to ISI.
_xNumISILOD = Level of detail number.
_xNbRLI = Number of RLI.
OUTPUT : Return table of RLI.
=========================================================================================
LAST MODIFICATIONS : 20/11/97 David Fournier : New commentary form.
=======================================================================================*/
extern CPA_EXPORT ISI_tdstColor *ISI_fn_hCreateISILOD(ACP_tdxHandleToRadiosity _hISI
,ACP_tdxIndex _xNumISILOD,ACP_tdxIndex _xNbRLI);
/* ##F===================================================================================
NAME : ISI_fn_hCreateISI
DESCRIPTION : Create ISI structure.
INPUT : _xNbISILOD = Number of level of detail.
OUTPUT : handle to ISI.
=========================================================================================
LAST MODIFICATIONS : 20/11/97 David Fournier : New commentary form.
=======================================================================================*/
extern CPA_EXPORT ACP_tdxHandleToRadiosity ISI_fn_hCreateISI(ACP_tdxIndex _xNbISILOD);
/* ##F===================================================================================
NAME : ISI_fn_vFreeISI
DESCRIPTION : Free an ISI structure.
INPUT : _hISI = handle to ISI.
=========================================================================================
LAST MODIFICATIONS : 20/11/97 David Fournier : New commentary form.
=======================================================================================*/
extern CPA_EXPORT void ISI_fn_vFreeISI(ACP_tdxHandleToRadiosity _hISI);
/* ##-###########################
## Accessors
############################## */
/* ##F===================================================================================
NAME : ISI_ColISIToGEO
DESCRIPTION : Convert a ISI_tdstColor in GEO_tdstColor.
INPUT : GEOCol = table of GEO color.
ISICol = table of ISI color.
ulNbr = number of color.
=========================================================================================
LAST MODIFICATIONS : 20/11/97 David Fournier : New commentary form.
=======================================================================================*/
extern CPA_EXPORT void ISI_ColISIToGEO(GEO_tdstColor *GEOCol ,ISI_tdstColor *ISICol,unsigned long ulNbr);
/* ##F===================================================================================
NAME : ISI_ColGEOToISI
DESCRIPTION : Convert a GEO_tdstColor in ISI_tdstColor.
INPUT : ISICol = table of ISI color.
GEOCol = table of GEO color.
ulNbr = number of color.
=========================================================================================
LAST MODIFICATIONS : 20/11/97 David Fournier : New commentary form.
=======================================================================================*/
extern CPA_EXPORT void ISI_ColGEOToISI(ISI_tdstColor *ISICol , GEO_tdstColor *GEOCol,unsigned long ulNbr);
/* ##F===================================================================================
NAME : ISI_fn_xGetNbLOD
DESCRIPTION : Return the number of LOD.
INPUT : _hISI = handle to ISI.
OUTPUT : Number of LOD.
=========================================================================================
LAST MODIFICATIONS : 20/11/97 David Fournier : New commentary form.
=======================================================================================*/
extern CPA_EXPORT ACP_tdxIndex ISI_fn_xGetNbLOD(ACP_tdxHandleToRadiosity _hISI);
/* ##F===================================================================================
NAME : ISI_fn_xGetNbVertexRLILOD
DESCRIPTION : Return the number of RLI for one LOD.
INPUT : _hISI = handle to ISI.
_xNumISILOD = LOD number.
OUTPUT : Number of RLI in the LOD.
=========================================================================================
LAST MODIFICATIONS : 20/11/97 David Fournier : New commentary form.
=======================================================================================*/
extern CPA_EXPORT ACP_tdxIndex ISI_fn_xGetNbVertexRLILOD(ACP_tdxHandleToRadiosity _hISI,ACP_tdxIndex _xNumISILOD);
/* ##F===================================================================================
NAME : ISI_fn_dGetVertexRLILOD
DESCRIPTION : Return the table of RLI for one LOD.
INPUT : _hISI = handle to ISI.
_xNumISILOD = LOD number.
OUTPUT : Table of RLI.
=========================================================================================
LAST MODIFICATIONS : 20/11/97 David Fournier : New commentary form.
=======================================================================================*/
extern CPA_EXPORT ISI_tdstColor *ISI_fn_dGetVertexRLILOD(ACP_tdxHandleToRadiosity _hISI,ACP_tdxIndex _xNumISILOD);
/* ##F===================================================================================
NAME : ISI_fn_xGetNbVertexRLI
DESCRIPTION : Return the number of RLI for the first LOD.
INPUT : _hISI = handle to ISI.
OUTPUT : Number of RLI for the first LOD.
=========================================================================================
LAST MODIFICATIONS : 20/11/97 David Fournier : New commentary form.
=======================================================================================*/
extern CPA_EXPORT ACP_tdxIndex ISI_fn_xGetNbVertexRLI(ACP_tdxHandleToRadiosity _hISI);
/* ##F===================================================================================
NAME : ISI_fn_dGetVertexRLI
DESCRIPTION : Return the table of RLI for the first LOD.
INPUT : _hISI = handle to ISI.
OUTPUT : Table of RLI for the first LOD.
=========================================================================================
LAST MODIFICATIONS : 20/11/97 David Fournier : New commentary form.
=======================================================================================*/
extern CPA_EXPORT ISI_tdstColor *ISI_fn_dGetVertexRLI(ACP_tdxHandleToRadiosity _hISI);
/* ##F===================================================================================
NAME : ISI_fn_vSetVertexRLILOD
DESCRIPTION : Change RLI of one vertex for one LOD.
INPUT : _hISI = handle to ISI.
_p_stColor = adress of ISI color for setting.
_xNumISILOD = LOD number in the ISI.
_xIndex = RLI number in the LOD.
OUTPUT : Table of RLI for the first LOD.
=========================================================================================
LAST MODIFICATIONS : 20/11/97 David Fournier : New commentary form.
=======================================================================================*/
extern CPA_EXPORT void ISI_fn_vSetVertexRLILOD(ACP_tdxHandleToRadiosity _hISI, ISI_tdstColor *_p_stColor,
ACP_tdxIndex _xNumISILOD, ACP_tdxIndex _xIndex);
/* ##F===================================================================================
NAME : ISI_fn_vAmbientLight
DESCRIPTION : Add ambient light to all RLI, create RLI if they not exist.
INPUT : _hSuperObject = hierarchie for lighting.
_xDR = red intensity.
_xDG = green intensity.
_xDB = blue intensity.
=========================================================================================
LAST MODIFICATIONS : 20/11/97 David Fournier : New commentary form.
=======================================================================================*/
extern CPA_EXPORT void ISI_fn_vAmbientLight(HIE_tdxHandleToSuperObject _hSuperObject,
MTH_tdxReal _xDR,
MTH_tdxReal _xDG,
MTH_tdxReal _xDB);
/* ##-###########################
## Saving / Loading
############################## */
/*ANNECY JMD 17/02/98{*/
/* ##F===================================================================================
NAME : ISI_hComputeBlendRLI
DESCRIPTION : compute a blend between two ISI.
INPUT : hRLI1 = first ISI
hRLI2 = second ISI
xNumISILOD = which LOD is affectted
xPercent = percentage of the second ISI, (i.e. there is 1-xpercent of the first ISI)
=========================================================================================
LAST MODIFICATIONS : 17/02/98 Jean-Marc Drouaud
=======================================================================================*/
extern CPA_EXPORT ACP_tdxHandleToRadiosity ISI_hComputeBlendRLI ( ACP_tdxHandleToRadiosity hRLI1, ACP_tdxHandleToRadiosity hRLI2,ACP_tdxIndex xNumISILOD, MTH_tdxReal xPercent ) ;
/*END ANNECY JMD }*/
/*End Proto*/
#ifdef __cplusplus
};
#endif /* __cplusplus */
#endif /*__ISI_EXT*/