15 #include "CeeVisualization/Base.h" 16 #include "CeeCore/RefCountedObject.h" 17 #include "CeeCore/Ray.h" 18 #include "CeeCore/Plane.h" 26 class CameraInputHandler;
53 void setFromLookAt(
const Vec3d& eye,
const Vec3d& vrp,
const Vec3d& up);
55 void fitView(
const BoundingBox& boundingBox,
const Vec3d& dir,
const Vec3d& up,
double adjustmentFactor = 0.9);
56 void fitViewOrtho(
const BoundingBox& boundingBox,
double eyeDist,
const Vec3d& dir,
const Vec3d& up,
double adjustmentFactor = 0.9);
57 void rotateGlobalAxis(
double radians,
const Vec3d& axis);
58 void rotateScreenAxis(
double radians,
ScreenAxis dir);
59 void rubberbandZoom(
int x,
int y,
unsigned int width,
unsigned int height);
61 void setProjectionAsPerspective(
double fieldOfViewYDeg,
double nearPlane,
double farPlane);
62 void setProjectionAsOrtho(
double height,
double nearPlane,
double farPlane);
64 void enableAutoClipMinimumNearDistance(
double minNearDistance);
65 void enableAutoClipFixedNearDistance(
double fixedNearDistance);
66 void disableAutoClip();
69 double fieldOfViewYDegrees()
const;
70 double nearPlane()
const;
71 double farPlane()
const;
72 double frontPlaneFrustumHeight()
const;
73 Vec3d computeFitViewEyePosition(
const BoundingBox& boundingBox,
const Vec3d& dir,
const Vec3d& up,
double adjustmentFactor = 0.9,
double fieldOfViewYDeg = 40.0)
const;
75 unsigned int viewportWidth()
const;
76 unsigned int viewportHeight()
const;
77 int viewportPositionX()
const;
78 int viewportPositionY()
const;
79 void setViewport(
int x,
int y,
unsigned int width,
unsigned int height);
81 Ray rayFromWindowCoordinates(
int x,
int y)
const;
82 Plane planeFromWindowCoordinates(
int x1,
int y1,
int x2,
int y2)
const;
83 bool unproject(
const Vec3d& coord,
Vec3d* out)
const;
84 bool project(
const Vec3d& point,
Vec3d* out)
const;
86 Mat4d viewMatrix()
const;
87 void setViewMatrix(
Mat4d mat);
100 CEE_DISALLOW_COPY_AND_ASSIGN(
Camera);
Horizontal axis to the right.
Definition: Camera.h:45
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppComponent.cpp:26
The camera configuration of a view.
Definition: Camera.h:33
Overlay navigation cube used for navigation and orientation in a View.
Definition: OverlayNavigationCube.h:34
ProjectionType
Projection type.
Definition: Camera.h:37
Vertical axis to the up.
Definition: Camera.h:46
A view overlay item showing an axis cross synchronized with current camera settings.
Definition: OverlayAxisCross.h:31
ScreenAxis
Rotation screen axis.
Definition: Camera.h:43
A ray that can be used for intersection testing.
Definition: Ray.h:27
Class defining a plane in space.
Definition: Plane.h:27
Base class for all reference counted objects with built-in support for intrusive reference counting...
Definition: RefCountedObject.h:34
Axis-aligned bounding box.
Definition: BoundingBox.h:27
Provides a render area in the user control/widget to enable visualization of the current model data a...
Definition: View.h:40
Vector class for a 3D double vector.
Definition: Vec3d.h:26
Perspective projection.
Definition: Camera.h:39
4 dimensional matrix.
Definition: Mat4d.h:26