Code_TYMPAN  4.2.0
Industrial site acoustic simulation
Public Member Functions | Protected Attributes | Private Member Functions | 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 Member Functions

 TYOpenGLRenderer ()
 
 ~TYOpenGLRenderer ()
 
void init (int width, int height)
 
void updateDisplayList (void)
 
void updateDisplayListOverlay (TYGeometryNode *pElement, TYGeometryNode *pDansCeRepere)
 
int OpenGLUpdateGeometry (GLenum mode=GL_RENDER, int x=0, int y=0)
 
void OpenGLDeviceRender (GLenum mode=GL_RENDER, int x=0, int y=0)
 
void OpenGLRender (GLenum mode=GL_RENDER, int x=0, int y=0)
 
void Render ()
 
void setElement (LPTYElement pElt)
 
void deepCopyElement (LPTYElement pElt)
 
LPTYElement getElement ()
 
void drawElement (GLenum mode=GL_RENDER)
 
void addOGLElement (OGLElement *pOGLElement)
 
void addLight (OGLLightElement *pOGLElementLight)
 
void removeLights ()
 
std::vector< OGLLightElement * > getLights ()
 
void setActiveCamera (OGLCamera *pCamera)
 
OGLCameragetActiveCamera ()
 
void setBackground (double *bgColor)
 
void removeOGLElement (OGLElement *pOGLElement)
 
void setRenderType (int renderType)
 
void addSelectedElement (TYElement *pElement)
 
void removeSelectedElement (TYElement *pElement)
 
void clearTabSelectedElement ()
 

Protected Attributes

TYElement_pElement
 Element a representer. More...
 
GLuint _displayList
 Display liste globale. More...
 
GLuint _displayListOverlay
 Display liste pour les deplacements. More...
 
GLuint _polygoneMode
 Mode de rendu. More...
 
std::vector< OGLElement * > _tabOGLElement
 
std::vector< TYElement * > _tabSelectedElements
 
std::vector< OGLLightElement * > _tabLights
 
OGLCamera_pActiveCamera
 
double * _pBackgroundColor
 
int m_width
 
int m_height
 
int m_renderType
 

Private Member Functions

 TYOpenGLRenderer (const TYOpenGLRenderer &)
 
void operator= (const TYOpenGLRenderer &)
 

Detailed Description

Realise le rendu VTK et le rendu OpenGL.

Definition at line 54 of file TYOpenGLRenderer.h.

Constructor & Destructor Documentation

◆ TYOpenGLRenderer() [1/2]

TYOpenGLRenderer::TYOpenGLRenderer ( const TYOpenGLRenderer )
private

Constructeur par copie a ne pas implementer mais

◆ TYOpenGLRenderer() [2/2]

TYOpenGLRenderer::TYOpenGLRenderer ( )

Constructeur

Definition at line 47 of file TYOpenGLRenderer.cpp.

◆ ~TYOpenGLRenderer()

TYOpenGLRenderer::~TYOpenGLRenderer ( )

Destructeur

Definition at line 57 of file TYOpenGLRenderer.cpp.

Member Function Documentation

◆ addLight()

void TYOpenGLRenderer::addLight ( OGLLightElement pOGLElementLight)

Definition at line 319 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ addOGLElement()

void TYOpenGLRenderer::addOGLElement ( OGLElement pOGLElement)

Ajoute un OGLElement a la liste.

Parameters
pOGLElementLe OGLElement a ajouter.

Definition at line 302 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ addSelectedElement()

void TYOpenGLRenderer::addSelectedElement ( TYElement pElement)

Definition at line 350 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ clearTabSelectedElement()

void TYOpenGLRenderer::clearTabSelectedElement ( )

Definition at line 382 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ deepCopyElement()

void TYOpenGLRenderer::deepCopyElement ( LPTYElement  pElt)
inline

deepCopy de l'element a representer.

Definition at line 139 of file TYOpenGLRenderer.h.

Here is the call graph for this function:

◆ drawElement()

void TYOpenGLRenderer::drawElement ( GLenum  mode = GL_RENDER)

Display.

Definition at line 281 of file TYOpenGLRenderer.cpp.

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

◆ getActiveCamera()

OGLCamera* TYOpenGLRenderer::getActiveCamera ( )
inline

Definition at line 163 of file TYOpenGLRenderer.h.

Here is the caller graph for this function:

◆ getElement()

LPTYElement TYOpenGLRenderer::getElement ( )
inline

Get de l'element a representer.

Definition at line 144 of file TYOpenGLRenderer.h.

Here is the call graph for this function:

◆ getLights()

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

Definition at line 329 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ init()

void TYOpenGLRenderer::init ( int  width,
int  height 
)

Initialize the renderer

Definition at line 70 of file TYOpenGLRenderer.cpp.

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

◆ OpenGLDeviceRender()

void TYOpenGLRenderer::OpenGLDeviceRender ( GLenum  mode = GL_RENDER,
int  x = 0,
int  y = 0 
)

Picking

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 161 of file TYOpenGLRenderer.cpp.

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

◆ OpenGLRender()

void TYOpenGLRenderer::OpenGLRender ( GLenum  mode = GL_RENDER,
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 147 of file TYOpenGLRenderer.cpp.

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

◆ OpenGLUpdateGeometry()

int TYOpenGLRenderer::OpenGLUpdateGeometry ( GLenum  mode = GL_RENDER,
int  x = 0,
int  y = 0 
)

Mise a jour de la geometrie

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 179 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 )
private

Operateur d'affectaion a ne pas implementer mais

◆ removeLights()

void TYOpenGLRenderer::removeLights ( )

Definition at line 324 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 334 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ removeSelectedElement()

void TYOpenGLRenderer::removeSelectedElement ( TYElement pElement)

Definition at line 367 of file TYOpenGLRenderer.cpp.

Here is the caller graph for this function:

◆ Render()

void TYOpenGLRenderer::Render ( )

Appel OpenGLRender

Definition at line 144 of file TYOpenGLRenderer.cpp.

Here is the call graph for this function:

◆ setActiveCamera()

void TYOpenGLRenderer::setActiveCamera ( OGLCamera pCamera)
inline

Definition at line 162 of file TYOpenGLRenderer.h.

Here is the caller graph for this function:

◆ setBackground()

void TYOpenGLRenderer::setBackground ( double *  bgColor)
inline

Definition at line 165 of file TYOpenGLRenderer.h.

Here is the call graph for this function:

◆ setElement()

void TYOpenGLRenderer::setElement ( LPTYElement  pElt)
inline

Set de l'element a representer.

Definition at line 134 of file TYOpenGLRenderer.h.

Here is the caller graph for this function:

◆ setRenderType()

void TYOpenGLRenderer::setRenderType ( int  renderType)
inline

Definition at line 174 of file TYOpenGLRenderer.h.

Here is the call graph for this function:

◆ updateDisplayList()

void TYOpenGLRenderer::updateDisplayList ( void  )

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

Definition at line 130 of file TYOpenGLRenderer.cpp.

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

◆ updateDisplayListOverlay()

void TYOpenGLRenderer::updateDisplayListOverlay ( 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 103 of file TYOpenGLRenderer.cpp.

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

Member Data Documentation

◆ _displayList

GLuint TYOpenGLRenderer::_displayList
protected

Display liste globale.

Definition at line 185 of file TYOpenGLRenderer.h.

◆ _displayListOverlay

GLuint TYOpenGLRenderer::_displayListOverlay
protected

Display liste pour les deplacements.

Definition at line 187 of file TYOpenGLRenderer.h.

◆ _pActiveCamera

OGLCamera* TYOpenGLRenderer::_pActiveCamera
protected

Definition at line 199 of file TYOpenGLRenderer.h.

◆ _pBackgroundColor

double* TYOpenGLRenderer::_pBackgroundColor
protected

Definition at line 200 of file TYOpenGLRenderer.h.

◆ _pElement

TYElement* TYOpenGLRenderer::_pElement
protected

Element a representer.

Definition at line 182 of file TYOpenGLRenderer.h.

◆ _polygoneMode

GLuint TYOpenGLRenderer::_polygoneMode
protected

Mode de rendu.

Definition at line 189 of file TYOpenGLRenderer.h.

◆ _tabLights

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

Definition at line 197 of file TYOpenGLRenderer.h.

◆ _tabOGLElement

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

Definition at line 191 of file TYOpenGLRenderer.h.

◆ _tabSelectedElements

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

Definition at line 194 of file TYOpenGLRenderer.h.

◆ m_height

int TYOpenGLRenderer::m_height
protected

Definition at line 202 of file TYOpenGLRenderer.h.

◆ m_renderType

int TYOpenGLRenderer::m_renderType
protected

Definition at line 204 of file TYOpenGLRenderer.h.

◆ m_width

int TYOpenGLRenderer::m_width
protected

Definition at line 201 of file TYOpenGLRenderer.h.


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