Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
hdf5/Hdf5VariableInfoBase.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2023 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/* Hdf5VariableInfoBase.h (C) 2000-2023 */
9/* */
10/* Liaison d'une variable avec un fichier HDF5. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_HDF5_HDF5VARIABLEINFOBASE_H
13#define ARCANE_HDF5_HDF5VARIABLEINFOBASE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/hdf5/Hdf5Utils.h"
18#include "arcane/VariableTypes.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23ARCANE_BEGIN_NAMESPACE
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28class IMesh;
29class IVariable;
30
31/*---------------------------------------------------------------------------*/
32/*---------------------------------------------------------------------------*/
37class ARCANE_HDF5_EXPORT Hdf5VariableInfoBase
38{
39 public:
45 {
46 public:
47 virtual ~ICorrespondanceFunctor() {}
48 public:
49 virtual Int64 getOldUniqueId(Int64 uid,Integer index) =0;
50 };
51 public:
52 static const Integer SAVE_IDS = 1;
53 static const Integer SAVE_COORDS = 2;
54 protected:
55 Hdf5VariableInfoBase() : m_correspondance_functor(0) {}
56 public:
57 virtual ~Hdf5VariableInfoBase() {}
58 public:
59 static Hdf5VariableInfoBase* create(IMesh* mesh,const String& name,
60 const String& family);
62 static Hdf5VariableInfoBase* create(IVariable* variable);
63
64 public:
66 const String& path() const { return m_path; }
68 void setPath(const String& path) { m_path = path; }
69 virtual void readVariable(Hdf5Utils::HFile& hfile,const String& filename,
71 virtual void writeVariable(Hdf5Utils::HFile& hfile,Hdf5Utils::StandardTypes& st) =0;
72 virtual IVariable* variable() const =0;
73 public:
75 const String& hdf_path,Integer save_type);
76 void readGroupInfo(Hdf5Utils::HFile& hfile,Hdf5Utils::StandardTypes& st,
78 void setCorrespondanceFunctor(ICorrespondanceFunctor* functor)
79 {
80 m_correspondance_functor = functor;
81 }
82 private:
83 String m_path;
84 protected:
85 ICorrespondanceFunctor* m_correspondance_functor;
86 private:
87 static void _checkValidVariable(IVariable* var);
88};
89
90/*---------------------------------------------------------------------------*/
91/*---------------------------------------------------------------------------*/
92
93ARCANE_END_NAMESPACE
94
95/*---------------------------------------------------------------------------*/
96/*---------------------------------------------------------------------------*/
97
98#endif
Tableau d'items de types quelconques.
Encapsule un hid_t pour un fichier.
Définition des types standards Arcane pour hdf5.
Fonctor pour faire la correspondance entre une entité du maillage courant et celle du maillage sauveg...
Classe de base pour lire ou écrire une variables.
const String & path() const
Chemin dans le fichier Hdf5 contenant la valeur de la variable.
void setPath(const String &path)
Positionne le chemin dans le fichier Hdf5 contenant la valeur de la variable.
Interface d'une donnée.
Definition IData.h:33
Interface d'une variable.
Definition IVariable.h:54
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Chaîne de caractères unicode.