mirror of
https://github.com/bulletphysics/bullet3
synced 2024-12-13 21:30:09 +00:00
dba239fe8d
A fileIO plugin can override custom file IO operations. As a small test, load files from a zipfile in memory. Default fileIO implementation is in examples/Utils/b3BulletDefaultFileIO.h Affects URDF, SDF, MJCF, Wavefront OBJ, STL, DAE, images.
40 lines
1.2 KiB
C
40 lines
1.2 KiB
C
#ifndef B3_PLUGIN_API_H
|
|
#define B3_PLUGIN_API_H
|
|
|
|
#ifdef _WIN32
|
|
#define B3_SHARED_API __declspec(dllexport)
|
|
#elif defined(__GNUC__)
|
|
#define B3_SHARED_API __attribute__((visibility("default")))
|
|
#else
|
|
#define B3_SHARED_API
|
|
#endif
|
|
|
|
#if defined(_WIN32)
|
|
#define B3_API_ENTRY
|
|
#define B3_API_CALL __cdecl
|
|
#define B3_CALLBACK __cdecl
|
|
#else
|
|
#define B3_API_ENTRY
|
|
#define B3_API_CALL
|
|
#define B3_CALLBACK
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
/* Plugin API */
|
|
typedef B3_API_ENTRY int(B3_API_CALL* PFN_INIT)(struct b3PluginContext* context);
|
|
typedef B3_API_ENTRY void(B3_API_CALL* PFN_EXIT)(struct b3PluginContext* context);
|
|
typedef B3_API_ENTRY int(B3_API_CALL* PFN_EXECUTE)(struct b3PluginContext* context, const struct b3PluginArguments* arguments);
|
|
typedef B3_API_ENTRY int(B3_API_CALL* PFN_TICK)(struct b3PluginContext* context);
|
|
|
|
typedef B3_API_ENTRY struct UrdfRenderingInterface*(B3_API_CALL* PFN_GET_RENDER_INTERFACE)(struct b3PluginContext* context);
|
|
typedef B3_API_ENTRY struct b3PluginCollisionInterface*(B3_API_CALL* PFN_GET_COLLISION_INTERFACE)(struct b3PluginContext* context);
|
|
typedef B3_API_ENTRY struct CommonFileIOInterface*(B3_API_CALL* PFN_GET_FILEIO_INTERFACE)(struct b3PluginContext* context);
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif //B3_PLUGIN_API_H
|