Code_TYMPAN  4.4.0
Industrial site acoustic simulation
TYSiteNodeGraphic.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) <2012-2024> <EDF-DTG> <FRANCE>
3  * This file is part of Code_TYMPAN (R).
4  * Code_TYMPAN (R) is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  * Code_TYMPAN (R) is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  * You should have received a copy of the GNU General Public License along
13  * with Code_TYMPAN (R). If not, see <https://www.gnu.org/licenses/>.
14  */
15 
27 #ifndef __TY_SITE_NODE_GRAPHIC__
28 #define __TY_SITE_NODE_GRAPHIC__
29 
31 #include <memory>
32 #include <qopengltexture.h>
33 #if _MSC_VER > 1000
34  #pragma once
35 #endif // _MSC_VER > 1000
36 
37 #if TY_USE_IHM
38  #ifdef Bool
39  #undef Bool
40  #endif
41 // #include <qsignal.h>
42 #endif // TY_USE_IHM
43 
44 #include "TYElementGraphic.h"
45 
46 class TYSiteNode;
47 
53 {
55 
56 #if TY_USE_IHM
57  // QSignal* _pUpdateSignal;
58 #endif // TY_USE_IHM
59  // Methodes
60 public:
61  TYSiteNodeGraphic(TYSiteNode* pElement);
62  virtual ~TYSiteNodeGraphic();
63 
64  virtual void update(bool force = false);
65 
73  virtual void display(TYRenderContext& renderContext);
74 
82  virtual void getChilds(TYListPtrTYElementGraphic& childs, bool recursif = true);
83 
91  void collectMeshInstances(std::vector<OGLMeshInstance>& meshInstances,
92  TYRenderContext* renderContext) const override;
93 
94 public:
95 #if TY_USE_IHM
100  virtual void connectUpdateSignal(QObject* pReceiver, const char* member);
101 
106  virtual void disconnectUpdateSignal(QObject* pReceiver, const char* member);
107 #endif
108 
109 protected:
110  QString _sOldTopoFile;
114  std::shared_ptr<QImage> _backgroundImage;
118  std::shared_ptr<OGLRectangleMesh> _imageMesh;
119 
120  void updateBackgroundImage();
121 };
122 
123 #endif // __TY_SITE_NODE_GRAPHIC__
Representation graphique d'un element de base (fichier header)
list< TYElementGraphic * > TYListPtrTYElementGraphic
List de pointeur de TYElement.
#define TY_DECL_METIER_GRAPHIC(classname)
classe graphique pour un element de base
clase graphique pour un ensemble de sites
virtual void update(bool force=false)
TYSiteNodeGraphic(TYSiteNode *pElement)
std::shared_ptr< OGLRectangleMesh > _imageMesh
virtual void getChilds(TYListPtrTYElementGraphic &childs, bool recursif=true)
void collectMeshInstances(std::vector< OGLMeshInstance > &meshInstances, TYRenderContext *renderContext) const override
virtual void display(TYRenderContext &renderContext)
std::shared_ptr< QImage > _backgroundImage