Arcane  v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
LegacyMeshBuilder.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/* LegacyMeshBuilder.h (C) 2000-2023 */
9/* */
10/* Construction du maillage via la méthode "historique". */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMPL_INTERNAL_LEGACYMESHBUILDER_H
13#define ARCANE_IMPL_INTERNAL_LEGACYMESHBUILDER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/utils/Array.h"
19#include "arcane/utils/ScopedPtr.h"
20
21#include "arcane/XmlNode.h"
22#include "arcane/MeshHandle.h"
23#include "arcane/IInitialPartitioner.h"
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28namespace Arcane
29{
30class IPrimaryMesh;
32class IMeshReader;
33
34/*---------------------------------------------------------------------------*/
35/*---------------------------------------------------------------------------*/
42class ARCANE_IMPL_EXPORT LegacyMeshBuilder
43: public TraceAccessor
44{
45 struct MeshBuildInfo
46 {
47 public:
48 MeshBuildInfo() : m_dir_name("."), m_mesh(nullptr) {}
49 public:
50 XmlNode m_xml_node;
51 String m_orig_file_name;
52 String m_file_name;
53 String m_dir_name;
54 MeshHandle m_mesh_handle;
55 IPrimaryMesh* m_mesh;
56 };
57
58 public:
59
60 LegacyMeshBuilder(ISubDomain* sd,MeshHandle default_mesh_handle);
61
62 public:
63
64 void readCaseMeshes();
65 void createDefaultMesh();
66 void readMeshes();
67 void allocateMeshes();
68 void initializeMeshVariablesFromCaseFile();
69
70 private:
71 ISubDomain* m_sub_domain;
72 MeshHandle m_default_mesh_handle;
73 //TODO rendre privé
74 public:
77 String m_internal_partitioner_name;
80
81 private:
82
83 void _readMesh(ConstArrayView<Ref<IMeshReader>> mesh_readers,const MeshBuildInfo& mbi);
84 void _createMeshesHandle();
85};
86
87/*---------------------------------------------------------------------------*/
88/*---------------------------------------------------------------------------*/
89
90} // End namespace Arcane
91
92/*---------------------------------------------------------------------------*/
93/*---------------------------------------------------------------------------*/
94
95#endif
Vue constante d'un tableau de type T.
Interface d'un partitionneur initial.
Interface du service gérant la lecture d'un maillage.
Definition IMeshReader.h:37
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
void _readMesh(ConstArrayView< Ref< IMeshReader > > mesh_readers, const MeshBuildInfo &mbi)
ScopedPtrT< IInitialPartitioner > m_initial_partitioner
Partitionneur initial.
bool m_use_partitioner_tester
basic partitioner for metis
UniqueArray< MeshBuildInfo > m_meshes_build_info
Infos pour construire un maillage.
bool m_use_internal_mesh_partitioner
true si partitionne le maillage en interne
Handle sur un maillage.
Definition MeshHandle.h:47
Référence à une instance.
Encapsulation d'un pointeur qui se détruit automatiquement.
Definition ScopedPtr.h:44
Chaîne de caractères unicode.
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
Vecteur 1D de données avec sémantique par valeur (style STL).
Noeud d'un arbre DOM.
Definition XmlNode.h:51
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-