Code_TYMPAN  4.4.0
Industrial site acoustic simulation
Public Types | Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
TYOpenGLRenderer Class Reference

Realise le rendu VTK et le rendu OpenGL. More...

#include <TYOpenGLRenderer.h>

Collaboration diagram for TYOpenGLRenderer:
Collaboration graph
[legend]

Public Types

enum  RenderMode {
  Points , Wireframe , Surface , Flat ,
  Gouraud , Phong , NbOfRenderMode
}
 

Public Member Functions

 TYOpenGLRenderer ()
 
 ~TYOpenGLRenderer ()
 
 TYOpenGLRenderer (const TYOpenGLRenderer &)=delete
 
void operator= (const TYOpenGLRenderer &)=delete
 
void initializeGL ()
 
void init ()
 
void setRenderMode (RenderMode mode)
 
RenderMode getRenderMode ()
 
void invalidateScene (void)
 
void updateDisplayListOverlay (TYRenderContext &renderContext, TYGeometryNode *pElement, TYGeometryNode *pDansCeRepere)
 
void OpenGLRender (TYRenderContext &renderContext, int x=0, int y=0)
 
void drawElement (TYRenderContext &renderContext) const
 
void addOGLElement (OGLElement *pOGLElement)
 
void addLight (OGLLightElement *pOGLElementLight)
 
void removeLights ()
 
std::vector< OGLLightElement * > getLights ()
 
void setBackground (double *bgColor)
 
void removeOGLElement (OGLElement *pOGLElement)
 
void setRenderType (int renderType)
 
void addSelectedElement (TYElement *pElement)
 
void removeSelectedElement (TYElement *pElement)
 
void clearTabSelectedElement ()
 

Protected Attributes

GLuint _displayList
 Display liste globale. More...
 
GLuint _displayListOverlay
 Display liste pour les deplacements. More...
 
RenderMode _renderMode
 Mode de rendu. More...
 
std::vector< OGLElement * > _tabOGLElement
 
std::vector< TYElement * > _tabSelectedElements
 Elements selectionnes. More...
 
std::vector< OGLLightElement * > _tabLights
 Liste des lumieres dans la scene 3D. More...
 
OGLCamera_pActiveCamera
 
double * _pBackgroundColor
 
int m_renderType
 

Private Member Functions

void _renderScene (TYRenderContext &renderContext) const
 0 --> render all, 1 --> render 2D, 2 --> render 3D More...
 
void renderBoundingBoxes (TYRenderContext &renderContext) const
 

Private Attributes

bool _sceneRenderCacheIsDirty
 
QMatrix4x4 _boundingBoxScaleMatrix
 

Detailed Description

Realise le rendu VTK et le rendu OpenGL.

Definition at line 47 of file TYOpenGLRenderer.h.

Member Enumeration Documentation

◆ RenderMode

Rendering modes.

Enumerator
Points 
Wireframe 
Surface 
Flat 
Gouraud 
Phong 
NbOfRenderMode 

Definition at line 53 of file TYOpenGLRenderer.h.

Constructor & Destructor Documentation

◆ TYOpenGLRenderer() [1/2]

TYOpenGLRenderer::TYOpenGLRenderer ( )

Constructeur

Definition at line 94 of file TYOpenGLRenderer.cpp.

◆ ~TYOpenGLRenderer()

TYOpenGLRenderer::~TYOpenGLRenderer ( )

Destructeur

Definition at line 107 of file TYOpenGLRenderer.cpp.

◆ TYOpenGLRenderer() [2/2]

TYOpenGLRenderer::TYOpenGLRenderer ( const TYOpenGLRenderer )
delete

Interdit la construction par recopie ou assignement.

Member Function Documentation

◆ _renderScene()

void TYOpenGLRenderer::_renderScene ( TYRenderContext renderContext) const
private

0 --> render all, 1 --> render 2D, 2 --> render 3D

Render scene (root element and its children)

Definition at line 213 of file TYOpenGLRenderer.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addLight()

void TYOpenGLRenderer::addLight ( OGLLightElement pOGLElementLight)

Definition at line 398 of file TYOpenGLRenderer.cpp.

◆ addOGLElement()

void TYOpenGLRenderer::addOGLElement ( OGLElement pOGLElement)

Ajoute un OGLElement a la liste.

Parameters
pOGLElementLe OGLElement a ajouter.

Definition at line 381 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ addSelectedElement()

void TYOpenGLRenderer::addSelectedElement ( TYElement pElement)

Definition at line 428 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ clearTabSelectedElement()

void TYOpenGLRenderer::clearTabSelectedElement ( )

Definition at line 460 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ drawElement()

void TYOpenGLRenderer::drawElement ( TYRenderContext renderContext) const

Display.

Definition at line 357 of file TYOpenGLRenderer.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getLights()

std::vector< OGLLightElement * > TYOpenGLRenderer::getLights ( )

Definition at line 408 of file TYOpenGLRenderer.cpp.

◆ getRenderMode()

TYOpenGLRenderer::RenderMode TYOpenGLRenderer::getRenderMode ( )

Retourne le mode de rendu actuel.

Definition at line 177 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ init()

void TYOpenGLRenderer::init ( )

Initialize the next frame to render.

Definition at line 126 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ initializeGL()

void TYOpenGLRenderer::initializeGL ( )

Intialise le contexte OpenGL lié à ce renderer.

Definition at line 120 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ invalidateScene()

void TYOpenGLRenderer::invalidateScene ( void  )

Met a jour la display liste globale, (remplie dans chaque methode XXXGraphic::display).

Definition at line 208 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ OpenGLRender()

void TYOpenGLRenderer::OpenGLRender ( TYRenderContext renderContext,
int  x = 0,
int  y = 0 
)

Rendu OpenGL

Parameters
modeLe mode de rendu.
xLa position de la souris en x pour le picking.
yLa position de la souris en y pour le picking.

Definition at line 230 of file TYOpenGLRenderer.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

void TYOpenGLRenderer::operator= ( const TYOpenGLRenderer )
delete

◆ removeLights()

void TYOpenGLRenderer::removeLights ( )

Definition at line 403 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ removeOGLElement()

void TYOpenGLRenderer::removeOGLElement ( OGLElement pOGLElement)

Enleve un OGLElement a la liste.

Parameters
pOGLElementLe OGLElement a enlever.

Definition at line 413 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ removeSelectedElement()

void TYOpenGLRenderer::removeSelectedElement ( TYElement pElement)

Definition at line 445 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ renderBoundingBoxes()

void TYOpenGLRenderer::renderBoundingBoxes ( TYRenderContext renderContext) const
private

Definition at line 478 of file TYOpenGLRenderer.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setBackground()

void TYOpenGLRenderer::setBackground ( double *  bgColor)
inline

Definition at line 139 of file TYOpenGLRenderer.h.

◆ setRenderMode()

void TYOpenGLRenderer::setRenderMode ( TYOpenGLRenderer::RenderMode  mode)

Met à jour le mode de rendu.

Definition at line 172 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ setRenderType()

void TYOpenGLRenderer::setRenderType ( int  renderType)
inline

Definition at line 153 of file TYOpenGLRenderer.h.

◆ updateDisplayListOverlay()

void TYOpenGLRenderer::updateDisplayListOverlay ( TYRenderContext renderContext,
TYGeometryNode pElement,
TYGeometryNode pDansCeRepere 
)

Met a jour la display liste servant a bouger les elements, Cela permet de ne redessiner que l'element quand on le bouge (et pas tout le reste).

Parameters
pElementl'element a afficher.
pDansCeReperedefinit le GeoNode (par exemple le site root) dans lequel s'exprime les coordonnees de pElement les changements de repere de ses GeoNodeGraphic parents (via push/pop de matrices OpenGL).

Definition at line 182 of file TYOpenGLRenderer.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ _boundingBoxScaleMatrix

QMatrix4x4 TYOpenGLRenderer::_boundingBoxScaleMatrix
private

Matrix used to enlarge bounding boxes by a scaling factor

Definition at line 197 of file TYOpenGLRenderer.h.

◆ _displayList

GLuint TYOpenGLRenderer::_displayList
protected

Display liste globale.

Definition at line 164 of file TYOpenGLRenderer.h.

◆ _displayListOverlay

GLuint TYOpenGLRenderer::_displayListOverlay
protected

Display liste pour les deplacements.

Definition at line 166 of file TYOpenGLRenderer.h.

◆ _pActiveCamera

OGLCamera* TYOpenGLRenderer::_pActiveCamera
protected

Definition at line 178 of file TYOpenGLRenderer.h.

◆ _pBackgroundColor

double* TYOpenGLRenderer::_pBackgroundColor
protected

Definition at line 179 of file TYOpenGLRenderer.h.

◆ _renderMode

RenderMode TYOpenGLRenderer::_renderMode
protected

Mode de rendu.

Definition at line 168 of file TYOpenGLRenderer.h.

◆ _sceneRenderCacheIsDirty

bool TYOpenGLRenderer::_sceneRenderCacheIsDirty
mutableprivate

Definition at line 190 of file TYOpenGLRenderer.h.

◆ _tabLights

std::vector<OGLLightElement*> TYOpenGLRenderer::_tabLights
protected

Liste des lumieres dans la scene 3D.

Definition at line 176 of file TYOpenGLRenderer.h.

◆ _tabOGLElement

std::vector<OGLElement*> TYOpenGLRenderer::_tabOGLElement
protected

Definition at line 170 of file TYOpenGLRenderer.h.

◆ _tabSelectedElements

std::vector<TYElement*> TYOpenGLRenderer::_tabSelectedElements
protected

Elements selectionnes.

Definition at line 173 of file TYOpenGLRenderer.h.

◆ m_renderType

int TYOpenGLRenderer::m_renderType
protected

Definition at line 181 of file TYOpenGLRenderer.h.


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