Interface de modification du maillage. Plus de détails...
#include <arcane/core/IMeshModifier.h>
Fonctions membres publiques | |
virtual void | build ()=0 |
virtual IMesh * | mesh ()=0 |
Maillage associé | |
virtual void | setDynamic (bool v)=0 |
Positionne la propriété indiquant si le maillage peut évoluer. | |
virtual void | addCells (Integer nb_cell, Int64ConstArrayView cell_infos, Int32ArrayView cells_lid=Int32ArrayView())=0 |
Ajoute des mailles. | |
virtual void | addCells (const MeshModifierAddCellsArgs &args) |
Ajoute des mailles. | |
virtual void | addFaces (Integer nb_face, Int64ConstArrayView face_infos, Int32ArrayView face_lids=Int32ArrayView())=0 |
Ajoute des faces. | |
virtual void | addFaces (const MeshModifierAddFacesArgs &args) |
Ajoute des faces. | |
virtual void | addEdges (Integer nb_edge, Int64ConstArrayView edge_infos, Int32ArrayView edge_lids=Int32ArrayView())=0 |
Ajoute des arêtes. | |
virtual void | addNodes (Int64ConstArrayView nodes_uid, Int32ArrayView nodes_lid=Int32ArrayView())=0 |
Ajoute des noeuds. | |
virtual void | removeCells (Int32ConstArrayView cells_local_id)=0 |
Supprime des mailles. | |
virtual void | removeCells (Int32ConstArrayView cells_local_id, bool update_ghost)=0 |
virtual void | detachCells (Int32ConstArrayView cells_local_id)=0 |
Détache des mailles du maillage. | |
virtual void | removeDetachedCells (Int32ConstArrayView cells_local_id)=0 |
Supprime les mailles détachées. | |
virtual void | flagCellToRefine (Int32ConstArrayView cells_lids)=0 |
AMR. | |
virtual void | flagCellToCoarsen (Int32ConstArrayView cells_lids)=0 |
virtual void | refineItems ()=0 |
virtual void | coarsenItems ()=0 |
virtual void | coarsenItemsV2 (bool update_parent_flag)=0 |
virtual bool | adapt ()=0 |
virtual void | registerCallBack (IAMRTransportFunctor *f)=0 |
virtual void | unRegisterCallBack (IAMRTransportFunctor *f)=0 |
virtual void | addHChildrenCells (Cell parent_cell, Integer nb_cell, Int64ConstArrayView cells_infos, Int32ArrayView cells_lid=Int32ArrayView())=0 |
virtual void | addParentCellToCell (Cell child, Cell parent)=0 |
virtual void | addChildCellToCell (Cell parent, Cell child)=0 |
virtual void | addParentFaceToFace (Face child, Face parent)=0 |
virtual void | addChildFaceToFace (Face parent, Face child)=0 |
virtual void | addParentNodeToNode (Node child, Node parent)=0 |
virtual void | addChildNodeToNode (Node parent, Node child)=0 |
virtual void | clearItems ()=0 |
Supprime toutes les entitées de toutes les familles de ce maillage. | |
virtual ARCANE_DEPRECATED_240 void | addCells (ISerializer *buffer)=0 |
Ajoute les mailles à partir des données contenues dans buffer. | |
virtual ARCANE_DEPRECATED_240 void | addCells (ISerializer *buffer, Int32Array &cells_local_id)=0 |
Ajoute les mailles à partir des données contenues dans buffer. | |
virtual void | endUpdate ()=0 |
Notifie l'instance de la fin de la modification du maillage. | |
virtual void | endUpdate (bool update_ghost_layer, bool remove_old_ghost)=0 |
virtual void | updateGhostLayers ()=0 |
Mise à jour de la couche fantôme. | |
virtual void | updateGhostLayerFromParent (Array< Int64 > &ghost_cell_to_refine, Array< Int64 > &ghost_cell_to_coarsen, bool remove_old_ghost)=0 |
AMR. | |
virtual void | addExtraGhostCellsBuilder (IExtraGhostCellsBuilder *builder)=0 |
ajout du algorithme d'ajout de mailles fantômes "extraordinaires". | |
virtual void | removeExtraGhostCellsBuilder (IExtraGhostCellsBuilder *builder)=0 |
Supprime l'association à l'instance builder. | |
virtual void | addExtraGhostParticlesBuilder (IExtraGhostParticlesBuilder *builder)=0 |
Ajout du algorithme d'ajout de particules fantômes "extraordinaires". | |
virtual void | removeExtraGhostParticlesBuilder (IExtraGhostParticlesBuilder *builder)=0 |
Supprime l'association à l'instance builder. | |
virtual void | mergeMeshes (ConstArrayView< IMesh * > meshes)=0 |
Fusionne les maillages de meshes avec le maillage actuel. | |
virtual IMeshModifierInternal * | _modifierInternalApi ()=0 |
API interne à Arcane. | |
Interface de modification du maillage.
Cette interface fournit les services permettant de modifier un maillage.
Définition à la ligne 134 du fichier IMeshModifier.h.
|
inlinevirtual |
Définition à la ligne 138 du fichier IMeshModifier.h.
|
virtual |
|
pure virtual |
Ajoute des mailles.
Ajoute des mailles. Le format de cells_infos est identiques à celui de la méthode IMesh::allocateCells(). Si cells_lid n'est pas vide, il contiendra en retour les numéros locaux des mailles créées. Il est possible de faire plusieurs ajouts successifs. Une fois les ajouts terminés, il faut appeler la méthode endUpdate(). Si une maille ajoutée possède le même uniqueId() qu'une des mailles existantes, la maille existante est conservée telle qu'elle et rien ne se passe.
Les mailles créées sont considérées comme appartenant à ce sous-domaine Si ce n'est pas le cas, il faut ensuite modifier leur appartenance.
Cette méthode est collective. Si un sous-domaine ne souhaite pas ajouter de mailles, il est possible de passer un tableau vide.
Référencé par addCells(), et Arcane::CartesianMeshCoarsening::createCoarseCells().
|
pure virtual |
Ajoute les mailles à partir des données contenues dans buffer.
buffer doit contenir des mailles sérialisées, par exemple par l'appel à IMesh::serializeCells().
|
pure virtual |
Ajoute les mailles à partir des données contenues dans buffer.
buffer doit contenir des mailles sérialisées, par exemple par l'appel à IMesh::serializeCells(). En retour cells_local_id contient la liste des localId() des mailles désérialisées. Une maille peut être présente plusieurs fois dans cette liste si elle est présente plusieurs fois dans buffer.
|
pure virtual |
Ajoute des arêtes.
Ajoute des arêtes. Le format de edge_infos est identiques à celui de la méthode IMesh::allocateCells(). Si edge_lids n'est pas vide, il contiendra en retour les numéros locaux des arêtes créées. Il est possible de faire plusieurs ajouts successifs. Une fois les ajouts terminés, il faut appeler la méthode endUpdate(). Si une face ajoutée possède le même uniqueId() qu'une des arêtes existantes, la arête existante est conservée telle qu'elle et rien ne se passe.
Les arêtes créées sont considérées comme appartenant à ce sous-domaine Si ce n'est pas le cas, il faut ensuite modifier leur appartenance.
Cette méthode est collective. Si un sous-domaine ne souhaite pas ajouter de arêtes, il est possible de passer un tableau vide.
|
virtual |
|
pure virtual |
Ajoute des faces.
Ajoute des faces. Le format de face_infos est identiques à celui de la méthode IMesh::allocateCells(). Si face_lids n'est pas vide, il contiendra en retour les numéros locaux des faces créées. Il est possible de faire plusieurs ajouts successifs. Une fois les ajouts terminés, il faut appeler la méthode endUpdate(). Si une face ajoutée possède le même uniqueId() qu'une des faces existantes, la face existante est conservée telle qu'elle et rien ne se passe.
Les faces créées sont considérées comme appartenant à ce sous-domaine Si ce n'est pas le cas, il faut ensuite modifier leur appartenance.
Cette méthode est collective. Si un sous-domaine ne souhaite pas ajouter de faces, il est possible de passer un tableau vide.
Référencé par addFaces(), et Arcane::CartesianMeshCoarsening::createCoarseCells().
|
pure virtual |
Ajoute des noeuds.
Ajoute des noeuds avec comme identifiant unique les valeurs du tableau nodes_uid. Si nodes_lid n'est pas vide, il contiendra en retour les numéros locaux des noeuds créés. Il est possible de faire plusieurs ajouts successifs. Une fois les ajouts terminés, il faut appeler la méthode endUpdate(). Il est possible de spécifier un uniqueId() déjà existant. Dans ce cas le noeud est simplement ignoré.
Les noeuds créés sont considérés comme appartenant à ce sous-domaine Si ce n'est pas le cas, il faut ensuite modifier leur appartenance.
Cette méthode est collective. Si un sous-domaine ne souhaite pas ajouter de noeuds, il est possible de passer un tableau vide.
|
pure virtual |
Détache des mailles du maillage.
Les mailles détachées sont déconnectées du maillage. Les noeuds, arêtes et faces de ces mailles ne leur font plus référence et le uniqueId() de ces mailles peuvent être réutilisés. Pour détruire définitivement ces mailles, il faut appeler la méthode removeDetachedCells().
|
pure virtual |
Notifie l'instance de la fin de la modification du maillage.
Cette méthode est collective.
Référencé par Arcane::CartesianMeshCoarsening::createCoarseCells(), Arcane::CartesianMeshCoarsening2::createCoarseCells(), et Arcane::CartesianMeshCoarsening::removeRefinedCells().
|
pure virtual |
Supprime des mailles.
Supprime les mailles dont les numéros locaux sont données dans cells_local_id. Il est possible de faire plusieurs suppressions successives. Une fois les suppressions terminées, il faut appeler la méthode endUpdate().
Référencé par Arcane::CartesianMeshCoarsening::removeRefinedCells().
|
pure virtual |
Supprime les mailles détachées.
Supprime les mailles détachées via detachCells(). Il est possible de faire plusieurs suppressions successives. Une fois les suppressions terminées, il faut appeler la méthode endUpdate().
|
pure virtual |
Positionne la propriété indiquant si le maillage peut évoluer.
Cette propriété doit être positionnée à vrai si l'on souhaite modifier le maillage, par exemple en échangeant des entités par appel à exchangeItems(). Cela ne concerne que les noeuds, arêtes, faces et mailles mais pas les particules qui peuvent toujours être créées et détruites.
Par défaut, isDynamic() est faux.
Le positionnement de la propriété ne peut se faire qu'à l'initialisation.
Référencé par Arcane::CartesianMeshAMRPatchMng::coarse(), et Arcane::CartesianMeshCoarsening::removeRefinedCells().
|
pure virtual |
Mise à jour de la couche fantôme.
Cette opération est collective.
Référencé par Arcane::CartesianMeshAMRPatchMng::coarse(), et Arcane::CartesianMeshCoarsening::removeRefinedCells().