35 using ScalarType = Scalar;
38 using MatrixType = CameraType::MatrixType;
49 onResize(width, height);
52 MatrixType viewMatrix()
const {
return mCamera.viewMatrix(); }
54 MatrixType projectionMatrix()
const {
return mCamera.projectionMatrix(); }
56 const CameraType& camera()
const {
return mCamera; }
60 void reset() { mCamera.reset(); }
62 void focus(
const PointType&
p) { mCamera.
center() =
p; }
64 void fitScene(
const PointType&
p, Scalar s)
67 mCamera.eye() =
p + PointType(0, 0, 1);
68 mCamera.verticalHeight() = s;
69 mCamera.setFieldOfViewAdaptingEyeDistance(mCamera.fieldOfView());
72 void onResize(uint width, uint height)
override
74 mCamera.aspectRatio() = Scalar(
double(width) / height);