201 lines
9.8 KiB
C
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*/
|