38 using ScalarType = Scalar;
41 using MatrixType = CameraType::MatrixType;
52 onResize(width, height);
55 MatrixType viewMatrix()
const {
return mCamera.viewMatrix(); }
57 MatrixType projectionMatrix()
const {
return mCamera.projectionMatrix(); }
59 const CameraType& camera()
const {
return mCamera; }
63 void reset() { mCamera.reset(); }
65 void focus(
const PointType&
p) { mCamera.center() =
p; }
67 void fitScene(
const PointType&
p, Scalar s)
70 mCamera.eye() =
p + PointType(0, 0, 1);
71 mCamera.verticalHeight() = s;
72 mCamera.setFieldOfViewAdaptingEyeDistance(mCamera.fieldOfView());
75 void onResize(uint width, uint height)
override
77 mCamera.aspectRatio() = Scalar(
double(width) / height);