12#ifndef ARCANE_MESH_DYNAMICMESHINCREMENTALBUILDER_H
13#define ARCANE_MESH_DYNAMICMESHINCREMENTALBUILDER_H
17#include "arcane/utils/HashTableMap.h"
18#include "arcane/utils/TraceAccessor.h"
20#include "arcane/core/IItemFamilyNetwork.h"
22#include "arcane/core/ItemInternal.h"
24#include "arcane/mesh/DynamicMeshKindInfos.h"
25#include "arcane/mesh/ItemData.h"
26#include "arcane/mesh/FullItemInfo.h"
45class OneMeshItemAdder;
46class GhostLayerBuilder;
47class FaceUniqueIdBuilder;
48class EdgeUniqueIdBuilder;
116 void removeGhostCells();
117 void removeNeedRemoveMarkedCells();
135 void printStats(Int32 level = TraceMessage::DEFAULT_LEVEL);
141 bool isVerbose()
const {
return m_verbose; }
152 NodeInFacePtr(
const Int64& node_uid) : m_ptr(std::make_shared<NodeInFace>(node_uid)){}
154 NodeInFace* operator->() {
return m_ptr.operator->();}
155 const NodeInFace* operator->()
const {
return m_ptr.operator->();}
156 bool operator==(
const NodeInFacePtr& a)
const {
return (*m_ptr) == (*a.m_ptr);}
157 std::shared_ptr<NodeInFace> m_ptr;
165 typedef std::list<NodeInFacePtr> NodeInFaceSet;
169 , m_face_uid(NULL_ITEM_ID){}
174 return a.m_uid <
nif.m_uid;
178 return a.m_uid ==
b.m_uid;
181 Int64 faceUid()
const {
return m_face_uid;}
184 const NodeInFaceSet& nextNodeSet()
const {
return m_next_node_set;}
185 NodeInFaceSet& nextNodeSet() {
return m_next_node_set;}
189 std::cout <<
"Node " << m_uid <<
" has set " << & m_next_node_set <<
" containing nodes : " << std:: endl;
190 for (
auto node : m_next_node_set)
200 NodeInFaceSet m_next_node_set;
203 typedef NodeInFace::NodeInFaceSet NodeInFaceSet;
Déclarations des types généraux de Arcane.
Tableau d'items de types quelconques.
Interface d'une famille d'entités.
Structure interne d'une entité de maillage.
Gestionnaire des types d'entités de maillage.
Vue sur un vecteur d'entités.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Construction d'un maillage de manière incrémentale.
ItemInternal * addFace(Int64 a_face_uid, Int64ConstArrayView a_node_list, Integer a_type)
Ajoute une face.
void addNodes2(Int64ConstArrayView nodes_uid, Integer sub_domain_id, Int32ArrayView nodes)
Ajoute des noeuds au maillage actuel. Utilise l'ajout d'item générique basé sur dépendances entre fam...
void computeFacesUniqueIds()
Calcul les numéros uniques de chaque face.
bool m_verbose
Vrai si affiche messages.
void setConnectivity(Integer c)
Définit la connectivité active pour le maillage associé
void addParentCells(const ItemVectorView &items)
Ajout au maillage courant d'item venant d'un maillage parent.
void addCells(Integer nb_cell, Int64ConstArrayView cell_infos, Integer sub_domain_id, Int32ArrayView cells, bool allow_build_face=true)
Ajoute des mailles au maillage actuel.
void addParentItems(const ItemVectorView &items, const eItemKind submesh_kind)
Ajout au maillage courant d'item venant d'un maillage parent.
OneMeshItemAdder * m_one_mesh_item_adder
Outils de construction du maillage.
Int64 m_face_uid_pool
Numéro du uniqueId() utilisé pour générer les faces.
void resetAfterDeallocate()
Remise à zéro des structures pour pouvoir faire à nouveau une allocation.
void addGhostChildFromParent(Array< Int64 > &ghost_cell_to_refine)
AMR.
void addEdges2(Integer nb_edge, Int64ConstArrayView edge_infos, Integer sub_domain_id, Int32ArrayView edges)
Ajoute des arêtes au maillage actuel. Utilise l'ajout d'item générique basé sur dépendances entre fam...
Int64 m_edge_uid_pool
Numéro du uniqueId() utilisé pour générer les edges.
void addItems(ItemDataList &item_info_list)
Ajout générique d'items d'un ensemble de famille pour lesquelles on fournit un ItemData.
void addNodes(Int64ConstArrayView nodes_uid, Integer sub_domain_id, Int32ArrayView nodes)
Ajoute des noeuds au maillage actuel.
void addFaces(Integer nb_face, Int64ConstArrayView face_infos, Integer sub_domain_id, Int32ArrayView faces)
Ajoute des faces au maillage actuel.
void addEdges(Integer nb_edge, Int64ConstArrayView edge_infos, Integer sub_domain_id, Int32ArrayView edges)
Ajoute des arêtes au maillage actuel.
GhostLayerBuilder * m_ghost_layer_builder
Outil pour construire les éléments fantômes.
void addHChildrenCells(Cell hParent_cell, Integer nb_cell, Int64ConstArrayView cells_infos, Int32 sub_domain_id, Int32ArrayView cells, bool allow_build_face)
Ajoute des mailles au maillage actuel.
bool m_has_edge
Info sur la présence d'arête (accèlere l'accès à la connectivité générale)
void addFamilyItems(ItemData &item_info)
Ajout générique d'items d'une famille, décrite par son ItemInfo.
void removeNeedRemoveMarkedItems()
Supprime les items fantômes.
void addCells3(Integer nb_cell, Int64ConstArrayView cell_infos, Integer sub_domain_id, Int32ArrayView cells, bool allow_build_face=true)
Ajoute des mailles au maillage actuel. Utilise l'ajout d'item générique basé sur dépendances entre fa...
void addFaces2(Integer nb_face, Int64ConstArrayView face_infos, Integer sub_domain_id, Int32ArrayView faces)
Ajoute des faces au maillage actuel. Utilise l'ajout d'item générique basé sur dépendances entre fami...
Integer m_connectivity
Info de connectivité du maillage courant.
DynamicMesh * m_mesh
Maillage associé
Implémentation d'un maillage.
Construction des couches fantômes.
Construction des couches fantômes.
Construction des couches fantômes.
Tableau associatif de ItemInternal.
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.
Chaîne de caractères unicode.
Classe d'accès aux traces.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eItemKind
Genre d'entité de maillage.