Arcane  v3.15.3.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::IItemFamilyTopologyModifierabstract

Interface de modification de la topologie des entités d'une famille. Plus de détails...

#include <arcane/core/IItemFamilyTopologyModifier.h>

+ Graphe d'héritage de Arcane::IItemFamilyTopologyModifier:
+ Graphe de collaboration de Arcane::IItemFamilyTopologyModifier:

Fonctions membres publiques

virtual ~IItemFamilyTopologyModifier ()=default
 Libère les ressources.
 
virtual IItemFamilyfamily () const =0
 Famille associée.
 
virtual void replaceNode (ItemLocalId item_lid, Integer index, ItemLocalId new_node_lid)=0
 Remplace un noeud d'une entité.
 
virtual void replaceEdge (ItemLocalId item_lid, Integer index, ItemLocalId new_edge_lid)=0
 Remplace une arête d'une entité.
 
virtual void replaceFace (ItemLocalId item_lid, Integer index, ItemLocalId new_face_lid)=0
 Remplace une face d'une entité.
 
virtual void replaceCell (ItemLocalId item_lid, Integer index, ItemLocalId new_cell_lid)=0
 Remplace une maille d'une entité.
 
virtual void replaceHParent (ItemLocalId item_lid, Integer index, ItemLocalId new_hparent_lid)=0
 Remplace une entité parente d'une entité.
 
virtual void replaceHChild (ItemLocalId item_lid, Integer index, ItemLocalId new_hchild_lid)=0
 Remplace une entité enfant d'une entité.
 
virtual void findAndReplaceNode (ItemLocalId item_lid, ItemLocalId old_node_lid, ItemLocalId new_node_lid)=0
 Remplace un noeud d'une entité.
 
virtual void findAndReplaceEdge (ItemLocalId item_lid, ItemLocalId old_edge_lid, ItemLocalId new_edge_lid)=0
 Remplace une arête d'une entité.
 
virtual void findAndReplaceFace (ItemLocalId item_lid, ItemLocalId old_face_lid, ItemLocalId new_face_lid)=0
 Remplace une face d'une entité.
 
virtual void findAndReplaceCell (ItemLocalId item_lid, ItemLocalId old_cell_lid, ItemLocalId new_cell_lid)=0
 Remplace une maille d'une entité.
 
virtual void setBackAndFrontCells (FaceLocalId face_lid, CellLocalId back_cell_lid, CellLocalId front_cell_lid)
 Positionne la maille devant et derrière une face.
 

Description détaillée

Interface de modification de la topologie des entités d'une famille.

Cette classe à vocation à être temporaire et sert pour remplacer les appels direct à ItemInternal en gérant les anciennes ou nouvelles connectivités.

Avertissement
Cette classe permet de modifier directement les connectivités des maillages non-structurés ce qui peut introduire des incohérences dans la topologie et les connectivités. Il faut donc faire très attention lorsqu'on utilise des méthodes de cette classe. Il est préférable d'utiliser les méthodes de IMeshModifier si on souhaite ajouter/supprimer des entités du maillage en garantissant la cohérence.

Définition à la ligne 42 du fichier IItemFamilyTopologyModifier.h.

Documentation des fonctions membres

◆ family()

virtual IItemFamily * Arcane::IItemFamilyTopologyModifier::family ( ) const
pure virtual

Famille associée.

Implémenté dans Arcane::mesh::AbstractItemFamilyTopologyModifier.

◆ findAndReplaceCell()

virtual void Arcane::IItemFamilyTopologyModifier::findAndReplaceCell ( ItemLocalId  item_lid,
ItemLocalId  old_cell_lid,
ItemLocalId  new_cell_lid 
)
pure virtual

Remplace une maille d'une entité.

Remplace la maille de numéro local old_cell_lid de l'entité de la famille family() de numéro local item_lid par la face de numéro local new_cell_lid.

Lance une exception si la maille old_cell_lid n'est pas trouvée.

Implémenté dans Arcane::mesh::AbstractItemFamilyTopologyModifier.

Référencé par Arcane::mesh::FaceFamily::replaceBackCellToFace(), Arcane::mesh::ItemSwapperUtils::swapCellFaces(), et Arcane::mesh::ItemSwapperUtils::swapCellNodes().

◆ findAndReplaceEdge()

virtual void Arcane::IItemFamilyTopologyModifier::findAndReplaceEdge ( ItemLocalId  item_lid,
ItemLocalId  old_edge_lid,
ItemLocalId  new_edge_lid 
)
pure virtual

Remplace une arête d'une entité.

Remplace l'arête de numéro local old_edge_lid de l'entité de la famille family() de numéro local item_lid par l'arête de numéro local new_edge_lid.

Lance une exception si l'arête old_edge_lid n'est pas trouvée.

Implémenté dans Arcane::mesh::AbstractItemFamilyTopologyModifier.

◆ findAndReplaceFace()

virtual void Arcane::IItemFamilyTopologyModifier::findAndReplaceFace ( ItemLocalId  item_lid,
ItemLocalId  old_face_lid,
ItemLocalId  new_face_lid 
)
pure virtual

Remplace une face d'une entité.

Remplace la face de numéro local old_face_lid de l'entité de la famille family() de numéro local item_lid par la face de numéro local new_face_lid.

Lance une exception si la face old_face_lid n'est pas trouvée.

Implémenté dans Arcane::mesh::AbstractItemFamilyTopologyModifier.

Référencé par Arcane::mesh::ItemSwapperUtils::swapFaceNodes().

◆ findAndReplaceNode()

virtual void Arcane::IItemFamilyTopologyModifier::findAndReplaceNode ( ItemLocalId  item_lid,
ItemLocalId  old_node_lid,
ItemLocalId  new_node_lid 
)
pure virtual

Remplace un noeud d'une entité.

Remplace le noeud de numéro local old_node_lid de l'entité de la famille family() de numéro local item_lid par le noeud de numéro local new_node_lid.

Lance une exception si le noeud old_node_id n'est pas trouvé.

Implémenté dans Arcane::mesh::AbstractItemFamilyTopologyModifier.

◆ replaceCell()

virtual void Arcane::IItemFamilyTopologyModifier::replaceCell ( ItemLocalId  item_lid,
Integer  index,
ItemLocalId  new_cell_lid 
)
pure virtual

Remplace une maille d'une entité.

Remplace la index-ème maille de l'entité de la famille family() de numéro local item_lid par la face de numéro local new_cell_lid.

Implémenté dans Arcane::mesh::AbstractItemFamilyTopologyModifier, Arcane::mesh::FaceFamily::TopologyModifier, et Arcane::mesh::NodeFamily::TopologyModifier.

◆ replaceEdge()

virtual void Arcane::IItemFamilyTopologyModifier::replaceEdge ( ItemLocalId  item_lid,
Integer  index,
ItemLocalId  new_edge_lid 
)
pure virtual

Remplace une arête d'une entité.

Remplace la index-ème arête de l'entité de la famille family() de numéro local item_lid par l'arête de numéro local new_edge_lid.

Implémenté dans Arcane::mesh::AbstractItemFamilyTopologyModifier, Arcane::mesh::CellFamily::TopologyModifier, Arcane::mesh::FaceFamily::TopologyModifier, et Arcane::mesh::NodeFamily::TopologyModifier.

◆ replaceFace()

virtual void Arcane::IItemFamilyTopologyModifier::replaceFace ( ItemLocalId  item_lid,
Integer  index,
ItemLocalId  new_face_lid 
)
pure virtual

Remplace une face d'une entité.

Remplace la index-ème face de l'entité de la famille family() de numéro local item_lid par la face de numéro local new_face_lid.

Implémenté dans Arcane::mesh::AbstractItemFamilyTopologyModifier, Arcane::mesh::CellFamily::TopologyModifier, Arcane::mesh::FaceFamily::TopologyModifier, et Arcane::mesh::NodeFamily::TopologyModifier.

Référencé par Arcane::mesh::ItemSwapperUtils::swapCellFaces().

◆ replaceHChild()

virtual void Arcane::IItemFamilyTopologyModifier::replaceHChild ( ItemLocalId  item_lid,
Integer  index,
ItemLocalId  new_hchild_lid 
)
pure virtual

Remplace une entité enfant d'une entité.

Remplace la index-ème entité enfant de l'entité de la famille family() de numéro local item_lid par l'entité enfant de numéro local new_hchild_lid.

Implémenté dans Arcane::mesh::AbstractItemFamilyTopologyModifier, et Arcane::mesh::CellFamily::TopologyModifier.

◆ replaceHParent()

virtual void Arcane::IItemFamilyTopologyModifier::replaceHParent ( ItemLocalId  item_lid,
Integer  index,
ItemLocalId  new_hparent_lid 
)
pure virtual

Remplace une entité parente d'une entité.

Remplace la index-ème entité parent de l'entité de la famille family() de numéro local item_lid par l'entité parent de numéro local new_hparent_lid.

Implémenté dans Arcane::mesh::AbstractItemFamilyTopologyModifier, et Arcane::mesh::CellFamily::TopologyModifier.

◆ replaceNode()

virtual void Arcane::IItemFamilyTopologyModifier::replaceNode ( ItemLocalId  item_lid,
Integer  index,
ItemLocalId  new_node_lid 
)
pure virtual

Remplace un noeud d'une entité.

Remplace le index-ème noeud de l'entité de la famille family() de numéro local item_lid par le noeud de numéro local new_node_lid.

Implémenté dans Arcane::mesh::CellFamily::TopologyModifier, Arcane::mesh::EdgeFamily::TopologyModifier, Arcane::mesh::FaceFamily::TopologyModifier, et Arcane::mesh::AbstractItemFamilyTopologyModifier.

Référencé par Arcane::mesh::ItemSwapperUtils::swapCellNodes(), et Arcane::mesh::ItemSwapperUtils::swapFaceNodes().

◆ setBackAndFrontCells()

void Arcane::IItemFamilyTopologyModifier::setBackAndFrontCells ( FaceLocalId  face_lid,
CellLocalId  back_cell_lid,
CellLocalId  front_cell_lid 
)
virtual

Positionne la maille devant et derrière une face.

Cette méthode n'est implémentée que pour les familles de face. Pour les autres famille, lève une exception de type NotSupportedException.

  • Paramètres
    face_lidnuméro local de la face
    back_cell_lidnuméro local de la maille derrière (ou NULL_ITEM_LOCAL_ID)
    front_cell_lidnuméro local de la maille devant (ou NULL_ITEM_LOCAL_ID)

Réimplémentée dans Arcane::mesh::FaceFamily::TopologyModifier.

Définition à la ligne 334 du fichier InterfaceImpl.cc.

Références ARCANE_THROW.


La documentation de cette classe a été générée à partir des fichiers suivants :