Vulkan-Hpp
vk::su::CameraManipulator Class Reference

#include <CameraManipulator.hpp>

Public Types

enum class  Action {
  None , Orbit , Dolly , Pan ,
  LookAround
}
 
enum class  Mode { Examine , Fly , Walk , Trackball }
 
enum class  MouseButton { None , Left , Middle , Right }
 
enum class  ModifierFlagBits : uint32_t { Shift = 1 , Ctrl = 2 , Alt = 4 }
 
using ModifierFlags = vk::Flags< ModifierFlagBits >
 

Public Member Functions

 CameraManipulator ()
 
glm::vec3 const & getCameraPosition () const
 
glm::vec3 const & getCenterPosition () const
 
glm::mat4 const & getMatrix () const
 
Mode getMode () const
 
glm::ivec2 const & getMousePosition () const
 
float getRoll () const
 
float getSpeed () const
 
glm::vec3 const & getUpVector () const
 
glm::u32vec2 const & getWindowSize () const
 
Action mouseMove (glm::ivec2 const &position, MouseButton mouseButton, ModifierFlags &modifiers)
 
void setLookat (const glm::vec3 &cameraPosition, const glm::vec3 &centerPosition, const glm::vec3 &upVector)
 
void setMode (Mode mode)
 
void setMousePosition (glm::ivec2 const &position)
 
void setRoll (float roll)
 
void setSpeed (float speed)
 
void setWindowSize (glm::ivec2 const &size)
 
void wheel (int value)
 

Detailed Description

Definition at line 48 of file CameraManipulator.hpp.

Member Typedef Documentation

◆ ModifierFlags

Member Enumeration Documentation

◆ Action

Enumerator
None 
Orbit 
Dolly 
Pan 
LookAround 

Definition at line 51 of file CameraManipulator.hpp.

◆ Mode

Enumerator
Examine 
Fly 
Walk 
Trackball 

Definition at line 59 of file CameraManipulator.hpp.

◆ ModifierFlagBits

Enumerator
Shift 
Ctrl 
Alt 

Definition at line 73 of file CameraManipulator.hpp.

◆ MouseButton

Enumerator
None 
Left 
Middle 
Right 

Definition at line 66 of file CameraManipulator.hpp.

Constructor & Destructor Documentation

◆ CameraManipulator()

vk::su::CameraManipulator::CameraManipulator ( )

Definition at line 58 of file CameraManipulator.cpp.

Member Function Documentation

◆ getCameraPosition()

glm::vec3 const & vk::su::CameraManipulator::getCameraPosition ( ) const

Definition at line 63 of file CameraManipulator.cpp.

◆ getCenterPosition()

glm::vec3 const & vk::su::CameraManipulator::getCenterPosition ( ) const

Definition at line 68 of file CameraManipulator.cpp.

◆ getMatrix()

glm::mat4 const & vk::su::CameraManipulator::getMatrix ( ) const

Definition at line 73 of file CameraManipulator.cpp.

◆ getMode()

CameraManipulator::Mode vk::su::CameraManipulator::getMode ( ) const

Definition at line 78 of file CameraManipulator.cpp.

◆ getMousePosition()

glm::ivec2 const & vk::su::CameraManipulator::getMousePosition ( ) const

Definition at line 83 of file CameraManipulator.cpp.

◆ getRoll()

float vk::su::CameraManipulator::getRoll ( ) const

Definition at line 88 of file CameraManipulator.cpp.

◆ getSpeed()

float vk::su::CameraManipulator::getSpeed ( ) const

Definition at line 93 of file CameraManipulator.cpp.

◆ getUpVector()

glm::vec3 const & vk::su::CameraManipulator::getUpVector ( ) const

Definition at line 98 of file CameraManipulator.cpp.

◆ getWindowSize()

glm::u32vec2 const & vk::su::CameraManipulator::getWindowSize ( ) const

Definition at line 103 of file CameraManipulator.cpp.

◆ mouseMove()

CameraManipulator::Action vk::su::CameraManipulator::mouseMove ( glm::ivec2 const &  position,
MouseButton  mouseButton,
ModifierFlags modifiers 
)

Definition at line 108 of file CameraManipulator.cpp.

◆ setLookat()

void vk::su::CameraManipulator::setLookat ( const glm::vec3 &  cameraPosition,
const glm::vec3 &  centerPosition,
const glm::vec3 &  upVector 
)

Definition at line 141 of file CameraManipulator.cpp.

◆ setMode()

void vk::su::CameraManipulator::setMode ( Mode  mode)

Definition at line 149 of file CameraManipulator.cpp.

◆ setMousePosition()

void vk::su::CameraManipulator::setMousePosition ( glm::ivec2 const &  position)

Definition at line 154 of file CameraManipulator.cpp.

◆ setRoll()

void vk::su::CameraManipulator::setRoll ( float  roll)

Definition at line 159 of file CameraManipulator.cpp.

◆ setSpeed()

void vk::su::CameraManipulator::setSpeed ( float  speed)

Definition at line 165 of file CameraManipulator.cpp.

◆ setWindowSize()

void vk::su::CameraManipulator::setWindowSize ( glm::ivec2 const &  size)

Definition at line 170 of file CameraManipulator.cpp.

◆ wheel()

void vk::su::CameraManipulator::wheel ( int  value)

Definition at line 175 of file CameraManipulator.cpp.


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