RemoteGUIHelper.h 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #ifndef REMOTE_HELPER_H
  2. #define REMOTE_HELPER_H
  3. #include "../CommonInterfaces/CommonGUIHelperInterface.h"
  4. ///a RemoteGUIHelper will connect to an existing graphics server through shared memory
  5. struct RemoteGUIHelper : public GUIHelperInterface
  6. {
  7. struct RemoteGUIHelperInternalData* m_data;
  8. RemoteGUIHelper();
  9. virtual ~RemoteGUIHelper();
  10. bool isConnected() const;
  11. virtual void setVisualizerFlag(int flag, int enable);
  12. virtual void createRigidBodyGraphicsObject(btRigidBody* body, const btVector3& color);
  13. virtual void createCollisionObjectGraphicsObject(btCollisionObject* body, const btVector3& color);
  14. virtual void createCollisionShapeGraphicsObject(btCollisionShape* collisionShape);
  15. virtual bool getCameraInfo(int* width, int* height, float viewMatrix[16], float projectionMatrix[16], float camUp[3], float camForward[3], float hor[3], float vert[3], float* yaw, float* pitch, float* camDist, float camTarget[3]) const;
  16. virtual void syncPhysicsToGraphics(const btDiscreteDynamicsWorld* rbWorld);
  17. virtual void syncPhysicsToGraphics2(const class btDiscreteDynamicsWorld* rbWorld);
  18. virtual void syncPhysicsToGraphics2(const GUISyncPosition* positions, int numPositions);
  19. virtual void render(const btDiscreteDynamicsWorld* rbWorld);
  20. virtual void createPhysicsDebugDrawer(btDiscreteDynamicsWorld* rbWorld);
  21. virtual int registerTexture(const unsigned char* texels, int width, int height);
  22. virtual int registerGraphicsShape(const float* vertices, int numvertices, const int* indices, int numIndices, int primitiveType, int textureId);
  23. virtual int registerGraphicsInstance(int shapeIndex, const float* position, const float* quaternion, const float* color, const float* scaling);
  24. virtual void removeAllGraphicsInstances();
  25. virtual void removeGraphicsInstance(int graphicsUid);
  26. virtual void changeRGBAColor(int instanceUid, const double rgbaColor[4]);
  27. virtual void changeScaling(int instanceUid, const double scaling[3]);
  28. virtual Common2dCanvasInterface* get2dCanvasInterface();
  29. virtual CommonParameterInterface* getParameterInterface();
  30. virtual CommonRenderInterface* getRenderInterface();
  31. virtual CommonGraphicsApp* getAppInterface();
  32. virtual void setUpAxis(int axis);
  33. virtual void resetCamera(float camDist, float yaw, float pitch, float camPosX, float camPosY, float camPosZ);
  34. virtual void copyCameraImageData(const float viewMatrix[16], const float projectionMatrix[16],
  35. unsigned char* pixelsRGBA, int rgbaBufferSizeInPixels,
  36. float* depthBuffer, int depthBufferSizeInPixels,
  37. int* segmentationMaskBuffer, int segmentationMaskBufferSizeInPixels,
  38. int startPixelIndex, int width, int height, int* numPixelsCopied);
  39. virtual void setProjectiveTextureMatrices(const float viewMatrix[16], const float projectionMatrix[16]);
  40. virtual void setProjectiveTexture(bool useProjectiveTexture);
  41. virtual void autogenerateGraphicsObjects(btDiscreteDynamicsWorld* rbWorld);
  42. virtual void drawText3D(const char* txt, float posX, float posZY, float posZ, float size);
  43. virtual void drawText3D(const char* txt, float position[3], float orientation[4], float color[4], float size, int optionFlag);
  44. virtual int addUserDebugLine(const double debugLineFromXYZ[3], const double debugLineToXYZ[3], const double debugLineColorRGB[3], double lineWidth, double lifeTime, int trackingVisualShapeIndex, int replaceItemUid);
  45. virtual int addUserDebugPoints(const double debugPointPositionXYZ[3], const double debugPointColorRGB[3], double pointSize, double lifeTime, int trackingVisualShapeIndex, int replaceItemUid, int debugPointNum);
  46. virtual void removeUserDebugItem(int debugItemUniqueId);
  47. virtual void removeAllUserDebugItems();
  48. int uploadData(const unsigned char* data, int sizeInBytes, int slot);
  49. };
  50. #endif //REMOTE_HELPER_H