12#ifndef ARCANE_MESH_ONEITEMADDER_H
13#define ARCANE_MESH_ONEITEMADDER_H
17#include "arcane/utils/TraceAccessor.h"
19#include "arcane/core/Item.h"
21#include "arcane/mesh/MeshGlobal.h"
22#include "arcane/mesh/FullItemInfo.h"
23#include "arcane/mesh/CellFamily.h"
24#include "arcane/mesh/NodeFamily.h"
25#include "arcane/mesh/FaceFamily.h"
26#include "arcane/mesh/EdgeFamily.h"
27#include "arcane/mesh/MeshInfos.h"
39class DynamicMeshIncrementalBuilder;
84 ARCANE_DEPRECATED_REASON(
"Y2022: Use addOneItem2() instead")
103 Integer nbNode()
const {
return m_mesh_info.getNbNode(); }
104 Integer nbFace()
const {
return m_mesh_info.getNbFace(); }
105 Integer nbCell()
const {
return m_mesh_info.getNbCell(); }
106 Integer nbEdge()
const {
return m_mesh_info.getNbEdge(); }
126 template<
typename CellInfo>
129 template<
typename CellInfo>
132 template<
typename CellInfo>
133 bool _isReorder(Integer
i_face,
137 template<
typename CellInfo>
142 template<
typename CellInfo>
148 template<
typename CellInfo>
Interface pour gérer une connectivité incrémentale.
Interface de modification d'une famille.
Interface d'une famille d'entités.
Structure interne d'une entité de maillage.
Index d'un Item dans une variable.
Type d'une entité (Item).
Informations locales sur une face d'une maille.
Gestionnaire des types d'entités de maillage.
Elément de maillage s'appuyant sur des noeuds (Edge,Face,Cell).
Classe de base d'un élément de maillage.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Construction d'un maillage de manière incrémentale.
Implémentation d'un maillage.
Infos pour créer/sérialiser une maille connaissant les uniqueId() et owner() de toutes ces sous-entit...
Classe factorisant des informations sur le maillage.
UniqueArray< Int64 > m_work_face_sorted_nodes
Tableaux de travail.
void _checkSameItemCoherency(ItemWithNodes item, ConstArrayView< Int64 > nodes_uid)
Vérifie la cohérence des noeuds d'une entité ajouté déjà présente.
void _addNodesToCell(Cell cell, const CellInfo &cell_info)
Ajoute les noeuds nodes_uid à la maille cell.
ItemInternal * _addOneCell(const CellInfo &cell_info)
Ajoute une maille.
ItemInternal * addOneCell(ItemTypeId type_id, Int64 cell_uid, Int32 sub_domain_id, Int64ConstArrayView nodes_uid, bool allow_build_face)
Ajoute une maille.
MeshInfos m_mesh_info
Info générale sur le maillage (numéro de sous-domaine, nombre d'items...)
Int64 _checkGenerateFaceUniqueId(Int64 uid, ConstArrayView< Int64 > nodes_uid)
Génère un uniqueId() pour la face si uid est nul.
Int64 m_next_edge_uid
Numéro du uniqueId() suivant utilisé pour générer les arêtes.
void setUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId(bool v)
Positionne le mécanisme de numérotation des uniqueId().
void resetAfterDeallocate()
Remise à zéro des structures pour pouvoir faire à nouveau une allocation.
bool m_use_hash_for_edge_and_face_unique_id
Si vrai, génère les uniqueId() des faces à partir de ceux des noeuds.
Int64 m_next_face_uid
Numéro du uniqueId() suivant utilisé pour générer les faces.
ItemInternal * addOneParentItem(const Item &item, const eItemKind submesh_kind, const bool fatal_on_existing_item=true)
Ajoute d'un item parent.
ItemInternal * addOneFace(ItemTypeId type_id, Int64 face_uid, Int32 owner_rank, Int64ConstArrayView nodes_uid)
Ajoute une face.
Vue constante d'un tableau de type T.
Classe d'accès aux traces.
eItemKind
Genre d'entité de maillage.