/
redgpu
/
bullet
Обзор
Документация
Войти
/
redgpu
/
bullet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.85
examples/SharedMemory/PhysicsLoopBack.h
67 строк
2 KB
erwin coumans
expose getNumBodies, getBodyUniqueId, getBodyInfo (char* baseName) to shared memory API and pybullet., making it easier to serialize the state of the world.
27 сен 2016, 22:13
27 сен 2016, 22:13
0936ae6
Код
Авторство
О чём код?
#ifndef PHYSICS_LOOP_BACK_H #define PHYSICS_LOOP_BACK_H //#include "SharedMemoryCommands.h" #include "PhysicsClient.h" #include "LinearMath/btVector3.h" ///todo: the PhysicsClient API was designed with shared memory in mind, ///now it become more general we need to move out the shared memory specifics away ///for example naming [disconnectSharedMemory -> disconnect] [ move setSharedMemoryKey to shared memory specific subclass ] class PhysicsLoopBack : public PhysicsClient { struct PhysicsLoopBackInternalData* m_data; public: PhysicsLoopBack(); virtual ~PhysicsLoopBack(); // return true if connection succesfull, can also check 'isConnected' virtual bool connect(); ////todo: rename to 'disconnect' virtual void disconnectSharedMemory(); virtual bool isConnected() const; // return non-null if there is a status, nullptr otherwise virtual const SharedMemoryStatus* processServerStatus(); virtual SharedMemoryCommand* getAvailableSharedMemoryCommand(); virtual bool canSubmitCommand() const; virtual bool submitClientCommand(const struct SharedMemoryCommand& command); virtual int getNumBodies() const; virtual int getBodyUniqueId(int serialIndex) const; virtual bool getBodyInfo(int bodyUniqueId, struct b3BodyInfo& info) const; virtual int getNumJoints(int bodyIndex) const; virtual bool getJointInfo(int bodyIndex, int jointIndex, struct b3JointInfo& info) const; ///todo: move this out of the virtual void setSharedMemoryKey(int key); void uploadBulletFileToSharedMemory(const char* data, int len); virtual int getNumDebugLines() const; virtual const float* getDebugLinesFrom() const; virtual const float* getDebugLinesTo() const; virtual const float* getDebugLinesColor() const; virtual void getCachedCameraImage(struct b3CameraImageData* cameraData); virtual void getCachedContactPointInformation(struct b3ContactInformation* contactPointData); }; #endif //PHYSICS_LOOP_BACK_H