oa::FnCamera

FnCamera namespace in the OA Ui public surface.

NsC++ public headers

Public Functions

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

Function Documentation

void oa::FnCamera::fitToWindow( oa::CameraState & inState, oa::F32 inWindowWidth, oa::F32 inWindowHeight )
No public source comment is attached to this declaration.

Parameters

inState
oa::CameraState &

inWindowWidth
oa::F32

inWindowHeight
oa::F32

Returns

void

The declared return value.

oa::F32 oa::FnCamera::getEffectiveFovY( const oa::CameraState & inState )
Effective FOV (respects focal length override)

Parameters

inState
const oa::CameraState &

Returns

oa::F32

The declared return value.

oa::F32 oa::FnCamera::getFar( const oa::CameraState & inState )
No public source comment is attached to this declaration.

Parameters

inState
const oa::CameraState &

Returns

oa::F32

The declared return value.

oa::F32 oa::FnCamera::getFocalLength( const oa::CameraState & inState )
No public source comment is attached to this declaration.

Parameters

inState
const oa::CameraState &

Returns

oa::F32

The declared return value.

oa::vlm::Vec3 oa::FnCamera::getForward( const oa::CameraState & inState )
No public source comment is attached to this declaration.

Parameters

inState
const oa::CameraState &

Returns

oa::vlm::Vec3

The declared return value.

oa::F32 oa::FnCamera::getFovY( const oa::CameraState & inState )
No public source comment is attached to this declaration.

Parameters

inState
const oa::CameraState &

Returns

oa::F32

The declared return value.

oa::F32 oa::FnCamera::getNear( const oa::CameraState & inState )
No public source comment is attached to this declaration.

Parameters

inState
const oa::CameraState &

Returns

oa::F32

The declared return value.

oa::vlm::Vec2 oa::FnCamera::getOffset( const oa::CameraState & inState )
No public source comment is attached to this declaration.

Parameters

inState
const oa::CameraState &

Returns

oa::vlm::Vec2

The declared return value.

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

Parameters

inState
const oa::CameraState &

Returns

const oa::vlm::Vec3 &

The declared return value.

oa::vlm::Mat4 oa::FnCamera::getProjectionMatrix( const oa::CameraState & inState )
No public source comment is attached to this declaration.

Parameters

inState
const oa::CameraState &

Returns

oa::vlm::Mat4

The declared return value.

oa::CameraProjection oa::FnCamera::getProjectionType( const oa::CameraState & inState )
No public source comment is attached to this declaration.

Parameters

inState
const oa::CameraState &

Returns

oa::CameraProjection

The declared return value.

oa::vlm::Vec3 oa::FnCamera::getRight( const oa::CameraState & inState )
No public source comment is attached to this declaration.

Parameters

inState
const oa::CameraState &

Returns

oa::vlm::Vec3

The declared return value.

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

Parameters

inState
const oa::CameraState &

Returns

const oa::vlm::Quat &

The declared return value.

oa::F32 oa::FnCamera::getSensorHeight( const oa::CameraState & inState )
No public source comment is attached to this declaration.

Parameters

inState
const oa::CameraState &

Returns

oa::F32

The declared return value.

oa::vlm::Vec3 oa::FnCamera::getUp( const oa::CameraState & inState )
No public source comment is attached to this declaration.

Parameters

inState
const oa::CameraState &

Returns

oa::vlm::Vec3

The declared return value.

oa::vlm::Mat4 oa::FnCamera::getViewMatrix( const oa::CameraState & inState )
─── matrices ─────────────────────────────────────────────────────────────

Parameters

inState
const oa::CameraState &

Returns

oa::vlm::Mat4

The declared return value.

oa::vlm::Mat4 oa::FnCamera::getViewProjectionMatrix( const oa::CameraState & inState )
No public source comment is attached to this declaration.

Parameters

inState
const oa::CameraState &

Returns

oa::vlm::Mat4

The declared return value.

oa::vlm::Vec3 oa::FnCamera::getYawPitchRoll( const oa::CameraState & inState )
No public source comment is attached to this declaration.

Parameters

inState
const oa::CameraState &

Returns

oa::vlm::Vec3

The declared return value.

oa::F32 oa::FnCamera::getZoom( const oa::CameraState & inState )
No public source comment is attached to this declaration.

Parameters

inState
const oa::CameraState &

Returns

oa::F32

The declared return value.

void oa::FnCamera::initOrthographic( oa::CameraState & inState, oa::F32 inWidth = 1.0f, oa::F32 inHeight = 1.0f, oa::F32 inNear = 0.0f, oa::F32 inFar = 1.0f )
initialize as 2D orthographic camera (convenience for image/video viewing)

Parameters

inState
oa::CameraState &

inWidth
oa::F32

Default: 1.0f

inHeight
oa::F32

Default: 1.0f

inNear
oa::F32

Default: 0.0f

inFar
oa::F32

Default: 1.0f

Returns

void

The declared return value.

void oa::FnCamera::initPerspective( oa::CameraState & inState, const oa::vlm::Vec3 & inPosition = {0.0f, 2.0f, 5.0f}, 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 = 100.0f )
initialize as 3D perspective camera (convenience for default setup)

Parameters

inState
oa::CameraState &

inPosition
const oa::vlm::Vec3 &

Default: {0.0f, 2.0f, 5.0f}

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: 100.0f

Returns

void

The declared return value.

void oa::FnCamera::lookAt( oa::CameraState & inState, 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

inState
oa::CameraState &

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::FnCamera::orbitSetYawPitch( oa::CameraState & inState, oa::F32 inYaw, oa::F32 inPitch )
No public source comment is attached to this declaration.

Parameters

inState
oa::CameraState &

inYaw
oa::F32

inPitch
oa::F32

Returns

void

The declared return value.

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

Parameters

inState
oa::CameraState &

inYawDelta
oa::F32

inPitchDelta
oa::F32

Returns

void

The declared return value.

void oa::FnCamera::panLocal( oa::CameraState & inState, oa::F32 inRight, oa::F32 inUp, oa::F32 inForward )
─── camera-Space movement ───────────────────────────────────────────────

Parameters

inState
oa::CameraState &

inRight
oa::F32

inUp
oa::F32

inForward
oa::F32

Returns

void

The declared return value.

void oa::FnCamera::setAspectRatio( oa::CameraState & inState, oa::F32 inAspect )
No public source comment is attached to this declaration.

Parameters

inState
oa::CameraState &

inAspect
oa::F32

Returns

void

The declared return value.

void oa::FnCamera::setFocalLength( oa::CameraState & inState, oa::F32 inFocalLengthMm )
─── Focal length / Sensor ─────────────────────────────────────────────────

Parameters

inState
oa::CameraState &

inFocalLengthMm
oa::F32

Returns

void

The declared return value.

void oa::FnCamera::setFovY( oa::CameraState & inState, oa::F32 inFovY )
─── FOV ─────────────────────────────────────────────────────────────────

Parameters

inState
oa::CameraState &

inFovY
oa::F32

Returns

void

The declared return value.

void oa::FnCamera::setNearFar( oa::CameraState & inState, oa::F32 inNear, oa::F32 inFar )
─── Frustum ─────────────────────────────────────────────────────────────

Parameters

inState
oa::CameraState &

inNear
oa::F32

inFar
oa::F32

Returns

void

The declared return value.

void oa::FnCamera::setOffset( oa::CameraState & inState, oa::F32 inOffsetX, oa::F32 inOffsetY )
─── Screen offset ───────────────────────────────────────────────────────

Parameters

inState
oa::CameraState &

inOffsetX
oa::F32

inOffsetY
oa::F32

Returns

void

The declared return value.

void oa::FnCamera::setOrbitDistance( oa::CameraState & inState, oa::F32 inDistance )
No public source comment is attached to this declaration.

Parameters

inState
oa::CameraState &

inDistance
oa::F32

Returns

void

The declared return value.

void oa::FnCamera::setOrbitTarget( oa::CameraState & inState, const oa::vlm::Vec3 & inTarget )
─── Orbit Controls ──────────────────────────────────────────────────────

Parameters

inState
oa::CameraState &

inTarget
const oa::vlm::Vec3 &

Returns

void

The declared return value.

void oa::FnCamera::setOrthographic( oa::CameraState & inState, oa::F32 inWidth, oa::F32 inHeight, oa::F32 inNear = 0.0f, oa::F32 inFar = 1.0f )
No public source comment is attached to this declaration.

Parameters

inState
oa::CameraState &

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::FnCamera::setPerspective( oa::CameraState & inState, oa::F32 inFovY, oa::F32 inAspect, oa::F32 inNear, oa::F32 inFar )
─── projection ───────────────────────────────────────────────────────────

Parameters

inState
oa::CameraState &

inFovY
oa::F32

inAspect
oa::F32

inNear
oa::F32

inFar
oa::F32

Returns

void

The declared return value.

void oa::FnCamera::setPosition( oa::CameraState & inState, const oa::vlm::Vec3 & inPosition )
─── Transform ─────────────────────────────────────────────────────────────

Parameters

inState
oa::CameraState &

inPosition
const oa::vlm::Vec3 &

Returns

void

The declared return value.

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

Parameters

inState
oa::CameraState &

inRotation
const oa::vlm::Quat &

Returns

void

The declared return value.

void oa::FnCamera::setSensorHeight( oa::CameraState & inState, oa::F32 inSensorHeightMm )
No public source comment is attached to this declaration.

Parameters

inState
oa::CameraState &

inSensorHeightMm
oa::F32

Returns

void

The declared return value.

void oa::FnCamera::setYawPitchRoll( oa::CameraState & inState, oa::F32 inYawDeg, oa::F32 inPitchDeg, oa::F32 inRollDeg )
─── Euler Angles ─────────────────────────────────────────────────────────

Parameters

inState
oa::CameraState &

inYawDeg
oa::F32

inPitchDeg
oa::F32

inRollDeg
oa::F32

Returns

void

The declared return value.

void oa::FnCamera::setZoom( oa::CameraState & inState, oa::F32 inZoom )
─── zoom ────────────────────────────────────────────────────────────────

Parameters

inState
oa::CameraState &

inZoom
oa::F32

Returns

void

The declared return value.