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

Public Member Functions

const vcm::Mat4 & GetViewMatrix ()
 
void SetPerspective (float fovY, float aspectRatio, float nearPlane, float farPlane)
 
const vcm::Mat4 & GetProjectionMatrix ()
 
void SetFieldOfView (float fovY)
 
float GetFieldOfView () const
 
void SetAspectRatio (float aspectRatio)
 
float GetAspectRatio () const
 
void SetNearPlane (float nearPlane)
 
float GetNearPlane () const
 
void SetFarPlane (float farPlane)
 
float GetFarPlane () const
 
void LookAt (const vcm::Vec3 &target)
 
- Public Member Functions inherited from venom::common::PluginObjectImpl
template<class T >
T * As ()
 
template<class T >
const T * As () const
 
template<class T >
T * ConstAs () const
 
template<class T >
T * RAs ()
 
template<class T >
const T * RAs () const
 
void IncRefCount ()
 
void DecRefCount ()
 
- Public Member Functions inherited from venom::common::IPluginObject
- Public Member Functions inherited from venom::common::GraphicsPluginObject
virtual void Destroy () override
 /!\ THIS FUNCTION MUST BE CALLED FOR DESTRUCTION, DO NOT USE delete
 
- Public Member Functions inherited from venom::common::PluginObject
 PluginObject (const PluginType type)
 
PluginType GetType () const override
 
template<class T >
T * DAs ()
 
template<class T >
const T * DAs () const
 
- Public Member Functions inherited from venom::common::Transform3D
 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 ()
 

Additional Inherited Members

- Static Public Member Functions inherited from venom::common::GraphicsPluginObject
static bool HasCachedObject (const std::string &path)
 Checks if an object is in the cache.
 
static SPtr< GraphicsCachedResourceGetCachedObject (const std::string &path)
 Gets a cached object from the graphics cache.
 
static const std::unordered_map< std::string, std::shared_ptr< GraphicsCachedResource > > & GetCachedObjects ()
 Gets all cached objects.
 
- Public Attributes inherited from venom::common::Transform3D
- Protected Member Functions inherited from venom::common::Transform3D
void _UpdateRotationQuat ()
 
- Static Protected Member Functions inherited from venom::common::GraphicsPluginObject
static void _SetInCache (const std::string &path, const SPtr< GraphicsCachedResource > &object)
 Sets an object in the cache.
 
static void _SetCacheSize (size_t size)
 Adds cache size to avoid unnecessary additional allocations.
 
static void _AddCacheSize (size_t size)
 Adds cache size to avoid unnecessary additional allocations.
 
- Protected Attributes inherited from venom::common::Transform3D
vcm::Vec3 _position
 
vcm::Quat _rotationQuat
 
union { 
 
   vcm::Vec3   _3Drotation 
 
   struct { 
 
      float   _yaw 
 
      float   _pitch 
 
      float   _roll 
 
   }  
 
};  
 
vcm::Mat4 _modelMatrix
 

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