Lugdunum  0.1.0
Public Types | Public Member Functions | Protected Attributes | List of all members
lug::Graphics::Builder::Camera Class Reference

#include <Camera.hpp>

Collaboration diagram for lug::Graphics::Builder::Camera:
[legend]

Public Types

enum  Type : uint8_t { Type::Perspective, Type::Orthographic }
 

Public Member Functions

 Camera (Renderer &renderer)
 
 Camera (const Camera &)=delete
 
 Camera (Camera &&)=delete
 
Cameraoperator= (const Camera &)=delete
 
Cameraoperator= (Camera &&)=delete
 
 ~Camera ()=default
 
void setName (const std::string &name)
 Sets the name. More...
 
void setType (Type type)
 
void setFovY (float fovy)
 
void setAspectRatio (float aspectRatio)
 
void setXMag (float xmag)
 
void setYMag (float ymag)
 
void setZNear (float znear)
 
void setZFar (float zfar)
 
Resource::SharedPtr< Render::Camera::Camerabuild ()
 

Protected Attributes

Renderer_renderer
 
std::string _name
 
Type _type {Type::Perspective}
 
float _fovy {0.0f}
 
float _aspectRatio {0.0f}
 
float _xmag {0.0f}
 
float _ymag {0.0f}
 
float _znear {0.0f}
 
float _zfar {0.0f}
 

Detailed Description

Definition at line 16 of file Camera.hpp.

Member Enumeration Documentation

◆ Type

enum lug::Graphics::Builder::Camera::Type : uint8_t
strong
Enumerator
Perspective 
Orthographic 

Definition at line 18 of file Camera.hpp.

Constructor & Destructor Documentation

◆ Camera() [1/3]

lug::Graphics::Builder::Camera::Camera ( Renderer renderer)
explicit

Definition at line 11 of file Camera.cpp.

◆ Camera() [2/3]

lug::Graphics::Builder::Camera::Camera ( const Camera )
delete

◆ Camera() [3/3]

lug::Graphics::Builder::Camera::Camera ( Camera &&  )
delete

◆ ~Camera()

lug::Graphics::Builder::Camera::~Camera ( )
default

Member Function Documentation

◆ operator=() [1/2]

Camera& lug::Graphics::Builder::Camera::operator= ( const Camera )
delete

◆ operator=() [2/2]

Camera& lug::Graphics::Builder::Camera::operator= ( Camera &&  )
delete

◆ setName()

void Camera::setName ( const std::string &  name)
inline

Sets the name.

Parameters
[in]nameThe name of the mesh.

Definition at line 1 of file Camera.inl.

◆ setType()

void Camera::setType ( Type  type)
inline

Definition at line 5 of file Camera.inl.

◆ setFovY()

void Camera::setFovY ( float  fovy)
inline

Definition at line 9 of file Camera.inl.

◆ setAspectRatio()

void Camera::setAspectRatio ( float  aspectRatio)
inline

Definition at line 14 of file Camera.inl.

◆ setXMag()

void Camera::setXMag ( float  xmag)
inline

Definition at line 19 of file Camera.inl.

◆ setYMag()

void Camera::setYMag ( float  ymag)
inline

Definition at line 24 of file Camera.inl.

◆ setZNear()

void lug::Graphics::Builder::Camera::setZNear ( float  znear)

◆ setZFar()

void lug::Graphics::Builder::Camera::setZFar ( float  zfar)

◆ build()

Resource::SharedPtr< Render::Camera::Camera > lug::Graphics::Builder::Camera::build ( )

Definition at line 13 of file Camera.cpp.

Member Data Documentation

◆ _renderer

Renderer& lug::Graphics::Builder::Camera::_renderer
protected

Definition at line 56 of file Camera.hpp.

◆ _name

std::string lug::Graphics::Builder::Camera::_name
protected

Definition at line 58 of file Camera.hpp.

◆ _type

Type lug::Graphics::Builder::Camera::_type {Type::Perspective}
protected

Definition at line 59 of file Camera.hpp.

◆ _fovy

float lug::Graphics::Builder::Camera::_fovy {0.0f}
protected

Definition at line 62 of file Camera.hpp.

◆ _aspectRatio

float lug::Graphics::Builder::Camera::_aspectRatio {0.0f}
protected

Definition at line 63 of file Camera.hpp.

◆ _xmag

float lug::Graphics::Builder::Camera::_xmag {0.0f}
protected

Definition at line 66 of file Camera.hpp.

◆ _ymag

float lug::Graphics::Builder::Camera::_ymag {0.0f}
protected

Definition at line 67 of file Camera.hpp.

◆ _znear

float lug::Graphics::Builder::Camera::_znear {0.0f}
protected

Definition at line 70 of file Camera.hpp.

◆ _zfar

float lug::Graphics::Builder::Camera::_zfar {0.0f}
protected

Definition at line 71 of file Camera.hpp.


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