vOOlkan
An object oriented approach to Vulkan
Vulkan::Physics::Moveable Class Reference

A Movable object is an object which can be moved and rotated. More...

#include <Moveable.h>

Inheritance diagram for Vulkan::Physics::Moveable:
Vulkan::Objects::Camera Vulkan::Physics::Cinematicable Vulkan::Physics::Hitbox Vulkan::Physics::CircleHitbox Vulkan::Physics::FrameHitbox

Public Member Functions

 Moveable (Position position={ 0.0f, 0.0f, 0.0f }, glm::vec3 rotationEuler={ 0.0f, 0.0f, 0.0f })
 
virtual Moveabletranslate (DeltaSpace delta)
 
virtual const PositiongetPosition () const
 
virtual void setPosition (Position position)
 
virtual Moveablerotate (float angle, glm::vec3 axis)
 
virtual const glm::quat & getRotation () const
 
virtual const glm::vec3 & getRotationEuler () const
 
virtual void setRotation (glm::quat rotation)
 
virtual void setRotation (glm::vec3 eulerAngles)
 
std::mutex & getMutex ()
 

Protected Attributes

std::mutex mutex
 

Detailed Description

A Movable object is an object which can be moved and rotated.

Constructor & Destructor Documentation

◆ Moveable()

Vulkan::Physics::Moveable::Moveable ( Position  position = { 0.0f, 0.0f, 0.0f },
glm::vec3  rotationEuler = { 0.0f, 0.0f, 0.0f } 
)
inline

Member Function Documentation

◆ getMutex()

std::mutex & Vulkan::Physics::Moveable::getMutex ( )
inline

◆ getPosition()

virtual const Position & Vulkan::Physics::Moveable::getPosition ( ) const
inlinevirtual

◆ getRotation()

virtual const glm::quat & Vulkan::Physics::Moveable::getRotation ( ) const
inlinevirtual

◆ getRotationEuler()

virtual const glm::vec3 & Vulkan::Physics::Moveable::getRotationEuler ( ) const
inlinevirtual

◆ rotate()

virtual Moveable & Vulkan::Physics::Moveable::rotate ( float  angle,
glm::vec3  axis 
)
inlinevirtual

◆ setPosition()

virtual void Vulkan::Physics::Moveable::setPosition ( Position  position)
inlinevirtual

Reimplemented in Vulkan::Physics::Cinematicable.

◆ setRotation() [1/2]

virtual void Vulkan::Physics::Moveable::setRotation ( glm::quat  rotation)
inlinevirtual

◆ setRotation() [2/2]

virtual void Vulkan::Physics::Moveable::setRotation ( glm::vec3  eulerAngles)
inlinevirtual

◆ translate()

virtual Moveable & Vulkan::Physics::Moveable::translate ( DeltaSpace  delta)
inlinevirtual

Reimplemented in Vulkan::Physics::Cinematicable.

Member Data Documentation

◆ mutex

std::mutex Vulkan::Physics::Moveable::mutex
mutableprotected

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