Code_TYMPAN  4.4.0
Industrial site acoustic simulation
OGLSphereElement.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) <2012> <EDF-R&D> <FRANCE>
3  * This program is free software; you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License as published by
5  * the Free Software Foundation; either version 2 of the License, or
6  * (at your option) any later version.
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10  * See the GNU General Public License for more details.
11  * You should have received a copy of the GNU General Public License along
12  * with this program; if not, write to the Free Software Foundation, Inc.,
13  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14  */
15 
16 /*
17  *
18  */
19 
20 #include "OGLSphereElement.h"
21 
22 #if _WIN32
23  #include <windows.h>
24 #endif //_WIN32
25 
26 #include <GL/gl.h>
27 
28 #include "OGLSphere.h"
30 
32 {
34  m_oCenter = OPoint3D(0.0, 0.0, 0.0);
35  m_fRadius = 2.0f;
36  m_bIs3D = false;
37 }
38 
40 {
42  {
43  delete m_pOGLSphereToDisplay;
44  }
45 }
46 
48 {
49  m_oColor = oColor;
50 }
51 
53 {
54  if (m_bVisible)
55  {
56  if (m_bIs3D)
57  {
58  // Nouvelle vue
59  glMatrixMode(GL_MODELVIEW);
60  glPushMatrix();
61  m_pOGLSphereToDisplay->drawSphere(m_oCenter, /*m_fRadius*/ 5.0f, m_oColor);
62  // Ancienne vue
63  glPopMatrix();
64  }
65  else
66  {
67  // Nouvelle projection
68  glMatrixMode(GL_PROJECTION);
69  glPushMatrix();
70  glLoadIdentity();
71  unsigned int width = OSizeManager::get()->getWidth();
72  unsigned int height = OSizeManager::get()->getHeight();
73  glOrtho(0, width, 0.0, height, 0.0, 1.0);
74 
75  // Nouvelle vue
76  glMatrixMode(GL_MODELVIEW);
77  glPushMatrix();
78  glLoadIdentity();
79 
81 
82  // Ancienne projection
83  glMatrixMode(GL_PROJECTION);
84  glPopMatrix();
85 
86  // Ancienne vue
87  glMatrixMode(GL_MODELVIEW);
88  glPopMatrix();
89  }
90  }
91 
92  return 0;
93 }
Definition: color.h:31
bool m_bVisible
Definition: OGLElement.h:76
bool m_bIs3D
Definition: OGLElement.h:77
void setColor(const OColor &oColor)
virtual ~OGLSphereElement()
OGLSphere * m_pOGLSphereToDisplay
virtual int render()
void drawSphere(const OPoint3D &center, float raduis, const OColor &oColor) const
Definition: OGLSphere.cpp:35
The 3D point class.
Definition: 3d.h:487
static LPOSizeManager get()