SimpleCamera.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #ifndef SIMPLE_CAMERA_H
  2. #define SIMPLE_CAMERA_H
  3. #include "../CommonInterfaces/CommonCameraInterface.h"
  4. struct SimpleCamera : public CommonCameraInterface
  5. {
  6. struct SimpleCameraInternalData* m_data;
  7. SimpleCamera();
  8. virtual ~SimpleCamera();
  9. void update();
  10. virtual void getCameraProjectionMatrix(float m[16]) const;
  11. virtual void getCameraViewMatrix(float m[16]) const;
  12. virtual void setVRCamera(const float viewMat[16], const float projectionMatrix[16]);
  13. virtual bool getVRCamera(float viewMat[16], float projectionMatrix[16]);
  14. virtual void setVRCameraOffsetTransform(const float offset[16]);
  15. virtual void disableVRCamera();
  16. virtual bool isVRCamera() const;
  17. virtual void getCameraTargetPosition(float pos[3]) const;
  18. virtual void getCameraPosition(float pos[3]) const;
  19. virtual void getCameraTargetPosition(double pos[3]) const;
  20. virtual void getCameraPosition(double pos[3]) const;
  21. virtual void setCameraTargetPosition(float x, float y, float z);
  22. virtual void setCameraDistance(float dist);
  23. virtual float getCameraDistance() const;
  24. virtual void setCameraUpVector(float x, float y, float z);
  25. void getCameraUpVector(float up[3]) const;
  26. void getCameraForwardVector(float fwd[3]) const;
  27. ///the setCameraUpAxis will call the 'setCameraUpVector' and 'setCameraForwardVector'
  28. virtual void setCameraUpAxis(int axis);
  29. virtual int getCameraUpAxis() const;
  30. virtual void setCameraYaw(float yaw);
  31. virtual float getCameraYaw() const;
  32. virtual void setCameraPitch(float pitch);
  33. virtual float getCameraPitch() const;
  34. virtual void setAspectRatio(float ratio);
  35. virtual float getAspectRatio() const;
  36. virtual float getCameraFrustumFar() const;
  37. virtual float getCameraFrustumNear() const;
  38. virtual void setCameraFrustumFar(float far);
  39. virtual void setCameraFrustumNear(float near);
  40. };
  41. #endif //SIMPLE_CAMERA_H