opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
osc::OrbitCameraController Struct Referencefinal

#include <orbit_camera_controller.h>

Collaboration diagram for osc::OrbitCameraController:
[legend]

Public Member Functions

void update_camera (Camera &) const
 
void reset ()
 
void pan (float aspect_ratio, Vector2 normalized_delta, const Camera &)
 
void drag (Vector2 normalized_delta)
 
void zoom_in ()
 
void zoom_out ()
 
void focus_on (const AABB &aabb, const Camera &camera, float aspect_ratio=1.0f)
 
void focus_along (CoordinateDirection)
 
void focus_along (const Vector3 &direction)
 

Static Public Member Functions

static OrbitCameraController focused_on (const AABB &aabb, const Camera &camera, float aspect_ratio=1.0f)
 

Public Attributes

Vector3 focus_point {}
 
float radius = 1.0f
 
Radians theta = Degrees{45.0f}
 
Radians phi = Degrees{45.0f}
 

Friends

bool operator== (const OrbitCameraController &, const OrbitCameraController &)=default
 

Detailed Description

Controls a camera that orbits around a focal point, similar to an "arcball" or "turntable" camera controller in other libraries.

Member Function Documentation

◆ drag()

void osc::OrbitCameraController::drag ( Vector2  normalized_delta)

◆ focus_along() [1/2]

void osc::OrbitCameraController::focus_along ( const Vector3 &  direction)

◆ focus_along() [2/2]

void osc::OrbitCameraController::focus_along ( CoordinateDirection  )

◆ focus_on()

void osc::OrbitCameraController::focus_on ( const AABB &  aabb,
const Camera &  camera,
float  aspect_ratio = 1.0f 
)

◆ focused_on()

static OrbitCameraController osc::OrbitCameraController::focused_on ( const AABB &  aabb,
const Camera &  camera,
float  aspect_ratio = 1.0f 
)
static

◆ pan()

void osc::OrbitCameraController::pan ( float  aspect_ratio,
Vector2  normalized_delta,
const Camera &   
)

◆ reset()

void osc::OrbitCameraController::reset ( )

◆ update_camera()

void osc::OrbitCameraController::update_camera ( Camera &  ) const

◆ zoom_in()

void osc::OrbitCameraController::zoom_in ( )
inline

◆ zoom_out()

void osc::OrbitCameraController::zoom_out ( )
inline

Friends And Related Symbol Documentation

◆ operator==

bool operator== ( const OrbitCameraController &  ,
const OrbitCameraController &   
)
friend

Member Data Documentation

◆ focus_point

Vector3 osc::OrbitCameraController::focus_point {}

◆ phi

Radians osc::OrbitCameraController::phi = Degrees{45.0f}

◆ radius

float osc::OrbitCameraController::radius = 1.0f

◆ theta

Radians osc::OrbitCameraController::theta = Degrees{45.0f}

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