Code_TYMPAN  4.4.0
Industrial site acoustic simulation
TYTopographieGraphic.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_TOPOGRAPHIE_GRAPHIC__
28 #define __TY_TOPOGRAPHIE_GRAPHIC__
29 
31 #include <memory>
32 #if _MSC_VER > 1000
33  #pragma once
34 #endif // _MSC_VER > 1000
35 
36 #include "TYPolyLineGraphic.h"
37 class TYTopographie;
38 
44 {
46 
47  // Methodes
48 public:
50  virtual ~TYTopographieGraphic() {}
51 
52  virtual void update(bool force = false);
53 
61  virtual void display(TYRenderContext& renderContext);
62 
63  void collectMeshInstances(std::vector<OGLMeshInstance>& meshInstances,
64  TYRenderContext* renderContext) const override;
65 
73  virtual void getChilds(TYListPtrTYElementGraphic& childs, bool recursif = true);
74 
75  void setBackgroundImage(std::shared_ptr<QImage>& image, int semiX, int semiY, TYPoint ptPosition,
76  OVector3D bgOrientation);
77  void unsetBackgroundImage();
78 
79  void recomputeEmpriseMesh();
80 
81  // Membres
82 protected:
83  std::shared_ptr<OGLPolyLineMesh> _empriseMesh;
84 };
85 
86 #endif // __TY_TOPOGRAPHIE_GRAPHIC__
list< TYElementGraphic * > TYListPtrTYElementGraphic
List de pointeur de TYElement.
#define TY_DECL_METIER_GRAPHIC(classname)
Representation graphique d'une polyligne (fichier header)
The 3D vector class.
Definition: 3d.h:298
classe graphique pour un element de base
classe graphique pour une topographie
void setBackgroundImage(std::shared_ptr< QImage > &image, int semiX, int semiY, TYPoint ptPosition, OVector3D bgOrientation)
std::shared_ptr< OGLPolyLineMesh > _empriseMesh
virtual void display(TYRenderContext &renderContext)
void collectMeshInstances(std::vector< OGLMeshInstance > &meshInstances, TYRenderContext *renderContext) const override
virtual void update(bool force=false)
virtual void getChilds(TYListPtrTYElementGraphic &childs, bool recursif=true)
TYTopographieGraphic(TYTopographie *pElement)