dust3d/include/dust3d.h

49 lines
1.9 KiB
C

#ifndef DUST3D_H
#define DUST3D_H
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _WIN32
# ifdef DUST3D_EXPORTING
# define DUST3D_DLL __declspec(dllexport)
# else
# define DUST3D_DLL __declspec(dllimport)
# endif
#else
# define DUST3D_DLL
#endif
# define DUST3D_API __stdcall
#define DUST3D_OK 0
#define DUST3D_ERROR 1
#define DUST3D_UNSUPPORTED 2
typedef struct _dust3d dust3d;
DUST3D_DLL void DUST3D_API dust3dInitialize(int argc, char *argv[]);
DUST3D_DLL dust3d * DUST3D_API dust3dOpenFromMemory(const char *documentType, const char *buffer, int size);
DUST3D_DLL dust3d * DUST3D_API dust3dOpen(const char *fileName);
DUST3D_DLL void DUST3D_API dust3dSetUserData(dust3d *ds3, void *userData);
DUST3D_DLL void * DUST3D_API dust3dGetUserData(dust3d *ds3);
DUST3D_DLL int DUST3D_API dust3dGenerateMesh(dust3d *ds3);
DUST3D_DLL int DUST3D_API dust3dGetMeshVertexCount(dust3d *ds3);
DUST3D_DLL int DUST3D_API dust3dGetMeshTriangleCount(dust3d *ds3);
DUST3D_DLL void DUST3D_API dust3dGetMeshTriangleIndices(dust3d *ds3, int *indices);
DUST3D_DLL void DUST3D_API dust3dGetMeshTriangleColors(dust3d *ds3, unsigned int *colors);
DUST3D_DLL void DUST3D_API dust3dGetMeshVertexPosition(dust3d *ds3, int vertexIndex, float *x, float *y, float *z);
DUST3D_DLL void DUST3D_API dust3dGetMeshVertexSource(dust3d *ds3, int vertexIndex, unsigned char partId[16], unsigned char nodeId[16]);
DUST3D_DLL int DUST3D_API dust3dGetMeshTriangleAndQuadCount(dust3d *ds3);
DUST3D_DLL void DUST3D_API dust3dGetMeshTriangleAndQuadIndices(dust3d *ds3, int *indices);
DUST3D_DLL void DUST3D_API dust3dClose(dust3d *ds3);
DUST3D_DLL int DUST3D_API dust3dError(dust3d *ds3);
DUST3D_DLL const char * DUST3D_API dust3dVersion();
#ifdef __cplusplus
}
#endif
#endif