CommonCameraInterface.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef COMMON_CAMERA_INTERFACE_H
  2. #define COMMON_CAMERA_INTERFACE_H
  3. struct CommonCameraInterface
  4. {
  5. virtual ~CommonCameraInterface() {}
  6. virtual void getCameraProjectionMatrix(float m[16]) const = 0;
  7. virtual void getCameraViewMatrix(float m[16]) const = 0;
  8. virtual void setVRCamera(const float viewMat[16], const float projectionMatrix[16]) = 0;
  9. virtual void disableVRCamera() = 0;
  10. virtual bool isVRCamera() const = 0;
  11. virtual void setVRCameraOffsetTransform(const float offset[16]) = 0;
  12. virtual void getCameraTargetPosition(float pos[3]) const = 0;
  13. virtual void getCameraPosition(float pos[3]) const = 0;
  14. virtual void getCameraTargetPosition(double pos[3]) const = 0;
  15. virtual void getCameraPosition(double pos[3]) const = 0;
  16. virtual void setCameraTargetPosition(float x, float y, float z) = 0;
  17. virtual void setCameraDistance(float dist) = 0;
  18. virtual float getCameraDistance() const = 0;
  19. virtual void setCameraUpVector(float x, float y, float z) = 0;
  20. virtual void getCameraUpVector(float up[3]) const = 0;
  21. virtual void getCameraForwardVector(float fwd[3]) const = 0;
  22. ///the setCameraUpAxis will call the 'setCameraUpVector' and 'setCameraForwardVector'
  23. virtual void setCameraUpAxis(int axis) = 0;
  24. virtual int getCameraUpAxis() const = 0;
  25. virtual void setCameraYaw(float yaw) = 0;
  26. virtual float getCameraYaw() const = 0;
  27. virtual void setCameraPitch(float pitch) = 0;
  28. virtual float getCameraPitch() const = 0;
  29. virtual void setAspectRatio(float ratio) = 0;
  30. virtual float getAspectRatio() const = 0;
  31. virtual float getCameraFrustumFar() const = 0;
  32. virtual float getCameraFrustumNear() const = 0;
  33. };
  34. #endif //COMMON_CAMERA_INTERFACE_H