SGCT master (487fac4)
Simple Graphics Cluster Toolkit
Loading...
Searching...
No Matches
sgct::BaseViewport Class Reference

This class holds and manages viewportdata and calculates frustums. More...

#include <sgct/baseviewport.h>

Inheritance diagram for sgct::BaseViewport:
Collaboration diagram for sgct::BaseViewport:

Public Member Functions

 BaseViewport (const Window &parent, FrustumMode eye=FrustumMode::Mono)
virtual ~BaseViewport ()
void setupViewport (FrustumMode frustum) const
const Projection & projection (FrustumMode frustumMode) const
ProjectionPlane & projectionPlane ()
virtual void calculateFrustum (FrustumMode mode, float nearClip, float farClip)
void calculateNonLinearFrustum (FrustumMode mode, float nearClip, float farClip)
 Make projection symmetric relative to user.
void setViewPlaneCoordsUsingFOVs (float up, float down, float left, float right, quat rot, float dist=10.f)
void updateFovToMatchAspectRatio (float oldRatio, float newRatio)
void setEnabled (bool state)
bool isEnabled () const
void setPosition (vec2 position)
const vec2 & position () const
void setSize (vec2 size)
const vec2 & size () const
void setUser (User &user)
User & user () const
FrustumMode eye () const
void setHorizontalFieldOfView (float hFov)
float horizontalFieldOfViewDegrees () const
const Window & window () const

Protected Attributes

const Window & _parent
Projection _monoProj
Projection _stereoLeftProj
Projection _stereoRightProj
ProjectionPlane _projPlane
bool _isEnabled = true
const FrustumMode _eye
vec2 _position = vec2{ 0.f, 0.f }
vec2 _size = vec2{ 1.f, 1.f }
User * _user
struct sgct::BaseViewport:: { ... }  _viewPlane
quat _rotation = quat{ 0.f, 0.f, 0.f, 1.f }

Detailed Description

This class holds and manages viewportdata and calculates frustums.

Constructor & Destructor Documentation

◆ BaseViewport()

sgct::BaseViewport::BaseViewport ( const Window & parent,
FrustumMode eye = FrustumMode::Mono )
explicit

◆ ~BaseViewport()

virtual sgct::BaseViewport::~BaseViewport ( )
virtual

Member Function Documentation

◆ calculateFrustum()

virtual void sgct::BaseViewport::calculateFrustum ( FrustumMode mode,
float nearClip,
float farClip )
virtual

Reimplemented in sgct::Viewport.

◆ calculateNonLinearFrustum()

void sgct::BaseViewport::calculateNonLinearFrustum ( FrustumMode mode,
float nearClip,
float farClip )

Make projection symmetric relative to user.

◆ eye()

FrustumMode sgct::BaseViewport::eye ( ) const

◆ horizontalFieldOfViewDegrees()

float sgct::BaseViewport::horizontalFieldOfViewDegrees ( ) const

◆ isEnabled()

bool sgct::BaseViewport::isEnabled ( ) const

◆ position()

const vec2 & sgct::BaseViewport::position ( ) const

◆ projection()

const Projection & sgct::BaseViewport::projection ( FrustumMode frustumMode) const

◆ projectionPlane()

ProjectionPlane & sgct::BaseViewport::projectionPlane ( )

◆ setEnabled()

void sgct::BaseViewport::setEnabled ( bool state)

◆ setHorizontalFieldOfView()

void sgct::BaseViewport::setHorizontalFieldOfView ( float hFov)

◆ setPosition()

void sgct::BaseViewport::setPosition ( vec2 position)

◆ setSize()

void sgct::BaseViewport::setSize ( vec2 size)

◆ setupViewport()

void sgct::BaseViewport::setupViewport ( FrustumMode frustum) const

◆ setUser()

void sgct::BaseViewport::setUser ( User & user)

◆ setViewPlaneCoordsUsingFOVs()

void sgct::BaseViewport::setViewPlaneCoordsUsingFOVs ( float up,
float down,
float left,
float right,
quat rot,
float dist = 10.f )

◆ size()

const vec2 & sgct::BaseViewport::size ( ) const

◆ updateFovToMatchAspectRatio()

void sgct::BaseViewport::updateFovToMatchAspectRatio ( float oldRatio,
float newRatio )

◆ user()

User & sgct::BaseViewport::user ( ) const

◆ window()

const Window & sgct::BaseViewport::window ( ) const

Member Data Documentation

◆ _eye

const FrustumMode sgct::BaseViewport::_eye
protected

◆ _isEnabled

bool sgct::BaseViewport::_isEnabled = true
protected

◆ _monoProj

Projection sgct::BaseViewport::_monoProj
protected

◆ _parent

const Window& sgct::BaseViewport::_parent
protected

◆ _position

vec2 sgct::BaseViewport::_position = vec2{ 0.f, 0.f }
protected

◆ _projPlane

ProjectionPlane sgct::BaseViewport::_projPlane
protected

◆ _rotation

quat sgct::BaseViewport::_rotation = quat{ 0.f, 0.f, 0.f, 1.f }
protected

◆ _size

vec2 sgct::BaseViewport::_size = vec2{ 1.f, 1.f }
protected

◆ _stereoLeftProj

Projection sgct::BaseViewport::_stereoLeftProj
protected

◆ _stereoRightProj

Projection sgct::BaseViewport::_stereoRightProj
protected

◆ _user

User* sgct::BaseViewport::_user
protected

◆ _viewPlane

struct { ... } sgct::BaseViewport::_viewPlane

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