Camera
Types
uint32_t |
Fields
double |
|
double |
Functions
bool |
|
bool |
Detailed Description
-
class Camera
The Camera class is used to define a camera for a View. It specifies the position, target, up vector, field dimensions, and projection type.
The field of view of the camera is comprised of two numbers, field_width and field_height. These define the minimum area around the target that will be visible in the output window. The camera field, along with the distance between the camera position and the camera target, determine - in photographic terms - what kind of lens the camera is using. If the field is larger than the distance from the camera position to the target, then we have the equivalent of a wide-angle lens. If the distance between the camera position and target is much larger than the camera field, then we have the equivalent of a telephoto lens. Changing the size of the field (if the camera position and target remain fixed) is the same as zooming the lens. The ratio of the width to the height of the field is called the aspect ratio.
Public Types
-
enum Projection
An enumeration that indicates a camera’s projection type.
Values:
-
enumerator Invalid
This means the Camera Projection has not been set, and is effectively like having no Camera at all.
-
enumerator Perspective
Objects diminish in size the further they are from the camera, just as in a typical photograph.
-
enumerator Orthographic
Objects remain the same size, regardless of their distance from the camera.
-
enumerator Stretched
With a stretched projection, the scene stretches to fit the output window. The aspect ratio will not be preserved and the output may appear stretched or distorted.
-
enumerator Invalid
Public Functions
-
inline Camera()
-
inline Camera(Projection projection, DPoint const &position, DPoint const &target, DVector const &up_vector, double field_width, double field_height)
Public Members
-
Projection projection
Enum that specifies the projection type.
-
double field_width
Sets the width of the camera field in world space units.
-
double field_height
Sets the height of the camera field in world space units.
-
enum Projection