mirror of
https://github.com/bulletphysics/bullet3
synced 2025-01-19 05:20:06 +00:00
ab8f16961e
Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files. make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type. This commit contains no other changes aside from adding and applying clang-format-all.sh
42 lines
1.5 KiB
C++
42 lines
1.5 KiB
C++
#ifndef B3_PLUGIN_MANAGER_H
|
|
#define B3_PLUGIN_MANAGER_H
|
|
|
|
#include "plugins/b3PluginAPI.h"
|
|
|
|
enum b3PluginManagerTickMode
|
|
{
|
|
B3_PRE_TICK_MODE = 1,
|
|
B3_POST_TICK_MODE,
|
|
B3_PROCESS_CLIENT_COMMANDS_TICK,
|
|
};
|
|
|
|
class b3PluginManager
|
|
{
|
|
struct b3PluginManagerInternalData* m_data;
|
|
|
|
public:
|
|
b3PluginManager(class PhysicsCommandProcessorInterface* physSdk);
|
|
virtual ~b3PluginManager();
|
|
|
|
int loadPlugin(const char* pluginPath, const char* postFixStr = "");
|
|
void unloadPlugin(int pluginUniqueId);
|
|
int executePluginCommand(int pluginUniqueId, const struct b3PluginArguments* arguments);
|
|
void addEvents(const struct b3VRControllerEvent* vrControllerEvents, int numVRControllerEvents, const struct b3KeyboardEvent* keyEvents, int numKeyEvents, const struct b3MouseEvent* mouseEvents, int numMouseEvents);
|
|
void clearEvents();
|
|
|
|
void addNotification(const struct b3Notification& notification);
|
|
void reportNotifications();
|
|
|
|
void tickPlugins(double timeStep, b3PluginManagerTickMode tickMode);
|
|
|
|
int registerStaticLinkedPlugin(const char* pluginPath, PFN_INIT initFunc, PFN_EXIT exitFunc, PFN_EXECUTE executeCommandFunc, PFN_TICK preTickFunc, PFN_TICK postTickFunc, PFN_GET_RENDER_INTERFACE getRendererFunc, PFN_TICK processClientCommandsFunc, PFN_GET_COLLISION_INTERFACE getCollisionFunc, bool initPlugin = true);
|
|
|
|
void selectPluginRenderer(int pluginUniqueId);
|
|
struct UrdfRenderingInterface* getRenderInterface();
|
|
|
|
void selectCollisionPlugin(int pluginUniqueId);
|
|
struct b3PluginCollisionInterface* getCollisionInterface();
|
|
};
|
|
|
|
#endif //B3_PLUGIN_MANAGER_H
|