#ifndef PICKING_ST_H #define PICKING_ST_H #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #define GLI_C_DepthPickingElements PIC_C_DepthPickingElements #define GLI_C_ModePickingFace PIC_C_ModePickingFace #define GLI_C_ModePickingEdge PIC_C_ModePickingEdge #define GLI_C_ModePickingPoint PIC_C_ModePickingPoint #define GLI_tdeModePicking_ PIC_tdeModePicking_ #define GLI_tdeModePicking PIC_tdeModePicking #define PIC_tdstDataOfElement_ GLI_tdstDataOfElement_ #define GLI_tdstDataOfElement PIC_tdstDataOfElement #define GLI_tdstPickedObject_ PIC_tdstPickedObject_ #define GLI_tdstPickedObject PIC_tdstPickedObject /* For DLL using these function :*/ #include "cpa_expt.h" #define PIC_C_DepthPickingElements 3 typedef enum PIC_tdeModePicking_ { PIC_C_ModePickingFace, PIC_C_ModePickingEdge, PIC_C_ModePickingPoint, } PIC_tdeModePicking; typedef struct GLI_tdstDataOfElement_ { MTH3D_tdstVector stHit; /* position 3D*/ MTH_tdxReal xDistance; /* distance objet 3d origine de l'axe*/ ACP_tdxHandleOfElement xElements; /* union*/ /* {*/ ACP_tdxIndex xIndexOfFace; /* handle de la face*/ ACP_tdxIndex xIndexOfEdge; /* handle du edge le plus proche*/ ACP_tdxIndex xIndexOfPoint; /* handle du sommet le plus proche*/ /* };*/ } PIC_tdstDataOfElement; typedef struct PIC_tdstPickedObject_ { PIC_tdeModePicking xModePicking; /* type de data*/ ACP_tdxIndex xNbElements; /* nombre d'éléments (max = GLI_C_ProfondeurPickingElements)*/ PIC_tdstDataOfElement aDEF_stDataOfElement[PIC_C_DepthPickingElements]; } PIC_tdstPickedObject; #ifdef __cplusplus }; #endif /* __cplusplus */ #endif