Code_TYMPAN  4.4.0
Industrial site acoustic simulation
TYAltimetrieGraphic.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_ALTIMETRIE_GRAPHIC__
28 #define __TY_ALTIMETRIE_GRAPHIC__
29 
30 #include "gui/tools/OGLArrayMesh.h"
31 #include <memory>
32 #include <qopengltexture.h>
33 #if _MSC_VER > 1000
34  #pragma once
35 #endif // _MSC_VER > 1000
36 
38 #include "TYElementGraphic.h"
39 #include "TYPolygonGraphic.h"
40 #include <QImage>
41 
42 class TYAltimetrie;
43 
49 {
51 
52  // Methodes
53 public:
58 
62  virtual ~TYAltimetrieGraphic();
63 
71  virtual void update(bool force = false);
72 
79  virtual void display(TYRenderContext& renderContext);
80 
85  virtual void getChilds(TYListPtrTYElementGraphic& childs, bool recursif = true);
86 
90  virtual OBox computeBoundingBox() const;
91 
101  void setBackgroundImage(std::shared_ptr<QImage>& image, int semiX, int semiY, TYPoint ptPosition,
102  OVector3D bgImageOrientation);
103 
107  void unsetBackgroundImage();
108 
109  void collectMeshInstances(std::vector<OGLMeshInstance>& meshInstances,
110  TYRenderContext* renderContext) const override;
111 
112 protected:
114  int _semiX;
115  int _semiY;
118  double _angle;
119  std::shared_ptr<QImage> _image;
120  std::shared_ptr<OGLArrayMesh> _mesh;
121 };
122 
123 #endif // __TY_ALTIMETRIE_GRAPHIC__
Representation graphique d'un element de base (fichier header)
list< TYElementGraphic * > TYListPtrTYElementGraphic
List de pointeur de TYElement.
#define TY_DECL_METIER_GRAPHIC(classname)
Representation graphique d'un polygone (fichier header)
The box class.
Definition: 3d.h:1346
The 3D vector class.
Definition: 3d.h:298
classe graphique pour une altimetrie
void setBackgroundImage(std::shared_ptr< QImage > &image, int semiX, int semiY, TYPoint ptPosition, OVector3D bgImageOrientation)
virtual OBox computeBoundingBox() const
std::shared_ptr< QImage > _image
TYAltimetrieGraphic(TYAltimetrie *pElement)
virtual void getChilds(TYListPtrTYElementGraphic &childs, bool recursif=true)
virtual void update(bool force=false)
void collectMeshInstances(std::vector< OGLMeshInstance > &meshInstances, TYRenderContext *renderContext) const override
std::shared_ptr< OGLArrayMesh > _mesh
virtual void display(TYRenderContext &renderContext)
Assigne une altitude a chaque point de l'espace.
Definition: TYAltimetrie.h:35
classe graphique pour un element de base
std::vector< OColor > OLookupTable
Collection de OColor.
Definition: color.h:113