/*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*/