Inviwo 0.9.12-pre
Inviwo documentation
Loading...
Searching...
No Matches
inviwo::OrthographicCamera Class Referencefinal

Camera with no perspective projection. Objects far away will appear as large as objects close. More...

#include <orthographiccamera.h>

+ Inheritance diagram for inviwo::OrthographicCamera:

Public Member Functions

 OrthographicCamera (vec3 lookFrom=cameradefaults::lookFrom, vec3 lookTo=cameradefaults::lookTo, vec3 lookUp=cameradefaults::lookUp, float nearPlane=cameradefaults::nearPlane, float farPlane=cameradefaults::farPlane, float aspectRatio=cameradefaults::aspectRatio, float width=cameradefaults::width)
 
 OrthographicCamera (const OrthographicCamera &other)
 
OrthographicCameraoperator= (const OrthographicCamera &other)
 
virtual OrthographicCameraclone () const override
 
virtual std::string_view getClassIdentifier () const override
 
virtual void updateFrom (const Camera &source) override
 
virtual void configureProperties (CameraProperty &cameraProperty, bool attach) override
 
float getWidth () const
 
void setWidth (float width)
 
virtual void zoom (float factor, std::optional< mat4 > boundingBox) override
 
virtual vec4 getClipPosFromNormalizedDeviceCoords (const vec3 &ndcCoords) const override
 Convert from normalized device coordinates (xyz in [-1 1]) to clip coordinates, where z value of -1 correspond to the near plane and 1 to the far plane. Coordinates outside of the [-1 1]^3 range will be clipped.
 
virtual void serialize (Serializer &s) const override
 
virtual void deserialize (Deserializer &d) override
 
- Public Member Functions inherited from inviwo::Camera
 Camera (vec3 lookFrom, vec3 lookTo, vec3 lookUp, float nearPlane, float farPlane, float aspectRatio)
 Create a camera.
 
 Camera (const Camera &other)=default
 
Cameraoperator= (const Camera &other)=default
 
 Camera (Camera &&other) noexcept=default
 
Cameraoperator= (Camera &&other) noexcept=default
 
const vec3 & getLookFrom () const
 
virtual void setLookFrom (vec3 val)
 
const vec3 & getLookTo () const
 
virtual void setLookTo (vec3 val)
 
const vec3 & getLookUp () const
 
virtual void setLookUp (vec3 val)
 
virtual float getAspectRatio () const
 
virtual void setAspectRatio (float val)
 
vec3 getDirection () const
 Get unnormalized direction of camera: lookTo - lookFrom.
 
virtual void setNearPlaneDist (float distance)
 Set distance to the near plane from lookFrom.
 
float getNearPlaneDist () const
 
virtual void setFarPlaneDist (float distance)
 Set distance to the far plane from lookFrom.
 
float getFarPlaneDist () const
 
const mat4 & getViewMatrix () const
 
const mat4 & getProjectionMatrix () const
 
const mat4 & getInverseViewMatrix () const
 
const mat4 & getInverseProjectionMatrix () const
 
vec3 getWorldPosFromNormalizedDeviceCoords (const vec3 &ndcCoords) const
 Convert from normalized device coordinates (xyz in [-1 1]) to world coordinates.
 
vec3 getNormalizedDeviceFromNormalizedScreenAtFocusPointDepth (const vec2 &normalizedScreenCoord) const
 
- Public Member Functions inherited from inviwo::Serializable

Static Public Attributes

static constexpr std::string_view classIdentifier {"OrthographicCamera"}
 

Protected Member Functions

virtual bool equal (const Camera &other) const override
 
virtual mat4 calculateProjectionMatrix () const override
 Calculate and return the projection matrix for the camera.
 
- Protected Member Functions inherited from inviwo::Camera
bool equalTo (const Camera &other) const
 
virtual mat4 calculateViewMatrix () const
 
void invalidateViewMatrix ()
 
void invalidateProjectionMatrix ()
 

Protected Attributes

float width_
 
- Protected Attributes inherited from inviwo::Camera
vec3 lookFrom_
 
vec3 lookTo_
 
vec3 lookUp_
 
float nearPlaneDist_
 Distance to the near plane from lookFrom.
 
float farPlaneDist_
 Distance to the far plane from lookFrom.
 
float aspectRatio_
 
bool invalidViewMatrix_
 
bool invalidProjectionMatrix_
 
mat4 viewMatrix_
 
mat4 projectionMatrix_
 
mat4 inverseViewMatrix_
 
mat4 inverseProjectionMatrix_
 
CameraPropertycamprop_ = nullptr
 

Detailed Description

Camera with no perspective projection. Objects far away will appear as large as objects close.

See also
Camera
OrthographicCamera

Member Function Documentation

◆ calculateProjectionMatrix()

virtual mat4 inviwo::OrthographicCamera::calculateProjectionMatrix ( ) const
overrideprotectedvirtual

Calculate and return the projection matrix for the camera.

Implement this function to provide your own projection computation functionality. For example orthogonal or perspective projection. This function will be called when the projection matrix is invalid.

See also
PerspectiveCamera
OrthographicCamera

Implements inviwo::Camera.

◆ clone()

virtual OrthographicCamera * inviwo::OrthographicCamera::clone ( ) const
overridevirtual

Implements inviwo::Camera.

◆ configureProperties()

virtual void inviwo::OrthographicCamera::configureProperties ( CameraProperty & cameraProperty,
bool attach )
overridevirtual

Reimplemented from inviwo::Camera.

◆ deserialize()

virtual void inviwo::OrthographicCamera::deserialize ( Deserializer & d)
overridevirtual

Reimplemented from inviwo::Camera.

◆ equal()

virtual bool inviwo::OrthographicCamera::equal ( const Camera & other) const
overrideprotectedvirtual

Implements inviwo::Camera.

◆ getClassIdentifier()

virtual std::string_view inviwo::OrthographicCamera::getClassIdentifier ( ) const
overridevirtual

Implements inviwo::Camera.

◆ getClipPosFromNormalizedDeviceCoords()

virtual vec4 inviwo::OrthographicCamera::getClipPosFromNormalizedDeviceCoords ( const vec3 & ndcCoords) const
overridevirtual

Convert from normalized device coordinates (xyz in [-1 1]) to clip coordinates, where z value of -1 correspond to the near plane and 1 to the far plane. Coordinates outside of the [-1 1]^3 range will be clipped.

Parameters
ndcCoordsxyz clip-coordinates in [-1 1]^3, and the clip w-coordinate used for perspective division.
Returns
Clip space position

Reimplemented from inviwo::Camera.

◆ serialize()

virtual void inviwo::OrthographicCamera::serialize ( Serializer & s) const
overridevirtual

Reimplemented from inviwo::Camera.

◆ updateFrom()

virtual void inviwo::OrthographicCamera::updateFrom ( const Camera & source)
overridevirtual

Reimplemented from inviwo::Camera.

◆ zoom()

virtual void inviwo::OrthographicCamera::zoom ( float factor,
std::optional< mat4 > boundingBox )
overridevirtual

Implements inviwo::Camera.


The documentation for this class was generated from the following file: