PhysicsClientSharedMemory.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef BT_PHYSICS_CLIENT_SHARED_MEMORY_API_H
  2. #define BT_PHYSICS_CLIENT_SHARED_MEMORY_API_H
  3. #include "PhysicsClient.h"
  4. //#include "SharedMemoryCommands.h"
  5. #include "LinearMath/btVector3.h"
  6. class PhysicsClientSharedMemory : public PhysicsClient {
  7. struct PhysicsClientSharedMemoryInternalData* m_data;
  8. protected:
  9. public:
  10. PhysicsClientSharedMemory();
  11. virtual ~PhysicsClientSharedMemory();
  12. // return true if connection succesfull, can also check 'isConnected'
  13. virtual bool connect();
  14. virtual void disconnectSharedMemory();
  15. virtual bool isConnected() const;
  16. // return non-null if there is a status, nullptr otherwise
  17. virtual const struct SharedMemoryStatus* processServerStatus();
  18. virtual struct SharedMemoryCommand* getAvailableSharedMemoryCommand();
  19. virtual bool canSubmitCommand() const;
  20. virtual bool submitClientCommand(const struct SharedMemoryCommand& command);
  21. virtual int getNumJoints(int bodyIndex) const;
  22. virtual void getJointInfo(int bodyIndex, int jointIndex, struct b3JointInfo& info) const;
  23. virtual void setSharedMemoryKey(int key);
  24. virtual void uploadBulletFileToSharedMemory(const char* data, int len);
  25. virtual int getNumDebugLines() const;
  26. virtual const float* getDebugLinesFrom() const;
  27. virtual const float* getDebugLinesTo() const;
  28. virtual const float* getDebugLinesColor() const;
  29. };
  30. #endif // BT_PHYSICS_CLIENT_API_H