VAPOR3 3.9.4
Public Types | Public Member Functions | Public Attributes | List of all members
VAPoR::MatrixManager Class Reference

Replaces the OpenGL matrix stack. More...

#include <MatrixManager.h>

Public Types

enum class  Mode { ModelView , Projection }
 

Public Member Functions

 MatrixManager ()
 
glm::mat4 GetCurrentMatrix () const
 
glm::mat4 GetProjectionMatrix () const
 
glm::mat4 GetModelViewMatrix () const
 
glm::mat4 GetModelViewProjectionMatrix () const
 
void SetCurrentMatrix (const glm::mat4 m)
 
void MatrixModeProjection ()
 
void MatrixModeModelView ()
 
void PushMatrix ()
 
void PopMatrix ()
 
void LoadMatrixd (const double *m)
 
void GetDoublev (Mode mode, double *m) const
 
void LoadIdentity ()
 
void Translate (float x, float y, float z)
 
void Scale (float x, float y, float z)
 
void Rotate (float angle, float x, float y, float z)
 
void Perspective (float fovy, float aspect, float zNear, float zFar)
 
void Ortho (float left, float right, float bottom, float top)
 
void Ortho (float left, float right, float bottom, float top, float zNear, float zFar)
 
glm::vec2 ProjectToScreen (float x, float y, float z) const
 
glm::vec2 ProjectToScreen (const glm::vec3 &v) const
 
float GetProjectionAspectRatio () const
 

Public Attributes

float Near
 
float Far
 
float FOV
 
float Aspect
 

Detailed Description

Replaces the OpenGL matrix stack.

Most functions are one to one replacements and have the same effects as their OpenGL or GLUT equivalents.

Author
Stanislaw Jaroszynski
Date
August, 2018

Definition at line 27 of file MatrixManager.h.

Member Enumeration Documentation

◆ Mode

enum class VAPoR::MatrixManager::Mode
strong
Enumerator
ModelView 
Projection 

Definition at line 29 of file MatrixManager.h.

Constructor & Destructor Documentation

◆ MatrixManager()

VAPoR::MatrixManager::MatrixManager ( )

Member Function Documentation

◆ GetCurrentMatrix()

glm::mat4 VAPoR::MatrixManager::GetCurrentMatrix ( ) const

◆ GetDoublev()

void VAPoR::MatrixManager::GetDoublev ( Mode  mode,
double *  m 
) const

◆ GetModelViewMatrix()

glm::mat4 VAPoR::MatrixManager::GetModelViewMatrix ( ) const

◆ GetModelViewProjectionMatrix()

glm::mat4 VAPoR::MatrixManager::GetModelViewProjectionMatrix ( ) const

◆ GetProjectionAspectRatio()

float VAPoR::MatrixManager::GetProjectionAspectRatio ( ) const

◆ GetProjectionMatrix()

glm::mat4 VAPoR::MatrixManager::GetProjectionMatrix ( ) const

◆ LoadIdentity()

void VAPoR::MatrixManager::LoadIdentity ( )

◆ LoadMatrixd()

void VAPoR::MatrixManager::LoadMatrixd ( const double *  m)

◆ MatrixModeModelView()

void VAPoR::MatrixManager::MatrixModeModelView ( )

◆ MatrixModeProjection()

void VAPoR::MatrixManager::MatrixModeProjection ( )

◆ Ortho() [1/2]

void VAPoR::MatrixManager::Ortho ( float  left,
float  right,
float  bottom,
float  top 
)

◆ Ortho() [2/2]

void VAPoR::MatrixManager::Ortho ( float  left,
float  right,
float  bottom,
float  top,
float  zNear,
float  zFar 
)

◆ Perspective()

void VAPoR::MatrixManager::Perspective ( float  fovy,
float  aspect,
float  zNear,
float  zFar 
)

◆ PopMatrix()

void VAPoR::MatrixManager::PopMatrix ( )

◆ ProjectToScreen() [1/2]

glm::vec2 VAPoR::MatrixManager::ProjectToScreen ( const glm::vec3 &  v) const

◆ ProjectToScreen() [2/2]

glm::vec2 VAPoR::MatrixManager::ProjectToScreen ( float  x,
float  y,
float  z 
) const

◆ PushMatrix()

void VAPoR::MatrixManager::PushMatrix ( )

◆ Rotate()

void VAPoR::MatrixManager::Rotate ( float  angle,
float  x,
float  y,
float  z 
)

◆ Scale()

void VAPoR::MatrixManager::Scale ( float  x,
float  y,
float  z 
)

◆ SetCurrentMatrix()

void VAPoR::MatrixManager::SetCurrentMatrix ( const glm::mat4  m)

◆ Translate()

void VAPoR::MatrixManager::Translate ( float  x,
float  y,
float  z 
)

Member Data Documentation

◆ Aspect

float VAPoR::MatrixManager::Aspect

Definition at line 69 of file MatrixManager.h.

◆ Far

float VAPoR::MatrixManager::Far

Definition at line 69 of file MatrixManager.h.

◆ FOV

float VAPoR::MatrixManager::FOV

Definition at line 69 of file MatrixManager.h.

◆ Near

float VAPoR::MatrixManager::Near

Definition at line 69 of file MatrixManager.h.


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