Code_TYMPAN  4.4.0
Industrial site acoustic simulation
OGLMeshInstance.cpp
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 
17 #include "core/exceptions.h"
18 #include "gui/tools/OGLMesh.h"
19 #include <memory>
20 
21 OGLMeshInstance::OGLMeshInstance(std::shared_ptr<const OGLMesh> mesh, const QMatrix4x4& globalMatrix)
22  : _globalMatrix(globalMatrix), _pMesh(mesh)
23 {
24  if (mesh == nullptr)
25  {
26  throw tympan::invalid_data("Built a mesh instance with nullptr as mesh");
27  }
28 }
29 
30 std::shared_ptr<const OGLMesh> OGLMeshInstance::mesh() const
31 {
32  return _pMesh;
33 }
34 
35 const QMatrix4x4& OGLMeshInstance::globalMatrix() const
36 {
37  return _globalMatrix;
38 }
const QMatrix4x4 & globalMatrix() const
const QMatrix4x4 _globalMatrix
const std::shared_ptr< const OGLMesh > _pMesh
OGLMeshInstance(std::shared_ptr< const OGLMesh > mesh, const QMatrix4x4 &globalMatrix)
std::shared_ptr< const OGLMesh > mesh() const
Utilities to handle exceptions and to pretty-print value.
The base exception class for errors due to invalid data.
Definition: exceptions.h:75