Interface for modifying the topology of entities within a family. More...
#include <arcane/core/IItemFamilyTopologyModifier.h>
Public Member Functions | |
| virtual | ~IItemFamilyTopologyModifier ()=default |
| Frees resources. | |
| virtual IItemFamily * | family () const =0 |
| Associated family. | |
| virtual void | replaceNode (ItemLocalId item_lid, Integer index, ItemLocalId new_node_lid)=0 |
| Replaces a node of an entity. | |
| virtual void | replaceEdge (ItemLocalId item_lid, Integer index, ItemLocalId new_edge_lid)=0 |
| Replaces an edge of an entity. | |
| virtual void | replaceFace (ItemLocalId item_lid, Integer index, ItemLocalId new_face_lid)=0 |
| Replaces a face of an entity. | |
| virtual void | replaceCell (ItemLocalId item_lid, Integer index, ItemLocalId new_cell_lid)=0 |
| Replaces a cell of an entity. | |
| virtual void | replaceHParent (ItemLocalId item_lid, Integer index, ItemLocalId new_hparent_lid)=0 |
| Replaces a parent entity of an entity. | |
| virtual void | replaceHChild (ItemLocalId item_lid, Integer index, ItemLocalId new_hchild_lid)=0 |
| Replaces a child entity of an entity. | |
| virtual void | findAndReplaceNode (ItemLocalId item_lid, ItemLocalId old_node_lid, ItemLocalId new_node_lid)=0 |
| Finds and replaces a node of an entity. | |
| virtual void | findAndReplaceEdge (ItemLocalId item_lid, ItemLocalId old_edge_lid, ItemLocalId new_edge_lid)=0 |
| Finds and replaces an edge of an entity. | |
| virtual void | findAndReplaceFace (ItemLocalId item_lid, ItemLocalId old_face_lid, ItemLocalId new_face_lid)=0 |
| Finds and replaces a face of an entity. | |
| virtual void | findAndReplaceCell (ItemLocalId item_lid, ItemLocalId old_cell_lid, ItemLocalId new_cell_lid)=0 |
| Finds and replaces a cell of an entity. | |
| virtual void | setBackAndFrontCells (FaceLocalId face_lid, CellLocalId back_cell_lid, CellLocalId front_cell_lid) |
| Positions a cell in front and behind a face. | |
Interface for modifying the topology of entities within a family.
This class is intended to be temporary and serves to replace direct calls to ItemInternal by managing old or new connectivities.
Definition at line 43 of file IItemFamilyTopologyModifier.h.
|
pure virtual |
Associated family.
Implemented in Arcane::mesh::AbstractItemFamilyTopologyModifier.
|
pure virtual |
Finds and replaces a cell of an entity.
Replaces the cell with local ID old_cell_lid of the entity in the family family() with local ID item_lid by the face with local ID new_cell_lid.
Throws an exception if the cell old_cell_lid is not found.
Implemented in Arcane::mesh::AbstractItemFamilyTopologyModifier.
References setBackAndFrontCells().
Referenced by Arcane::mesh::FaceFamily::replaceBackCellToFace().
|
pure virtual |
Finds and replaces an edge of an entity.
Replaces the edge with local ID old_edge_lid of the entity in the family family() with local ID item_lid by the edge with local ID new_edge_lid.
Throws an exception if the edge old_edge_lid is not found.
Implemented in Arcane::mesh::AbstractItemFamilyTopologyModifier.
|
pure virtual |
Finds and replaces a face of an entity.
Replaces the face with local ID old_face_lid of the entity in the family family() with local ID item_lid by the face with local ID new_face_lid.
Throws an exception if the face old_face_lid is not found.
Implemented in Arcane::mesh::AbstractItemFamilyTopologyModifier.
|
pure virtual |
Finds and replaces a node of an entity.
Replaces the node with local ID old_node_lid of the entity in the family family() with local ID item_lid by the node with local ID new_node_lid.
Throws an exception if the node old_node_id is not found.
Implemented in Arcane::mesh::AbstractItemFamilyTopologyModifier.
|
pure virtual |
Replaces a cell of an entity.
Replaces the index-th cell of the entity in the family family() with local ID item_lid by the face with local ID new_cell_lid.
Implemented in Arcane::mesh::AbstractItemFamilyTopologyModifier, Arcane::mesh::FaceFamily::TopologyModifier, and Arcane::mesh::NodeFamily::TopologyModifier.
|
pure virtual |
Replaces an edge of an entity.
Replaces the index-th edge of the entity in the family family() with local ID item_lid by the edge with local ID new_edge_lid.
Implemented in Arcane::mesh::AbstractItemFamilyTopologyModifier, Arcane::mesh::CellFamily::TopologyModifier, Arcane::mesh::FaceFamily::TopologyModifier, and Arcane::mesh::NodeFamily::TopologyModifier.
|
pure virtual |
Replaces a face of an entity.
Replaces the index-th face of the entity in the family family() with local ID item_lid by the face with local ID new_face_lid.
Implemented in Arcane::mesh::AbstractItemFamilyTopologyModifier, Arcane::mesh::CellFamily::TopologyModifier, Arcane::mesh::FaceFamily::TopologyModifier, and Arcane::mesh::NodeFamily::TopologyModifier.
|
pure virtual |
Replaces a child entity of an entity.
Replaces the index-th child entity of the entity in the family family() with local ID item_lid by the child entity with local ID new_hchild_lid.
Implemented in Arcane::mesh::AbstractItemFamilyTopologyModifier, and Arcane::mesh::CellFamily::TopologyModifier.
|
pure virtual |
Replaces a parent entity of an entity.
Replaces the index-th parent entity of the entity in the family family() with local ID item_lid by the parent entity with local ID new_hparent_lid.
Implemented in Arcane::mesh::AbstractItemFamilyTopologyModifier, and Arcane::mesh::CellFamily::TopologyModifier.
|
pure virtual |
Replaces a node of an entity.
Replaces the index-th node of the entity in the family family() with local ID item_lid by the node with local ID new_node_lid.
Implemented in Arcane::mesh::AbstractItemFamilyTopologyModifier, Arcane::mesh::CellFamily::TopologyModifier, Arcane::mesh::EdgeFamily::TopologyModifier, and Arcane::mesh::FaceFamily::TopologyModifier.
Referenced by Arcane::FaceReorienter::checkAndChangeOrientation(), and Arcane::FaceReorienter::checkAndChangeOrientationAMR().
|
virtual |
Positions a cell in front and behind a face.
This method is only implemented for face families. For other families, it raises a NotSupportedException.
| face_lid | local ID of the face |
| back_cell_lid | local ID of the cell behind (or NULL_ITEM_LOCAL_ID) |
| front_cell_lid | local ID of the cell in front (or NULL_ITEM_LOCAL_ID) |
Reimplemented in Arcane::mesh::FaceFamily::TopologyModifier.
Definition at line 349 of file InterfaceImpl.cc.
References ARCANE_THROW.
Referenced by Arcane::FaceReorienter::checkAndChangeOrientation(), Arcane::FaceReorienter::checkAndChangeOrientationAMR(), and findAndReplaceCell().