12#ifndef ARCANE_MESH_ONEITEMADDER_H
13#define ARCANE_MESH_ONEITEMADDER_H
17#include "arcane/utils/TraceAccessor.h"
19#include "arcane/core/Item.h"
20#include "arcane/core/NodesOfItemReorderer.h"
22#include "arcane/mesh/MeshGlobal.h"
23#include "arcane/mesh/FullItemInfo.h"
24#include "arcane/mesh/CellFamily.h"
25#include "arcane/mesh/NodeFamily.h"
26#include "arcane/mesh/FaceFamily.h"
27#include "arcane/mesh/EdgeFamily.h"
28#include "arcane/mesh/MeshInfos.h"
57 ~OneMeshItemAdder() {}
76 bool allow_build_face);
80 const bool fatal_on_existing_item =
true);
85 ARCANE_DEPRECATED_REASON(
"Y2022: Use addOneItem2() instead")
127 template<
typename CellInfo>
130 template<
typename CellInfo>
133 template<
typename CellInfo>
134 bool _isReorder(
Integer i_face,
136 const CellInfo& cell_info);
138 template<
typename CellInfo>
140 const CellInfo& cell_info,
143 template<
typename CellInfo>
145 const CellInfo& cell_info,
149 template<
typename CellInfo>
150 void _AMR_Patch(
Cell cell,
const CellInfo& cell_info);
Vue constante d'un tableau de type T.
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 d'un maillage.
Elément de maillage s'appuyant sur des noeuds (Edge,Face,Cell).
Classe de base d'un élément de maillage.
Classe utilitaire pour réordonner les noeuds d'une entité.
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
Vecteur 1D de données avec sémantique par valeur (style STL).
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.
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.
NodesOfItemReorderer m_face_reorderer
Tableaux de travail.
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.
std::int64_t Int64
Type entier signé sur 64 bits.
Int32 Integer
Type représentant un entier.
ConstArrayView< Int64 > Int64ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
eItemKind
Genre d'entité de maillage.
std::int32_t Int32
Type entier signé sur 32 bits.