Code_TYMPAN  4.4.0
Industrial site acoustic simulation
OGLSimpleMaterial.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) <2012-2025> <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 
16 #ifndef __OGL_SIMPLE_MATERIAL__
17 #define __OGL_SIMPLE_MATERIAL__
18 
19 #include <memory>
20 #include <qcolor.h>
21 #include <qimage.h>
22 #include <qopengltexture.h>
23 
28 {
29 
30 public:
31  enum class TextureBlend
32  {
33  Overlay = 0,
34  Multiply = 1,
35 
36  };
37 
38  enum class LightingMode
39  {
40  Flat = 0,
41  Shaded = 1,
42  };
43 
44  OGLSimpleMaterial(const QColor& _color = QColor("white"),
45  const std::shared_ptr<QImage> _image = std::shared_ptr<QImage>(),
46  const TextureBlend _textureBlend = TextureBlend::Multiply,
47  const LightingMode _LightingMode = LightingMode::Flat);
48 
52  QColor color;
53 
58  std::shared_ptr<QImage> image;
59 
65 
70 
75 };
76 
77 #endif // __OGL_SIMPLE_MATERIAL__
OGLSimpleMaterial(const QColor &_color=QColor("white"), const std::shared_ptr< QImage > _image=std::shared_ptr< QImage >(), const TextureBlend _textureBlend=TextureBlend::Multiply, const LightingMode _LightingMode=LightingMode::Flat)
TextureBlend textureBlend
LightingMode lightingMode
static OGLSimpleMaterial BOUNDING_BOX
std::shared_ptr< QImage > image