VenomEngine
Cross-Platform Modern Graphics Engine
Loading...
Searching...
No Matches
venom::common::Transform3D Class Reference
+ Inheritance diagram for venom::common::Transform3D:

Public Member Functions

 Transform3D (const Transform3D &other)
 
Transform3Doperator= (const Transform3D &other)
 
 Transform3D (Transform3D &&other) noexcept
 
Transform3Doperator= (Transform3D &&other) noexcept
 
void SetPosition (const vcm::Vec3 &position)
 
void Move (const vcm::Vec3 &delta)
 
void MoveForward (const float delta)
 
void MoveRight (const float delta)
 
void MoveUp (const float delta)
 
const vcm::Vec3 & GetPosition () const
 
bool HasPositionChanged ()
 
void SetRotation (const vcm::Vec3 &rotation)
 
void SetYaw (float angle)
 
void SetPitch (float angle)
 
void SetRoll (float angle)
 
void RotateYaw (float angle)
 
void RotatePitch (float angle)
 
void RotateRoll (float angle)
 
void Rotate (const vcm::Vec3 &rotation)
 
const vcm::Quat & GetRotationQuat () const
 
const vcm::Vec3 & GetRotation ()
 
void RotateAround (const vcm::Vec3 &target, const vcm::Vec3 &planeNormal, float angle)
 Rotates around the target on the given planeNormal by the given angle.
 
void LookAt (const vcm::Vec3 &target)
 
vcm::Vec3 GetForwardVector () const
 
vcm::Vec3 GetUpVector () const
 
vcm::Vec3 GetRightVector () const
 
void UpdateModelMatrix ()
 
const vcm::Mat4 & GetModelMatrix ()
 

Protected Member Functions

void _UpdateRotationQuat ()
 

Protected Attributes

vcm::Vec3 _position
 
vcm::Quat _rotationQuat
 
union { 
 
   vcm::Vec3   _3Drotation 
 
   struct { 
 
      float   _yaw 
 
      float   _pitch 
 
      float   _roll 
 
   }  
 
};  
 
vcm::Mat4 _modelMatrix
 

Member Function Documentation

◆ RotateAround()

void venom::common::Transform3D::RotateAround ( const vcm::Vec3 & target,
const vcm::Vec3 & planeNormal,
float angle )

Rotates around the target on the given planeNormal by the given angle.

Parameters
target
planeNormal
angle

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