Files
physx-go/pgo/physx-c/CPxGeometry.h
2022-01-28 02:01:08 +04:00

44 lines
1.2 KiB
C
Executable File

#ifndef CPxGeometry_H
#define CPxGeometry_H
#include "CPxBoxGeometry.h"
#include "CPxSphereGeometry.h"
#include "CPxCapsuleGeometry.h"
#ifdef __cplusplus
extern "C" {
#endif
enum CPxGeometryType
{
CPxGeometryType_eSPHERE,
CPxGeometryType_ePLANE,
CPxGeometryType_eCAPSULE,
CPxGeometryType_eBOX,
CPxGeometryType_eCONVEXMESH,
CPxGeometryType_eTRIANGLEMESH,
CPxGeometryType_eHEIGHTFIELD,
CPxGeometryType_eGEOMETRY_COUNT, //!< internal use only!
CPxGeometryType_eINVALID = -1 //!< internal use only!
};
struct CPxGeometry
{
void* obj;
CENUM CPxGeometryType type;
};
CPxAPI CPxInline CSTRUCT CPxSphereGeometry CPxGeometry_toCPxSphereGeometry(CSTRUCT CPxGeometry);
CPxAPI CPxInline CSTRUCT CPxGeometry CPxSphereGeometry_toCPxGeometry(CSTRUCT CPxSphereGeometry*);
CPxAPI CPxInline CSTRUCT CPxBoxGeometry CPxGeometry_toCPxBoxGeometry(CSTRUCT CPxGeometry);
CPxAPI CPxInline CSTRUCT CPxGeometry CPxBoxGeometry_toCPxGeometry(CSTRUCT CPxBoxGeometry*);
CPxAPI CPxInline CSTRUCT CPxCapsuleGeometry CPxGeometry_toCPxCapsuleGeometry(CSTRUCT CPxGeometry);
CPxAPI CPxInline CSTRUCT CPxGeometry CPxCapsuleGeometry_toCPxGeometry(CSTRUCT CPxCapsuleGeometry*);
#ifdef __cplusplus
}
#endif
#endif // !CPxGeometry_H