Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
HyodaIceT.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*****************************************************************************
8 * HyodaIceT.h (C) 2000-2012 *
9 * *
10 * Header du debugger hybrid. *
11 *****************************************************************************/
12#ifndef ARCANE_HYODA_ICE_T_H
13#define ARCANE_HYODA_ICE_T_H
14
15/*---------------------------------------------------------------------------*/
16/*---------------------------------------------------------------------------*/
17
18ARCANE_BEGIN_NAMESPACE
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22class Hyoda;
23class HyodaTcp;
24class HyodaMix;
25
26/******************************************************************************
27 * Hyoda CLASS
28 *****************************************************************************/
29class ARCANE_HYODA_EXPORT HyodaIceT
30: public TraceAccessor
31{
32public:
33 HyodaIceT(Hyoda*, ISubDomain*, ITraceMng*, unsigned int, unsigned int, HyodaTcp*);
34 ~HyodaIceT();
35public:
36 int renderSize(void);
37 void render(void);
38 void setLeftRightBottomTop(void);
39 void drawGL(void);
40 void sxyzip(double*);
41 void setColor(double,double,double,Real3&);
42 void iceColorMinMax(Real &min, Real &max);
43 IVariable *getVariable(void){return m_variable;}
44 void setVariable(IVariable *var){m_variable=var;}
45 void checkOglError(void);
46 void checkIceTError(void);
47private:
48 void initGL(void);
49 void drawArcaneMesh(void);
50 inline void drawArcPoints(const VariableItemReal3&,VariableItemReal&,double min,double max);
51 inline void drawArcLines(const VariableItemReal3&,VariableItemReal&);
52 inline void drawArcPolygons(void);
53 inline void drawArcPolygonsWithoutVariable(void);
54private:
55 void LowerTriangleImage(void*);
56 void UpperTriangleImage(void*);
57 void gluSphere(float, int, int);
58 void renderSphereConeTorus(void);
59 void gluCone(float, float, int, int);
60 void gluTorus(float, float, int, int);
61private:
62 Hyoda *hyoda;
63 ISubDomain *m_sub_domain;
64 struct IceTContextStruct *icetContext;
65 struct IceTCommunicatorStruct *icetCommunicator;
66 struct osmesa_context *osMesaContext;
67 Integer rank;
68 Integer num_proc;
69 Integer m_screen_width;
70 Integer m_screen_height;
71 void *m_image_buffer;
73 // ainsi que l'index de la variable arcane
74 // ainsi que l'index du plugin de dessin (global|material|environements)
75 Real m_pov_sxyzip[6];
76 double scale;
77 double rot_x, rot_y, rot_z;
78 int variable_index;
79 int variable_plugin;
80 double lrbtnf[6];
81 HyodaTcp *m_tcp;
82 HyodaMix *m_hyoda_mix;
83 IVariable* m_variable;
84};
85
86
87/*---------------------------------------------------------------------------*/
88/*---------------------------------------------------------------------------*/
89
90ARCANE_END_NAMESPACE
91
92/*---------------------------------------------------------------------------*/
93/*---------------------------------------------------------------------------*/
94
95#endif // ARCANE_HYODA_ICE_T_H
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
Interface d'une variable.
Definition IVariable.h:54
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Classe gérant un vecteur de réel de dimension 3.
Definition Real3.h:132
Interface du gestionnaire de traces.