oa::Camera

Camera class in the OA Ui public surface.

Public Methods

void oa::Camera::fitToWindow(oa::F32 inWindowWidth, oa::F32 inWindowHeight)
oa::F32 oa::Camera::getEffectiveFovY()
oa::F32 oa::Camera::getFar()
oa::F32 oa::Camera::getFocalLength()
oa::vlm::Vec3 oa::Camera::getForward()
oa::F32 oa::Camera::getFovY()
oa::F32 oa::Camera::getNear()
oa::vlm::Vec2 oa::Camera::getOffset()
const oa::vlm::Vec3 & oa::Camera::getPosition()
oa::vlm::Mat4 oa::Camera::getProjectionMatrix()
CameraProjection oa::Camera::getProjectionType()
oa::vlm::Vec3 oa::Camera::getRight()
const oa::vlm::Quat & oa::Camera::getRotation()
oa::F32 oa::Camera::getSensorHeight()
CameraState & oa::Camera::getState()
const CameraState & oa::Camera::getState()
oa::vlm::Vec3 oa::Camera::getUp()
oa::vlm::Mat4 oa::Camera::getViewMatrix()
oa::vlm::Mat4 oa::Camera::getViewProjectionMatrix()
oa::vlm::Vec3 oa::Camera::getYawPitchRoll()
oa::F32 oa::Camera::getZoom()
void oa::Camera::lookAt(const oa::vlm::Vec3 & inTarget, const oa::vlm::Vec3 & inUp = {0.0f, 1.0f, 0.0f})
void oa::Camera::orbitSetYawPitch(oa::F32 inYaw, oa::F32 inPitch)
void oa::Camera::orbitYawPitch(oa::F32 inYawDelta, oa::F32 inPitchDelta)
void oa::Camera::panLocal(oa::F32 inRight, oa::F32 inUp, oa::F32 inForward)
void oa::Camera::setAspectRatio(oa::F32 inAspect)
void oa::Camera::setFocalLength(oa::F32 inFocalLengthMm)
void oa::Camera::setFovY(oa::F32 inFovY)
void oa::Camera::setNearFar(oa::F32 inNear, oa::F32 inFar)
void oa::Camera::setOffset(oa::F32 inOffsetX, oa::F32 inOffsetY)
void oa::Camera::setOrbitDistance(oa::F32 inDistance)
void oa::Camera::setOrbitTarget(const oa::vlm::Vec3 & inTarget)
void oa::Camera::setOrthographic(oa::F32 inWidth, oa::F32 inHeight, oa::F32 inNear = 0.0f, oa::F32 inFar = 1.0f)
void oa::Camera::setPerspective(oa::F32 inFovY, oa::F32 inAspect, oa::F32 inNear, oa::F32 inFar)
void oa::Camera::setPosition(const oa::vlm::Vec3 & inPosition)
void oa::Camera::setRotation(const oa::vlm::Quat & inRotation)
void oa::Camera::setSensorHeight(oa::F32 inSensorHeightMm)
void oa::Camera::setYawPitchRoll(oa::F32 inYawDeg, oa::F32 inPitchDeg, oa::F32 inRollDeg)
void oa::Camera::setZoom(oa::F32 inZoom)

Constructor & Destructor Documentation

oa::Camera::Camera()
Default constructor — perspective camera at (0,0,5) looking at origin
oa::Camera::Camera( const oa::vlm::Vec3 & inPosition, const oa::vlm::Vec3 & inTarget = {0.0f, 0.0f, 0.0f}, oa::F32 inFovY = 60.0f, oa::F32 inAspect = 1280.0f / 720.0f, oa::F32 inNear = 0.1f, oa::F32 inFar = 10000.0f )
3D perspective camera constructor

Parameters

inPosition
const oa::vlm::Vec3 &

inTarget
const oa::vlm::Vec3 &

Default: {0.0f, 0.0f, 0.0f}

inFovY
oa::F32

Default: 60.0f

inAspect
oa::F32

Default: 1280.0f / 720.0f

inNear
oa::F32

Default: 0.1f

inFar
oa::F32

Default: 10000.0f

oa::Camera::Camera( oa::F32 inWidth, oa::F32 inHeight, oa::F32 inNear = 0.0f, oa::F32 inFar = 100.0f )
2D orthographic camera constructor (for image/video viewing)

Parameters

inWidth
oa::F32

inHeight
oa::F32

inNear
oa::F32

Default: 0.0f

inFar
oa::F32

Default: 100.0f

void oa::Camera::~Camera()
No public source comment is attached to this declaration.

Public Method Documentation

void oa::Camera::fitToWindow( oa::F32 inWindowWidth, oa::F32 inWindowHeight )
viewport aspect ratio helper

Parameters

inWindowWidth
oa::F32

inWindowHeight
oa::F32

Returns

void

The declared return value.

oa::F32 oa::Camera::getEffectiveFovY()
Effective FOV

Returns

oa::F32

The declared return value.

oa::F32 oa::Camera::getFar()
No public source comment is attached to this declaration.

Returns

oa::F32

The declared return value.

oa::F32 oa::Camera::getFocalLength()
No public source comment is attached to this declaration.

Returns

oa::F32

The declared return value.

oa::vlm::Vec3 oa::Camera::getForward()
No public source comment is attached to this declaration.

Returns

oa::vlm::Vec3

The declared return value.

oa::F32 oa::Camera::getFovY()
No public source comment is attached to this declaration.

Returns

oa::F32

The declared return value.

oa::F32 oa::Camera::getNear()
No public source comment is attached to this declaration.

Returns

oa::F32

The declared return value.

oa::vlm::Vec2 oa::Camera::getOffset()
No public source comment is attached to this declaration.

Returns

oa::vlm::Vec2

The declared return value.

const oa::vlm::Vec3 & oa::Camera::getPosition()
No public source comment is attached to this declaration.

Returns

const oa::vlm::Vec3 &

The declared return value.

oa::vlm::Mat4 oa::Camera::getProjectionMatrix()
No public source comment is attached to this declaration.

Returns

oa::vlm::Mat4

The declared return value.

CameraProjection oa::Camera::getProjectionType()
No public source comment is attached to this declaration.

Returns

CameraProjection

The declared return value.

oa::vlm::Vec3 oa::Camera::getRight()
No public source comment is attached to this declaration.

Returns

oa::vlm::Vec3

The declared return value.

const oa::vlm::Quat & oa::Camera::getRotation()
No public source comment is attached to this declaration.

Returns

const oa::vlm::Quat &

The declared return value.

oa::F32 oa::Camera::getSensorHeight()
No public source comment is attached to this declaration.

Returns

oa::F32

The declared return value.

CameraState & oa::Camera::getState()
Direct state access (for advanced use)

Returns

CameraState &

The declared return value.

const CameraState & oa::Camera::getState()
No public source comment is attached to this declaration.

Returns

const CameraState &

The declared return value.

oa::vlm::Vec3 oa::Camera::getUp()
No public source comment is attached to this declaration.

Returns

oa::vlm::Vec3

The declared return value.

oa::vlm::Mat4 oa::Camera::getViewMatrix()
matrices

Returns

oa::vlm::Mat4

The declared return value.

oa::vlm::Mat4 oa::Camera::getViewProjectionMatrix()
No public source comment is attached to this declaration.

Returns

oa::vlm::Mat4

The declared return value.

oa::vlm::Vec3 oa::Camera::getYawPitchRoll()
No public source comment is attached to this declaration.

Returns

oa::vlm::Vec3

The declared return value.

oa::F32 oa::Camera::getZoom()
No public source comment is attached to this declaration.

Returns

oa::F32

The declared return value.

void oa::Camera::lookAt( const oa::vlm::Vec3 & inTarget, const oa::vlm::Vec3 & inUp = {0.0f, 1.0f, 0.0f} )
No public source comment is attached to this declaration.

Parameters

inTarget
const oa::vlm::Vec3 &

inUp
const oa::vlm::Vec3 &

Default: {0.0f, 1.0f, 0.0f}

Returns

void

The declared return value.

void oa::Camera::orbitSetYawPitch( oa::F32 inYaw, oa::F32 inPitch )
No public source comment is attached to this declaration.

Parameters

inYaw
oa::F32

inPitch
oa::F32

Returns

void

The declared return value.

void oa::Camera::orbitYawPitch( oa::F32 inYawDelta, oa::F32 inPitchDelta )
No public source comment is attached to this declaration.

Parameters

inYawDelta
oa::F32

inPitchDelta
oa::F32

Returns

void

The declared return value.

void oa::Camera::panLocal( oa::F32 inRight, oa::F32 inUp, oa::F32 inForward )
camera-space movement (pan in camera local axes)

Parameters

inRight
oa::F32

inUp
oa::F32

inForward
oa::F32

Returns

void

The declared return value.

void oa::Camera::setAspectRatio( oa::F32 inAspect )
No public source comment is attached to this declaration.

Parameters

inAspect
oa::F32

Returns

void

The declared return value.

void oa::Camera::setFocalLength( oa::F32 inFocalLengthMm )
Focal length / sensor (photography-style perspective)

Parameters

inFocalLengthMm
oa::F32

Returns

void

The declared return value.

void oa::Camera::setFovY( oa::F32 inFovY )
FOV (perspective only)

Parameters

inFovY
oa::F32

Returns

void

The declared return value.

void oa::Camera::setNearFar( oa::F32 inNear, oa::F32 inFar )
Frustum

Parameters

inNear
oa::F32

inFar
oa::F32

Returns

void

The declared return value.

void oa::Camera::setOffset( oa::F32 inOffsetX, oa::F32 inOffsetY )
Screen offset (lens shift / 2D pan)

Parameters

inOffsetX
oa::F32

inOffsetY
oa::F32

Returns

void

The declared return value.

void oa::Camera::setOrbitDistance( oa::F32 inDistance )
No public source comment is attached to this declaration.

Parameters

inDistance
oa::F32

Returns

void

The declared return value.

void oa::Camera::setOrbitTarget( const oa::vlm::Vec3 & inTarget )
Orbit controls (rotate around target)

Parameters

inTarget
const oa::vlm::Vec3 &

Returns

void

The declared return value.

void oa::Camera::setOrthographic( oa::F32 inWidth, oa::F32 inHeight, oa::F32 inNear = 0.0f, oa::F32 inFar = 1.0f )
projection (2D orthographic)

Parameters

inWidth
oa::F32

inHeight
oa::F32

inNear
oa::F32

Default: 0.0f

inFar
oa::F32

Default: 1.0f

Returns

void

The declared return value.

void oa::Camera::setPerspective( oa::F32 inFovY, oa::F32 inAspect, oa::F32 inNear, oa::F32 inFar )
projection (3D perspective)

Parameters

inFovY
oa::F32

inAspect
oa::F32

inNear
oa::F32

inFar
oa::F32

Returns

void

The declared return value.

void oa::Camera::setPosition( const oa::vlm::Vec3 & inPosition )
Transform

Parameters

inPosition
const oa::vlm::Vec3 &

Returns

void

The declared return value.

void oa::Camera::setRotation( const oa::vlm::Quat & inRotation )
No public source comment is attached to this declaration.

Parameters

inRotation
const oa::vlm::Quat &

Returns

void

The declared return value.

void oa::Camera::setSensorHeight( oa::F32 inSensorHeightMm )
No public source comment is attached to this declaration.

Parameters

inSensorHeightMm
oa::F32

Returns

void

The declared return value.

void oa::Camera::setYawPitchRoll( oa::F32 inYawDeg, oa::F32 inPitchDeg, oa::F32 inRollDeg )
Euler angles (yaw/pitch/roll in degrees)

Parameters

inYawDeg
oa::F32

inPitchDeg
oa::F32

inRollDeg
oa::F32

Returns

void

The declared return value.

void oa::Camera::setZoom( oa::F32 inZoom )
zoom (orthographic only)

Parameters

inZoom
oa::F32

Returns

void

The declared return value.