RemoteGUIHelperTCP.h 3.7 KB

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