Euphoria
eu::core::EditorCamera3 Struct Referenceabstract

#include <camera3.editor.h>

Public Member Functions

 EditorCamera3 ()
 
virtual ~EditorCamera3 ()=default
 
 EditorCamera3 (EditorCamera3 &&)=default
 
EditorCamera3operator= (EditorCamera3 &&)=default
 
 EditorCamera3 (const EditorCamera3 &)=delete
 
EditorCamera3operator= (const EditorCamera3 &)=delete
 
void update (bool shift_state, const vec2i &mouse, const CompiledCamera3 &camera, const Viewport &viewport, float dt)
 
void on_mouse_move (int dx, int dy)
 
void on_scroll (int dx, int dy)
 
void on_key (Key key, bool down)
 
void on_camera_start ()
 
void on_camera_stop ()
 
void toggle_camera_orbit ()
 
void save_camera (int id)
 
void load_camera (int id)
 
void focus (const SphereAndPosition &s, const Camera3 &cam)
 
void apply_frame (const detail::CameraFrame &frame)
 
MouseBehaviour get_mouse () const
 
bool is_camera_orbit () const
 
virtual std::optional< vec3fraycast (const UnitRay3f &ray)=0
 

Public Attributes

EditorCameraStyle3 style = EditorCameraStyle3::orbital
 
FpsController fps
 
float zoom_percent = 0.1f
 
float max_zoom_change = 25.0f
 
bool animate_camera = true
 
float camera_lerp_time = 0.2f
 
bool scroll_in_orbit = false
 
easing::Function lerp_function = easing::Function::smooth_stop3
 
std::unique_ptr< detail::EditorCameraState3state
 
std::unique_ptr< detail::EditorCameraState3next_state
 
std::vector< detail::CameraFramestored_cameras
 

Static Public Attributes

static constexpr int max_stored_index = 10
 

Detailed Description

Definition at line 75 of file camera3.editor.h.

Constructor & Destructor Documentation

◆ EditorCamera3() [1/3]

eu::core::EditorCamera3::EditorCamera3 ( )

Definition at line 557 of file camera3.editor.cc.

◆ ~EditorCamera3()

virtual eu::core::EditorCamera3::~EditorCamera3 ( )
virtualdefault

◆ EditorCamera3() [2/3]

eu::core::EditorCamera3::EditorCamera3 ( EditorCamera3 &&  )
default

◆ EditorCamera3() [3/3]

eu::core::EditorCamera3::EditorCamera3 ( const EditorCamera3 )
delete

Member Function Documentation

◆ apply_frame()

void eu::core::EditorCamera3::apply_frame ( const detail::CameraFrame frame)

Definition at line 690 of file camera3.editor.cc.

◆ focus()

void eu::core::EditorCamera3::focus ( const SphereAndPosition s,
const Camera3 cam 
)

Definition at line 673 of file camera3.editor.cc.

◆ get_mouse()

MouseBehaviour eu::core::EditorCamera3::get_mouse ( ) const

Definition at line 704 of file camera3.editor.cc.

◆ is_camera_orbit()

bool eu::core::EditorCamera3::is_camera_orbit ( ) const

Definition at line 641 of file camera3.editor.cc.

◆ load_camera()

void eu::core::EditorCamera3::load_camera ( int  id)

Definition at line 663 of file camera3.editor.cc.

◆ on_camera_start()

void eu::core::EditorCamera3::on_camera_start ( )

Definition at line 616 of file camera3.editor.cc.

◆ on_camera_stop()

void eu::core::EditorCamera3::on_camera_stop ( )

Definition at line 625 of file camera3.editor.cc.

◆ on_key()

void eu::core::EditorCamera3::on_key ( Key  key,
bool  down 
)

Definition at line 607 of file camera3.editor.cc.

◆ on_mouse_move()

void eu::core::EditorCamera3::on_mouse_move ( int  dx,
int  dy 
)

Definition at line 589 of file camera3.editor.cc.

◆ on_scroll()

void eu::core::EditorCamera3::on_scroll ( int  dx,
int  dy 
)

Definition at line 598 of file camera3.editor.cc.

◆ operator=() [1/2]

EditorCamera3& eu::core::EditorCamera3::operator= ( const EditorCamera3 )
delete

◆ operator=() [2/2]

EditorCamera3& eu::core::EditorCamera3::operator= ( EditorCamera3 &&  )
default

◆ raycast()

virtual std::optional<vec3f> eu::core::EditorCamera3::raycast ( const UnitRay3f ray)
pure virtual

◆ save_camera()

void eu::core::EditorCamera3::save_camera ( int  id)

Definition at line 654 of file camera3.editor.cc.

◆ toggle_camera_orbit()

void eu::core::EditorCamera3::toggle_camera_orbit ( )

Definition at line 648 of file camera3.editor.cc.

◆ update()

void eu::core::EditorCamera3::update ( bool  shift_state,
const vec2i mouse,
const CompiledCamera3 camera,
const Viewport viewport,
float  dt 
)

Definition at line 573 of file camera3.editor.cc.

Member Data Documentation

◆ animate_camera

bool eu::core::EditorCamera3::animate_camera = true

Definition at line 84 of file camera3.editor.h.

◆ camera_lerp_time

float eu::core::EditorCamera3::camera_lerp_time = 0.2f

Definition at line 85 of file camera3.editor.h.

◆ fps

FpsController eu::core::EditorCamera3::fps

Definition at line 80 of file camera3.editor.h.

◆ lerp_function

easing::Function eu::core::EditorCamera3::lerp_function = easing::Function::smooth_stop3

Definition at line 87 of file camera3.editor.h.

◆ max_stored_index

constexpr int eu::core::EditorCamera3::max_stored_index = 10
staticconstexpr

Definition at line 77 of file camera3.editor.h.

◆ max_zoom_change

float eu::core::EditorCamera3::max_zoom_change = 25.0f

Definition at line 82 of file camera3.editor.h.

◆ next_state

std::unique_ptr<detail::EditorCameraState3> eu::core::EditorCamera3::next_state

Definition at line 90 of file camera3.editor.h.

◆ scroll_in_orbit

bool eu::core::EditorCamera3::scroll_in_orbit = false

Definition at line 86 of file camera3.editor.h.

◆ state

std::unique_ptr<detail::EditorCameraState3> eu::core::EditorCamera3::state

Definition at line 89 of file camera3.editor.h.

◆ stored_cameras

std::vector<detail::CameraFrame> eu::core::EditorCamera3::stored_cameras

Definition at line 91 of file camera3.editor.h.

◆ style

EditorCameraStyle3 eu::core::EditorCamera3::style = EditorCameraStyle3::orbital

Definition at line 79 of file camera3.editor.h.

◆ zoom_percent

float eu::core::EditorCamera3::zoom_percent = 0.1f

Definition at line 81 of file camera3.editor.h.


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