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"
56 ~OneMeshItemAdder() {}
75 bool allow_build_face);
79 const bool fatal_on_existing_item =
true);
84 ARCANE_DEPRECATED_REASON(
"Y2022: Use addOneItem2() instead")
126 template<
typename CellInfo>
129 template<
typename CellInfo>
132 template<
typename CellInfo>
133 bool _isReorder(
Integer i_face,
135 const CellInfo& cell_info);
137 template<
typename CellInfo>
139 const CellInfo& cell_info,
142 template<
typename CellInfo>
144 const CellInfo& cell_info,
148 template<
typename CellInfo>
149 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 de maillage.
Elément de maillage s'appuyant sur des noeuds (Edge,Face,Cell).
Classe de base d'un élément de maillage.
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.
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.
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.