reman3/Rayman_X/cpa/public/PIC/Pick_st.h

63 lines
1.7 KiB
C

#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