Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ITimeHistoryCurveWriter2.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 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/* ITimeHistoryCurveWriter2.h (C) 2000-2024 */
9/* */
10/* Interface d'un écrivain d'une courbe d'un historique (Version 2). */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_ITIMEHISTORYCURVEWRITER2_H
13#define ARCANE_ITIMEHISTORYCURVEWRITER2_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18#include "arcane/utils/ArrayView.h"
19#include "arcane/utils/String.h"
20
21/*
22 * \brief Indique si on autorise l'accès aux membres privés.
23 * Par défaut (mars 2016) on laisse l'accès pour des raisons de compatibilité,
24 * mais il faudra le supprimer.
25 */
26#define ARCANE_ALLOW_CURVE_WRITER_PRIVATE_ACCESS 1
27#ifdef SWIG
28#undef ARCANE_ALLOW_CURVE_WRITER_PRIVATE_ACCESS
29#endif
30
31/*---------------------------------------------------------------------------*/
32/*---------------------------------------------------------------------------*/
33
34ARCANE_BEGIN_NAMESPACE
35
36/*---------------------------------------------------------------------------*/
37/*---------------------------------------------------------------------------*/
42{
43 public:
44
46 RealConstArrayView avalues, Integer sub_size)
47 : m_name(aname)
48 , m_support()
49 , m_has_support(false)
50 , m_iterations(aiterations)
51 , m_values(avalues)
52 , m_sub_size(sub_size)
53 , m_sub_domain(-1)
54 {}
55
57 RealConstArrayView avalues, Integer sub_size, Integer sub_domain)
58 : m_name(aname)
59 , m_support()
60 , m_has_support(false)
61 , m_iterations(aiterations)
62 , m_values(avalues)
63 , m_sub_size(sub_size)
64 , m_sub_domain(sub_domain)
65 {}
66
68 RealConstArrayView avalues, Integer sub_size)
69 : m_name(aname)
70 , m_support(asupport)
71 , m_has_support(true)
72 , m_iterations(aiterations)
73 , m_values(avalues)
74 , m_sub_size(sub_size)
75 , m_sub_domain(-1)
76 {}
77
79 RealConstArrayView avalues, Integer sub_size, Integer sub_domain)
80 : m_name(aname)
81 , m_support(asupport)
82 , m_has_support(true)
83 , m_iterations(aiterations)
84 , m_values(avalues)
85 , m_sub_size(sub_size)
86 , m_sub_domain(sub_domain)
87 {}
88
89 public:
90
92 const String& name() const { return m_name; }
93 const String& support() const { return m_support; }
94 bool hasSupport() const { return m_has_support; }
96 Int32ConstArrayView iterations() const { return m_iterations; }
98 RealConstArrayView values() const { return m_values; }
100 Integer subSize() const { return m_sub_size; }
101 // TODO nom pas terrible
102 Integer subDomain() const { return m_sub_domain; }
103
104#if ARCANE_ALLOW_CURVE_WRITER_PRIVATE_ACCESS
105 public:
106
107#else
108 private:
109#endif
110 String m_name;
111 String m_support;
112 bool m_has_support;
113 Int32ConstArrayView m_iterations;
114 RealConstArrayView m_values;
115 Integer m_sub_size;
116 Integer m_sub_domain;
117};
118
119/*---------------------------------------------------------------------------*/
120/*---------------------------------------------------------------------------*/
125{
126 public:
127
129 : m_path(apath)
130 , m_times(atimes)
131 {}
132
133 public:
134
139 String path() const { return m_path; }
141 RealConstArrayView times() const { return m_times; }
142
143#if ARCANE_ALLOW_CURVE_WRITER_PRIVATE_ACCESS
144 public:
145
146#else
147 private:
148#endif
149 String m_path;
150 RealConstArrayView m_times;
151};
152
153/*---------------------------------------------------------------------------*/
154/*---------------------------------------------------------------------------*/
169{
170 public:
171
174
175 public:
176
177 virtual void build() = 0;
178
182 virtual void beginWrite(const TimeHistoryCurveWriterInfo& infos) = 0;
183
187 virtual void endWrite() = 0;
188
198 virtual void writeCurve(const TimeHistoryCurveInfo& infos) = 0;
199
201 virtual String name() const = 0;
202
209 virtual void setOutputPath(const String& path) = 0;
210
212 virtual String outputPath() const = 0;
213};
214
215/*---------------------------------------------------------------------------*/
216/*---------------------------------------------------------------------------*/
217
218ARCANE_END_NAMESPACE
219
220/*---------------------------------------------------------------------------*/
221/*---------------------------------------------------------------------------*/
222
223#endif
Déclarations des types utilisés dans Arcane.
Interface d'un écrivain d'une courbe.
virtual void setOutputPath(const String &path)=0
Répertoire de base où seront écrites les courbes.
virtual String name() const =0
Nom de l'écrivain.
virtual ~ITimeHistoryCurveWriter2()
Libère les ressources.
virtual void endWrite()=0
Notifie la fin de l'écriture.
virtual void beginWrite(const TimeHistoryCurveWriterInfo &infos)=0
Notifie un début d'écriture.
virtual String outputPath() const =0
Répertoire de base où seront écrites les courbes.
virtual void writeCurve(const TimeHistoryCurveInfo &infos)=0
Ecrit une courbe.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Informations pour l'écriture d'une courbe.
Int32ConstArrayView iterations() const
Liste des itérations.
const String & name() const
Nom de la courbe.
RealConstArrayView values() const
Liste des valeurs de la courbe.
Integer subSize() const
Nombre de valeur par temps.
Informations sur l'écriture des courbes.
String path() const
Chemin ou écrire les données (sauf si surchargé spécifiquement par le service via ITimeHistoryCurveWr...
RealConstArrayView times() const
Liste des temps.
Vue constante d'un tableau de type T.
Chaîne de caractères unicode.