Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
NullPhysicalUnitSystemService.cc
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/* NullPhysicalUnitSystemService.h (C) 2000-2022 */
9/* */
10/* Gestion de système d'unité physique par défaut. */
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
14#include "arcane/utils/PlatformUtils.h"
15#include "arcane/utils/NotSupportedException.h"
16#include "arcane/utils/TraceInfo.h"
17#include "arcane/utils/ArrayView.h"
18
19#include "arcane/IPhysicalUnitSystemService.h"
20#include "arcane/IPhysicalUnitSystem.h"
21#include "arcane/IPhysicalUnitConverter.h"
22#include "arcane/IPhysicalUnit.h"
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27namespace Arcane
28{
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32
33class NullPhysicalUnitConverter;
34class NullPhysicalUnit;
35class NullPhysicalUnitSystem;
36
37/*---------------------------------------------------------------------------*/
38/*---------------------------------------------------------------------------*/
39
41: public IPhysicalUnit
42{
43 public:
44
45 friend class NullPhysicalUnitSystem;
46
47 public:
48
49 const String& name() const override
50 {
51 return m_name;
52 }
53
54 private:
55
56 String m_name;
57};
58
59/*---------------------------------------------------------------------------*/
60/*---------------------------------------------------------------------------*/
61
64{
65 public:
66
68 {
69 }
70
71 public:
72
73 Real convert(Real value) override
74 {
75 ARCANE_UNUSED(value);
76 throw NotSupportedException(A_FUNCINFO);
77 }
78
81 {
82 ARCANE_UNUSED(input_values);
83 ARCANE_UNUSED(output_values);
84 throw NotSupportedException(A_FUNCINFO);
85 }
86
88 {
89 return m_from_unit;
90 }
91
93 {
94 return m_to_unit;
95 }
96
97 public:
98
99 private:
100 NullPhysicalUnit* m_from_unit = nullptr;
101 NullPhysicalUnit* m_to_unit = nullptr;
102};
103
104/*---------------------------------------------------------------------------*/
105/*---------------------------------------------------------------------------*/
106
108: public IPhysicalUnitSystem
109{
110 public:
111
112 NullPhysicalUnitSystem() = default;
113
115 {
116 ARCANE_UNUSED(from);
117 ARCANE_UNUSED(to);
119 return cvt;
120 }
121
123 {
124 ARCANE_UNUSED(from);
125 ARCANE_UNUSED(to);
127 return cvt;
128 }
129
130 public:
131
132 private:
133};
134
135/*---------------------------------------------------------------------------*/
136/*---------------------------------------------------------------------------*/
137
140{
141 public:
142
144
145 public:
146
147 void build() override {}
148
149 public:
150
156
157 private:
158
159};
160
161/*---------------------------------------------------------------------------*/
162/*---------------------------------------------------------------------------*/
163
164/*---------------------------------------------------------------------------*/
165/*---------------------------------------------------------------------------*/
166
167extern "C++" IPhysicalUnitSystemService*
168createNullPhysicalUnitSystemService()
169{
170 IPhysicalUnitSystemService* s = new NullPhysicalUnitSystemService();
171 s->build();
172 return s;
173}
174
175/*---------------------------------------------------------------------------*/
176/*---------------------------------------------------------------------------*/
177
178} // End namespace Arcane
179
180/*---------------------------------------------------------------------------*/
181/*---------------------------------------------------------------------------*/
Interface d'un convertisseur d'unité.
Interface d'un service gérant un système d'unité.
Interface d'un système d'unité.
Unité physique.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Real convert(Real value) override
Retourne la valeur convertie de value.
IPhysicalUnit * fromUnit() override
Unité de départ.
IPhysicalUnit * toUnit() override
Unité d'arrivée.
void convert(RealConstArrayView input_values, RealArrayView output_values) override
Retourne dans output_values les valeurs converties de input_values.
IPhysicalUnitSystem * createStandardUnitSystem() override
Crée un système d'unité pour le Système International SI.
IPhysicalUnitConverter * createConverter(IPhysicalUnit *from, IPhysicalUnit *to) override
Créé un convertisseur entre deux unités. L'appelant doit détruire le convertisseur retourné....
IPhysicalUnitConverter * createConverter(const String &from, const String &to) override
Créé un convertisseur entre deux unités. L'appelant doit détruire le convertisseur retourné.
const String & name() const override
Nom de l'unité
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.
Exception lorsqu'une opération n'est pas supportée.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-