Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IItemFamilyTopologyModifier.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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-2017 */
9/* */
10/* Interface de modification de la topologie des entités d'une famille. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IITEMFAMILYTOPOLOGYMODIFIER_H
13#define ARCANE_IITEMFAMILYTOPOLOGYMODIFIER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ItemTypes.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22ARCANE_BEGIN_NAMESPACE
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27class IItemFamily;
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
31/*!
32 * \ingroup Mesh
33 * \brief Interface de modification de la topologie des entités d'une famille.
34 *
35 * Cette classe à vocation à être temporaire et sert pour remplacer
36 * les appels direct à ItemInternal en gérant les anciennes ou nouvelles
37 * connectivités.
38 */
39class ARCANE_CORE_EXPORT IItemFamilyTopologyModifier
40{
41 public:
42
43 virtual ~IItemFamilyTopologyModifier() {} //<! Libère les ressources
44
45 public:
46
47 //! Famille associée
48 virtual IItemFamily* family() const =0;
49
50 public:
51
52 /*!
53 * \brief Remplace un noeud d'une entité.
54 *
55 * Remplace le \a index-ème noeud de l'entité de la famille \a family()
56 * de numéro local \a item_lid par le noeud de numéro local \a new_node_lid.
57 */
58 virtual void replaceNode(ItemLocalId item_lid,Integer index,
59 ItemLocalId new_node_lid) =0;
60
61 /*!
62 * \brief Remplace une arête d'une entité.
63 *
64 * Remplace la \a index-ème arête de l'entité de la famille \a family()
65 * de numéro local \a item_lid par l'arête de numéro local \a new_edge_lid.
66 */
67 virtual void replaceEdge(ItemLocalId item_lid,Integer index,
68 ItemLocalId new_edge_lid) =0;
69
70 /*!
71 * \brief Remplace une face d'une entité.
72 *
73 * Remplace la \a index-ème face de l'entité de la famille \a family()
74 * de numéro local \a item_lid par la face de numéro local \a new_face_lid.
75 */
76 virtual void replaceFace(ItemLocalId item_lid,Integer index,
77 ItemLocalId new_face_lid) =0;
78
79 /*!
80 * \brief Remplace une maille d'une entité.
81 *
82 * Remplace la \a index-ème maille de l'entité de la famille \a family()
83 * de numéro local \a item_lid par la face de numéro local \a new_cell_lid.
84 */
85 virtual void replaceCell(ItemLocalId item_lid,Integer index,
86 ItemLocalId new_cell_lid) =0;
87
88 /*!
89 * \brief Remplace une entité parente d'une entité.
90 *
91 * Remplace la \a index-ème entité parent de l'entité de la famille \a family()
92 * de numéro local \a item_lid par l'entité parent de numéro local \a new_hparent_lid.
93 */
94 virtual void replaceHParent(ItemLocalId item_lid,Integer index,
95 ItemLocalId new_hparent_lid) =0;
96
97 /*!
98 * \brief Remplace une entité enfant d'une entité.
99 *
100 * Remplace la \a index-ème entité enfant de l'entité de la famille \a family()
101 * de numéro local \a item_lid par l'entité enfant de numéro local \a new_hchild_lid.
102 */
103 virtual void replaceHChild(ItemLocalId item_lid,Integer index,
104 ItemLocalId new_hchild_lid) =0;
105
106 /*!
107 * \brief Remplace un noeud d'une entité.
108 *
109 * Remplace le noeud de numéro local \a old_node_lid de l'entité de la famille \a family()
110 * de numéro local \a item_lid par le noeud de numéro local \a new_node_lid.
111 *
112 * Lance une exception si le noeud \a old_node_id n'est pas trouvé.
113 */
114 virtual void findAndReplaceNode(ItemLocalId item_lid,ItemLocalId old_node_lid,
115 ItemLocalId new_node_lid) =0;
116
117 /*!
118 * \brief Remplace une arête d'une entité.
119 *
120 * Remplace l'arête de numéro local \a old_edge_lid de l'entité de la famille \a family()
121 * de numéro local \a item_lid par l'arête de numéro local \a new_edge_lid.
122 *
123 * Lance une exception si l'arête \a old_edge_lid n'est pas trouvée.
124 */
125 virtual void findAndReplaceEdge(ItemLocalId item_lid,ItemLocalId old_edge_lid,
126 ItemLocalId new_edge_lid) =0;
127
128 /*!
129 * \brief Remplace une face d'une entité.
130 *
131 * Remplace la face de numéro local \a old_face_lid de l'entité de la famille \a family()
132 * de numéro local \a item_lid par la face de numéro local \a new_face_lid.
133 *
134 * Lance une exception si la face \a old_face_lid n'est pas trouvée.
135 */
136 virtual void findAndReplaceFace(ItemLocalId item_lid,ItemLocalId old_face_lid,
137 ItemLocalId new_face_lid) =0;
138
139 /*!
140 * \brief Remplace une maille d'une entité.
141 *
142 * Remplace la maille de numéro local \a old_cell_lid de l'entité de la famille \a family()
143 * de numéro local \a item_lid par la face de numéro local \a new_cell_lid.
144 *
145 * Lance une exception si la maille \a old_cell_lid n'est pas trouvée.
146 */
147 virtual void findAndReplaceCell(ItemLocalId item_lid,ItemLocalId old_cell_lid,
148 ItemLocalId new_cell_lid) =0;
149};
150
151/*---------------------------------------------------------------------------*/
152/*---------------------------------------------------------------------------*/
153
154ARCANE_END_NAMESPACE
155
156/*---------------------------------------------------------------------------*/
157/*---------------------------------------------------------------------------*/
158
159#endif
Interface de modification de la topologie des entités d'une famille.
virtual void replaceHParent(ItemLocalId item_lid, Integer index, ItemLocalId new_hparent_lid)=0
Remplace une entité parente d'une entité.
virtual IItemFamily * family() const =0
Famille associée.
virtual void replaceCell(ItemLocalId item_lid, Integer index, ItemLocalId new_cell_lid)=0
Remplace une maille d'une entité.
virtual void replaceNode(ItemLocalId item_lid, Integer index, ItemLocalId new_node_lid)=0
Remplace un noeud 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 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 replaceEdge(ItemLocalId item_lid, Integer index, 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 replaceFace(ItemLocalId item_lid, Integer index, ItemLocalId new_face_lid)=0
Remplace une face d'une entité.
virtual void replaceHChild(ItemLocalId item_lid, Integer index, ItemLocalId new_hchild_lid)=0
Remplace une entité enfant d'une entité.
Interface d'une famille d'entités.
Index d'un Item dans une variable.
Definition ItemLocalId.h:40