Tatooine
Public Types | Public Member Functions | Private Attributes | List of all members
tatooine::rendering::camera_controller_interface< Real > Struct Template Referenceabstract

#include <camera_controller.h>

Inheritance diagram for tatooine::rendering::camera_controller_interface< Real >:
[legend]
Collaboration diagram for tatooine::rendering::camera_controller_interface< Real >:
[legend]

Public Types

using vec3 = vec< Real, 3 >
 
using vec4 = vec< Real, 4 >
 
using mat3 = mat< Real, 3, 3 >
 
using mat4 = mat< Real, 4, 4 >
 

Public Member Functions

 camera_controller_interface (camera_controller< Real > *controller)
 
virtual ~camera_controller_interface ()=default
 
auto perspective_camera () -> auto &
 
auto perspective_camera () const -> auto const &
 
auto orthographic_camera () -> auto &
 
auto orthographic_camera () const -> auto const &
 
void look_at (vec3 const &eye, vec3 const &lookat, vec3 const &up={0, 1, 0})
 
auto controller () -> auto &
 
auto controller () const -> auto const &
 
virtual auto type () const -> std::type_info const &=0
 
virtual void update (std::chrono::duration< double > const &)
 
- Public Member Functions inherited from tatooine::gl::window_listener
virtual void on_cursor_moved (double, double)
 
virtual void on_resize (int, int)
 
virtual void on_close ()
 
- Public Member Functions inherited from tatooine::gl::keyboard_listener
virtual void on_key_pressed (key)
 
virtual void on_key_released (key)
 
- Public Member Functions inherited from tatooine::gl::button_listener
virtual void on_button_pressed (button)
 
virtual void on_button_released (button)
 
virtual void on_wheel_up ()
 
virtual void on_wheel_down ()
 
virtual void on_wheel_left ()
 
virtual void on_wheel_right ()
 

Private Attributes

camera_controller< Real > * m_controller
 

Member Typedef Documentation

◆ mat3

template<typename Real >
using tatooine::rendering::camera_controller_interface< Real >::mat3 = mat<Real, 3, 3>

◆ mat4

template<typename Real >
using tatooine::rendering::camera_controller_interface< Real >::mat4 = mat<Real, 4, 4>

◆ vec3

template<typename Real >
using tatooine::rendering::camera_controller_interface< Real >::vec3 = vec<Real, 3>

◆ vec4

template<typename Real >
using tatooine::rendering::camera_controller_interface< Real >::vec4 = vec<Real, 4>

Constructor & Destructor Documentation

◆ camera_controller_interface()

template<typename Real >
tatooine::rendering::camera_controller_interface< Real >::camera_controller_interface ( camera_controller< Real > *  controller)
inline

◆ ~camera_controller_interface()

template<typename Real >
virtual tatooine::rendering::camera_controller_interface< Real >::~camera_controller_interface ( )
virtualdefault

Member Function Documentation

◆ controller() [1/2]

template<typename Real >
auto tatooine::rendering::camera_controller_interface< Real >::controller ( ) -> auto&
inline

◆ controller() [2/2]

template<typename Real >
auto tatooine::rendering::camera_controller_interface< Real >::controller ( ) const -> auto const&
inline

◆ look_at()

template<typename Real >
void tatooine::rendering::camera_controller_interface< Real >::look_at ( vec3 const &  eye,
vec3 const &  lookat,
vec3 const &  up = {0, 1, 0} 
)
inline

◆ orthographic_camera() [1/2]

template<typename Real >
auto tatooine::rendering::camera_controller_interface< Real >::orthographic_camera ( ) -> auto&
inline

◆ orthographic_camera() [2/2]

template<typename Real >
auto tatooine::rendering::camera_controller_interface< Real >::orthographic_camera ( ) const -> auto const&
inline

◆ perspective_camera() [1/2]

template<typename Real >
auto tatooine::rendering::camera_controller_interface< Real >::perspective_camera ( ) -> auto&
inline

◆ perspective_camera() [2/2]

template<typename Real >
auto tatooine::rendering::camera_controller_interface< Real >::perspective_camera ( ) const -> auto const&
inline

◆ type()

template<typename Real >
virtual auto tatooine::rendering::camera_controller_interface< Real >::type ( ) const -> std::type_info const &
pure virtual

◆ update()

template<typename Real >
virtual void tatooine::rendering::camera_controller_interface< Real >::update ( std::chrono::duration< double > const &  )
inlinevirtual

Member Data Documentation

◆ m_controller

template<typename Real >
camera_controller<Real>* tatooine::rendering::camera_controller_interface< Real >::m_controller
private

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