Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
HyodaMatrix.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// * HyodaMatrix.h (C) 2000-2016
9// ****************************************************************************
10#ifndef ARCANE_HYODA_MATRIX_H
11#define ARCANE_HYODA_MATRIX_H
12
13#define ARCANE_HYODA_MATRIX_MAX_CPU 8
14
15// ****************************************************************************
16// ****************************************************************************
17
18ARCANE_BEGIN_NAMESPACE
19
20// ****************************************************************************
21// ****************************************************************************
22
23class Hyoda;
24class HyodaTcp;
25class HyodaMix;
26
27// ****************************************************************************
28// * Hyoda Matrix
29// ****************************************************************************
31public:
32 HyodaMatrix(Hyoda*, ISubDomain*, ITraceMng*, unsigned int, unsigned int, HyodaTcp*);
34public:
35 int renderSize(void);
36 void render(void);
37 void setLeftRightBottomTop();
38 void drawGL(void);
39 void sxyzip(double*);
40 void setColor(double,double,double,Real3&);
41 void iceRowMinMax(int,Real &min, Real &max);
42 void iceColMinMax(int,Real &min, Real &max);
43 void iceValMinMax(int,Real &min, Real &max);
44 void checkOglError(void);
45 void checkIceTError(void);
46 void setIJVal(int,int,int*,int*,double*);
47private:
48 void initGL(void);
49 void drawMatrix(void);
50private:
51 void LowerTriangleImage(void*);
52 void UpperTriangleImage(void*);
53 void gluSphere(float, int, int);
54 void renderSphereConeTorus(void);
55 void gluCone(float, float, int, int);
56 void gluTorus(float, float, int, int);
57private:
58 Hyoda *hyoda;
59 ISubDomain *m_sub_domain;
60 struct IceTContextStruct *icetContext;
61 struct IceTCommunicatorStruct *icetCommunicator;
62 struct osmesa_context *osMesaContext;
63 Integer rank;
64 Integer num_proc;
65 Integer m_screen_width;
66 Integer m_screen_height;
67 void *m_image_buffer;
69 // ainsi que l'index de la variable arcane
70 // ainsi que l'index du plugin de dessin (global|material|environements)
71 Real m_pov_sxyzip[6];
72 double scale;
73 double rot_x, rot_y, rot_z;
74 double lrbtnf[6];
75 HyodaTcp *m_tcp;
76 private:
77 int m_hyoda_matrix_cpu;
78 int* m_hyoda_matrix_n;
79 int** m_hyoda_matrix_i;
80 int** m_hyoda_matrix_j;
81 double** m_hyoda_matrix_val;
82};
83
84// ****************************************************************************
85// ****************************************************************************
86
87ARCANE_END_NAMESPACE
88
89// ****************************************************************************
90// ****************************************************************************
91
92#endif // ARCANE_HYODA_MATRIX_H
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
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.