Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
IItemFamilyTopologyModifier.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* IItemFamilyTopologyModifier.h (C) 2000-2025 */
9/* */
10/* Topology modification interface for entities within a family. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IITEMFAMILYTOPOLOGYMODIFIER_H
13#define ARCANE_IITEMFAMILYTOPOLOGYMODIFIER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
43class ARCANE_CORE_EXPORT IItemFamilyTopologyModifier
44{
45 public:
46
48 virtual ~IItemFamilyTopologyModifier() = default;
49
50 public:
51
53 virtual IItemFamily* family() const = 0;
54
55 public:
56
63 virtual void replaceNode(ItemLocalId item_lid, Integer index,
64 ItemLocalId new_node_lid) = 0;
65
72 virtual void replaceEdge(ItemLocalId item_lid, Integer index,
73 ItemLocalId new_edge_lid) = 0;
74
81 virtual void replaceFace(ItemLocalId item_lid, Integer index,
82 ItemLocalId new_face_lid) = 0;
83
90 virtual void replaceCell(ItemLocalId item_lid, Integer index,
91 ItemLocalId new_cell_lid) = 0;
92
99 virtual void replaceHParent(ItemLocalId item_lid, Integer index,
100 ItemLocalId new_hparent_lid) = 0;
101
108 virtual void replaceHChild(ItemLocalId item_lid, Integer index,
109 ItemLocalId new_hchild_lid) = 0;
110
119 virtual void findAndReplaceNode(ItemLocalId item_lid, ItemLocalId old_node_lid,
120 ItemLocalId new_node_lid) = 0;
121
130 virtual void findAndReplaceEdge(ItemLocalId item_lid, ItemLocalId old_edge_lid,
131 ItemLocalId new_edge_lid) = 0;
132
141 virtual void findAndReplaceFace(ItemLocalId item_lid, ItemLocalId old_face_lid,
142 ItemLocalId new_face_lid) = 0;
143
152 virtual void findAndReplaceCell(ItemLocalId item_lid, ItemLocalId old_cell_lid,
153 ItemLocalId new_cell_lid) = 0;
154
165 virtual void setBackAndFrontCells(FaceLocalId face_lid, CellLocalId back_cell_lid,
166 CellLocalId front_cell_lid);
167};
168
169/*---------------------------------------------------------------------------*/
170/*---------------------------------------------------------------------------*/
171
172} // namespace Arcane
173
174/*---------------------------------------------------------------------------*/
175/*---------------------------------------------------------------------------*/
176
177#endif
Declarations of types on entities.
Interface for modifying the topology of entities within a family.
virtual void replaceHParent(ItemLocalId item_lid, Integer index, ItemLocalId new_hparent_lid)=0
Replaces a parent entity of an entity.
virtual IItemFamily * family() const =0
Associated family.
virtual void replaceCell(ItemLocalId item_lid, Integer index, ItemLocalId new_cell_lid)=0
Replaces a cell of an entity.
virtual void replaceNode(ItemLocalId item_lid, Integer index, ItemLocalId new_node_lid)=0
Replaces a node 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 findAndReplaceNode(ItemLocalId item_lid, ItemLocalId old_node_lid, ItemLocalId new_node_lid)=0
Finds and replaces a node 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.
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 replaceEdge(ItemLocalId item_lid, Integer index, ItemLocalId new_edge_lid)=0
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 ~IItemFamilyTopologyModifier()=default
Frees resources.
virtual void replaceFace(ItemLocalId item_lid, Integer index, ItemLocalId new_face_lid)=0
Replaces a face of an entity.
virtual void replaceHChild(ItemLocalId item_lid, Integer index, ItemLocalId new_hchild_lid)=0
Replaces a child entity of an entity.
Interface of an entity family.
Definition IItemFamily.h:83
Index of an Item in a variable.
Definition ItemLocalId.h:42
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type representing an integer.