Skip to content

Kuesa::Serenity::CameraController

Module: Kuesa Serenity API

A CameraController providing zooming, panning and orbiting motions to a Serenity Camera. More...

#include <Kuesa/Serenity/api/cameracontroller.h>

Inherits from Serenity::Object

Public Functions

Name
CameraController()
~CameraController()

Protected Functions

Name
void event(::Serenity::EventReceiver * target, ::Serenity::Event * e) override

Public Attributes

Name
Property<::Serenity::Window * > window
Property<::Serenity::Camera * > camera
Property< bool > running
Property< float > moveSpeed
Property< float > lookSpeed
Property< float > zoomSpeed
Property< glm::vec3 > viewCenter
Property< glm::vec3 > cameraPosition
Property< glm::vec3 > viewVector
Property< glm::vec3 > upVector

Friends

Name
class Kuesa::Serenity::Window

Detailed Description

1
class Kuesa::Serenity::CameraController;

A CameraController providing zooming, panning and orbiting motions to a Serenity Camera.

Since: Kuesa 2.0

Public Functions Documentation

function CameraController

1
CameraController()

function ~CameraController

1
~CameraController()

Protected Functions Documentation

function event

1
2
3
4
void event(
    ::Serenity::EventReceiver * target,
    ::Serenity::Event * e
) override

Public Attributes Documentation

variable window

1
Property<::Serenity::Window * > window { nullptr };

variable camera

1
Property<::Serenity::Camera * > camera { nullptr };

variable running

1
Property< bool > running { true };

variable moveSpeed

1
Property< float > moveSpeed { 1.0f };

variable lookSpeed

1
Property< float > lookSpeed { float(M_PI) * 0.25f };

variable zoomSpeed

1
Property< float > zoomSpeed { 10.0f };

variable viewCenter

1
Property< glm::vec3 > viewCenter { glm::vec3(0.0f, 0.0f, 0.0f) };

variable cameraPosition

1
Property< glm::vec3 > cameraPosition;

variable viewVector

1
Property< glm::vec3 > viewVector;

variable upVector

1
Property< glm::vec3 > upVector;

Friends

friend Kuesa::Serenity::Window

1
2
3
friend class Kuesa::Serenity::Window(
    Kuesa::Serenity::Window 
);

Updated on 2022-10-18 at 11:12:51 +0200