Apollo  6.0
Open source self driving car software
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
AbstractCamera Class Referenceabstract

#include <abstract_camera.h>

Inheritance diagram for AbstractCamera:
Inheritance graph
Collaboration diagram for AbstractCamera:
Collaboration graph

Public Types

enum  CameraMode { CameraMode::PerspectiveMode, CameraMode::OrthoMode }
 

Public Member Functions

 AbstractCamera (void)
 
virtual ~AbstractCamera ()
 
virtual void UpdateWorld (void)=0
 
CameraMode camera_mode (void) const
 
void set_camera_mode (CameraMode cm)
 
const QMatrix4x4 & projection_matrix (void) const
 
const QMatrix4x4 & model_view_matrix (void) const
 
float near_plane_height (void) const
 
float near_plane_width (void) const
 
void set_near_plane_height (const float npHeight)
 
void set_near_plane_width (const float npWidth)
 
float fov (void) const
 
void set_fov (const float fovInDegrees)
 
float near_plane (void) const
 
void set_near_plane (float n)
 
float far_plane (void) const
 
void set_far_plane (float f)
 
void SetUpProjection (float fovInDegrees, float nearPlaneWidth, float nearPlaneHeight, float near=0.1f, float far=1000.f)
 
float x (void) const
 
float y (void) const
 
float z (void) const
 
void set_x (float x)
 
void set_y (float y)
 
void set_z (float z)
 
const QVector3D & position (void) const
 
void set_position (const QVector3D &pos)
 
void set_position (float x, float y, float z)
 
float yaw (void) const
 
void set_yaw (float yInDegrees)
 
float pitch (void) const
 
void set_pitch (float pInDegrees)
 
float roll (void) const
 
void set_roll (float rInDegrees)
 
const QVector3D & attitude (void) const
 
void SetAttitude (float yawInDegrees, float pitchInDegrees, float rollInDegrees)
 
const QVector3D & look (void) const
 
void UpdateProjection (void)
 
void Update (void)
 

Static Public Member Functions

static float Radians (float degrees)
 
static float Degrees (float radians)
 
static QMatrix4x4 YawPitchRoll (float yawInDegrees, float picthInDegrees, float rollInDegrees)
 

Static Public Attributes

static const QVector3D UP
 

Protected Attributes

CameraMode camera_mode_
 
float fov_
 
float near_plane_width_
 
float near_plane_height_
 
float near_plane_
 
float far_plane_
 
QVector3D position_
 
QVector3D attitude_
 
QVector3D look_
 
QVector3D up_
 
QVector3D right_
 
QMatrix4x4 projection_mat_
 
QMatrix4x4 model_view_mat_
 

Member Enumeration Documentation

◆ CameraMode

Enumerator
PerspectiveMode 
OrthoMode 

Constructor & Destructor Documentation

◆ AbstractCamera()

AbstractCamera::AbstractCamera ( void  )

◆ ~AbstractCamera()

virtual AbstractCamera::~AbstractCamera ( )
inlinevirtual

Member Function Documentation

◆ attitude()

const QVector3D& AbstractCamera::attitude ( void  ) const
inline

◆ camera_mode()

CameraMode AbstractCamera::camera_mode ( void  ) const
inline

◆ Degrees()

static float AbstractCamera::Degrees ( float  radians)
inlinestatic

◆ far_plane()

float AbstractCamera::far_plane ( void  ) const
inline

◆ fov()

float AbstractCamera::fov ( void  ) const
inline

◆ look()

const QVector3D& AbstractCamera::look ( void  ) const
inline

◆ model_view_matrix()

const QMatrix4x4& AbstractCamera::model_view_matrix ( void  ) const
inline

◆ near_plane()

float AbstractCamera::near_plane ( void  ) const
inline

◆ near_plane_height()

float AbstractCamera::near_plane_height ( void  ) const
inline

◆ near_plane_width()

float AbstractCamera::near_plane_width ( void  ) const
inline

◆ pitch()

float AbstractCamera::pitch ( void  ) const
inline

◆ position()

const QVector3D& AbstractCamera::position ( void  ) const
inline

◆ projection_matrix()

const QMatrix4x4& AbstractCamera::projection_matrix ( void  ) const
inline

◆ Radians()

static float AbstractCamera::Radians ( float  degrees)
inlinestatic

◆ roll()

float AbstractCamera::roll ( void  ) const
inline

◆ set_camera_mode()

void AbstractCamera::set_camera_mode ( CameraMode  cm)
inline

◆ set_far_plane()

void AbstractCamera::set_far_plane ( float  f)
inline

◆ set_fov()

void AbstractCamera::set_fov ( const float  fovInDegrees)
inline

◆ set_near_plane()

void AbstractCamera::set_near_plane ( float  n)
inline

◆ set_near_plane_height()

void AbstractCamera::set_near_plane_height ( const float  npHeight)
inline

◆ set_near_plane_width()

void AbstractCamera::set_near_plane_width ( const float  npWidth)
inline

◆ set_pitch()

void AbstractCamera::set_pitch ( float  pInDegrees)
inline

◆ set_position() [1/2]

void AbstractCamera::set_position ( const QVector3D &  pos)
inline

◆ set_position() [2/2]

void AbstractCamera::set_position ( float  x,
float  y,
float  z 
)
inline

◆ set_roll()

void AbstractCamera::set_roll ( float  rInDegrees)
inline

◆ set_x()

void AbstractCamera::set_x ( float  x)
inline

◆ set_y()

void AbstractCamera::set_y ( float  y)
inline

◆ set_yaw()

void AbstractCamera::set_yaw ( float  yInDegrees)
inline

◆ set_z()

void AbstractCamera::set_z ( float  z)
inline

◆ SetAttitude()

void AbstractCamera::SetAttitude ( float  yawInDegrees,
float  pitchInDegrees,
float  rollInDegrees 
)
inline

◆ SetUpProjection()

void AbstractCamera::SetUpProjection ( float  fovInDegrees,
float  nearPlaneWidth,
float  nearPlaneHeight,
float  near = 0.1f,
float  far = 1000.f 
)
inline

◆ Update()

void AbstractCamera::Update ( void  )
inline

◆ UpdateProjection()

void AbstractCamera::UpdateProjection ( void  )
inline

◆ UpdateWorld()

virtual void AbstractCamera::UpdateWorld ( void  )
pure virtual

Implemented in FreeCamera, and TargetCamera.

◆ x()

float AbstractCamera::x ( void  ) const
inline

◆ y()

float AbstractCamera::y ( void  ) const
inline

◆ yaw()

float AbstractCamera::yaw ( void  ) const
inline

◆ YawPitchRoll()

static QMatrix4x4 AbstractCamera::YawPitchRoll ( float  yawInDegrees,
float  picthInDegrees,
float  rollInDegrees 
)
static

◆ z()

float AbstractCamera::z ( void  ) const
inline

Member Data Documentation

◆ attitude_

QVector3D AbstractCamera::attitude_
protected

◆ camera_mode_

CameraMode AbstractCamera::camera_mode_
protected

◆ far_plane_

float AbstractCamera::far_plane_
protected

◆ fov_

float AbstractCamera::fov_
protected

◆ look_

QVector3D AbstractCamera::look_
protected

◆ model_view_mat_

QMatrix4x4 AbstractCamera::model_view_mat_
protected

◆ near_plane_

float AbstractCamera::near_plane_
protected

◆ near_plane_height_

float AbstractCamera::near_plane_height_
protected

◆ near_plane_width_

float AbstractCamera::near_plane_width_
protected

◆ position_

QVector3D AbstractCamera::position_
protected

◆ projection_mat_

QMatrix4x4 AbstractCamera::projection_mat_
protected

◆ right_

QVector3D AbstractCamera::right_
protected

◆ UP

const QVector3D AbstractCamera::UP
static

◆ up_

QVector3D AbstractCamera::up_
protected

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