OpenBarnyard
 
Loading...
Searching...
No Matches
ACamera Class Reference

#include <ACamera.h>

Inheritance diagram for ACamera:

Public Member Functions

 TDECLARE_CLASS (ACamera, Toshi::TObject)
 
 ACamera ()
 
 ~ACamera ()
 
Toshi::TVector4 GetOrientation () const
 
void LookAtPoint (const Toshi::TVector4 &a_rPoint)
 
void LookAtDirection (const Toshi::TVector4 &a_rDirection)
 
Toshi::TMatrix44 & GetMatrix ()
 
const Toshi::TMatrix44 & GetMatrix () const
 

Static Public Attributes

static TFLOAT sm_fCurrentFOV = Toshi::TMath::DegToRad( 60.0f )
 
static const Toshi::TVector4 sm_vWorldUp = { 0.0f, -1.0f, 0.0f, 1.0f }
 
static const Toshi::TVector4 sm_vInitialLookDirection = { 0.0f, 0.0f, 1.0f, 1.0f }
 

Friends

class ARenderer
 

Detailed Description

Definition at line 4 of file ACamera.h.

Constructor & Destructor Documentation

◆ ACamera()

ACamera::ACamera ( )

Definition at line 18 of file ACamera.cpp.

19{
20 m_Matrix = TMatrix44::IDENTITY;
21 m_fFOV = sm_fCurrentFOV;
22 m_fProjectionCentreX = 0.5f;
23 m_fProjectionCentreY = 0.5f;
24}
static constinit TMatrix44 IDENTITY
Definition TMatrix44.h:357
static TFLOAT sm_fCurrentFOV
Definition ACamera.h:9

◆ ~ACamera()

ACamera::~ACamera ( )

Definition at line 26 of file ACamera.cpp.

27{
28}

Member Function Documentation

◆ GetMatrix() [1/2]

Toshi::TMatrix44 & ACamera::GetMatrix ( )

Definition at line 58 of file ACamera.cpp.

59{
60 return m_Matrix;
61}

◆ GetMatrix() [2/2]

const Toshi::TMatrix44 & ACamera::GetMatrix ( ) const

Definition at line 53 of file ACamera.cpp.

54{
55 return m_Matrix;
56}

◆ GetOrientation()

TVector4 ACamera::GetOrientation ( ) const

Definition at line 31 of file ACamera.cpp.

32{
33 TVector4 vOrientation = m_Matrix.AsBasisVector4( Toshi::BASISVECTOR_FORWARD );
34 vOrientation.w = 1.0f;
35
36 return vOrientation;
37}
TFLOAT w
Definition TVector4.h:367

◆ LookAtDirection()

void ACamera::LookAtDirection ( const Toshi::TVector4 & a_rDirection)

Definition at line 47 of file ACamera.cpp.

48{
49 TASSERT( a_rDirection.isNormalised() );
50 m_Matrix.LookAtDirection( a_rDirection, sm_vWorldUp );
51}
#define TASSERT(X,...)
Definition Defines.h:138
static const Toshi::TVector4 sm_vWorldUp
Definition ACamera.h:15

◆ LookAtPoint()

void ACamera::LookAtPoint ( const Toshi::TVector4 & a_rPoint)

Definition at line 39 of file ACamera.cpp.

40{
41 TVector4 vDirection = a_rPoint - m_Matrix.GetTranslation3();
42 vDirection.Normalise();
43
44 LookAtDirection( vDirection );
45}
void Normalise()
Definition TVector4.cpp:36
void LookAtDirection(const Toshi::TVector4 &a_rDirection)
Definition ACamera.cpp:47

◆ TDECLARE_CLASS()

ACamera::TDECLARE_CLASS ( ACamera ,
Toshi::TObject  )

Friends And Related Symbol Documentation

◆ ARenderer

friend class ARenderer
friend

Definition at line 13 of file ACamera.h.

Member Data Documentation

◆ sm_fCurrentFOV

TFLOAT ACamera::sm_fCurrentFOV = Toshi::TMath::DegToRad( 60.0f )
static

Definition at line 9 of file ACamera.h.

◆ sm_vInitialLookDirection

const Toshi::TVector4 ACamera::sm_vInitialLookDirection = { 0.0f, 0.0f, 1.0f, 1.0f }
static

Definition at line 16 of file ACamera.h.

◆ sm_vWorldUp

const Toshi::TVector4 ACamera::sm_vWorldUp = { 0.0f, -1.0f, 0.0f, 1.0f }
static

Definition at line 15 of file ACamera.h.

15:

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