Arcane  v4.1.5.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IndexedItemConnectivityView.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/* IndexedItemConnectivityView.h (C) 2000-2026 */
9/* */
10/* Vues sur les connectivités utilisant des index. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_INDEXEDITEMCONNECTIVITYVIEW_H
13#define ARCANE_CORE_INDEXEDITEMCONNECTIVITYVIEW_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "ArcaneTypes.h"
18#include "arcane/core/Item.h"
19#include "arcane/core/IItemFamily.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29/*!
30 * \brief Classe de base d'une vue sur une connectivité non structurée.
31 *
32 * Comme toutes les vues, les instances de cette classe sont temporaires et
33 * ne doivent pas être conservées entre deux évolutions du maillage.
34 */
35class ARCANE_CORE_EXPORT IndexedItemConnectivityViewBase
36{
37 friend class IndexedItemConnectivityViewBase2;
38
39 public:
40
41 IndexedItemConnectivityViewBase() = default;
42 constexpr IndexedItemConnectivityViewBase(ItemConnectivityContainerView container_view,
43 eItemKind source_kind, eItemKind target_kind)
44 : m_container_view(container_view)
45 , m_source_kind(source_kind)
46 , m_target_kind(target_kind)
47 {
48 }
49
50 public:
51
52 //! Nombre d'entités source
53 constexpr ARCCORE_HOST_DEVICE Int32 nbSourceItem() const { return m_container_view.nbItem(); }
54 //! Nombre d'entités connectées à l'entité \a lid
55 constexpr ARCCORE_HOST_DEVICE Int32 nbItem(ItemLocalId lid) const { return m_container_view.m_nb_connected_items[lid]; }
56 //! Liste des entités connectées à l'entité \a lid
57 constexpr ARCCORE_HOST_DEVICE ItemLocalIdListViewT<Item> items(ItemLocalId lid) const
58 {
59 return m_container_view.itemsIds<Item>(lid);
60 }
61 eItemKind sourceItemKind() const { return m_source_kind; }
62 eItemKind targetItemKind() const { return m_target_kind; }
63
64 //! Initialise la vue
65 ARCANE_DEPRECATED_REASON("Y2022: This method is internal to Arcane and should be replaced by call to constructor")
66 void init(SmallSpan<const Int32> nb_item, SmallSpan<const Int32> indexes,
67 SmallSpan<const Int32> list_data, eItemKind source_kind, eItemKind target_kind)
68 {
69 m_container_view = ItemConnectivityContainerView(list_data, indexes, nb_item);
70 m_source_kind = source_kind;
71 m_target_kind = target_kind;
72 }
73
74 public:
75
77 {
78 m_container_view = view.m_container_view;
79 m_source_kind = view.m_source_kind;
80 m_target_kind = view.m_target_kind;
81 }
82
83 protected:
84
85 ItemConnectivityContainerView m_container_view;
86 eItemKind m_source_kind = IK_Unknown;
87 eItemKind m_target_kind = IK_Unknown;
88
89 protected:
90
91 [[noreturn]] void _badConversion(eItemKind k1, eItemKind k2) const;
92
93 public:
94
95 void _checkValid(eItemKind k1, eItemKind k2) const
96 {
97 if (k1 != m_source_kind || k2 != m_target_kind)
98 _badConversion(k1, k2);
99 }
100};
101
102/*---------------------------------------------------------------------------*/
103/*---------------------------------------------------------------------------*/
104/*!
105 * \brief Classe de base d'une vue sur une connectivité non structurée.
106 *
107 * Comme toutes les vues, les instances de cette classe sont temporaires et
108 * ne doivent pas être conservées entre deux évolutions du maillage.
109 */
110class ARCANE_CORE_EXPORT IndexedItemConnectivityViewBase2
111{
112 public:
113
114 IndexedItemConnectivityViewBase2() = default;
115
116 protected:
117
118 explicit IndexedItemConnectivityViewBase2(IndexedItemConnectivityViewBase view)
119 : m_container_view(view.m_container_view)
120 {
121 }
122
123 public:
124
125 //! Nombre d'entités source
126 constexpr ARCCORE_HOST_DEVICE Int32 nbSourceItem() const { return m_container_view.nbItem(); }
127 //! Nombre d'entités connectées à l'entité \a lid
128 constexpr ARCCORE_HOST_DEVICE Int32 nbItem(ItemLocalId lid) const { return m_container_view.m_nb_connected_items[lid]; }
129 //! Liste des entités connectées à l'entité \a lid
130 constexpr ARCCORE_HOST_DEVICE ItemLocalIdListViewT<Item> items(ItemLocalId lid) const
131 {
132 return m_container_view.itemsIds<Item>(lid);
133 }
134
135 protected:
136
137 ItemConnectivityContainerView m_container_view;
138};
139
140/*---------------------------------------------------------------------------*/
141/*---------------------------------------------------------------------------*/
142/*!
143 * \brief Vue spécialisée sur une connectivité non structurée entre deux entités.
144 */
145template<typename ItemType1,typename ItemType2>
146class IndexedItemConnectivityGenericViewT
147: public IndexedItemConnectivityViewBase2
148{
149 public:
150
151 using ItemType1Type = ItemType1;
152 using ItemType2Type = ItemType2;
153 using ItemLocalId1 = ItemType1::LocalIdType;
154 using ItemLocalId2 = ItemType2::LocalIdType;
155 using ItemLocalIdViewType = ItemLocalIdListViewT<ItemType2>;
156
157 public:
158
159 explicit(false) IndexedItemConnectivityGenericViewT(IndexedItemConnectivityViewBase view)
160 : IndexedItemConnectivityViewBase2(view)
161 {
162#ifdef ARCANE_CHECK
165 view._checkValid(k1,k2);
166#endif
167 }
168 IndexedItemConnectivityGenericViewT() = default;
169
170 public:
171
172 //! Liste des entités connectées à l'entité \a lid
173 constexpr ARCCORE_HOST_DEVICE ItemLocalIdViewType items(ItemLocalId1 lid) const
174 {
175 return m_container_view.itemsIds<ItemType2>(lid);
176 }
177
178 //! Liste des entités connectées à l'entité \a lid
179 constexpr ARCCORE_HOST_DEVICE ItemLocalIdViewType itemIds(ItemLocalId1 lid) const
180 {
181 return m_container_view.itemsIds<ItemType2>(lid);
182 }
183
184 //! i-ème entitée connectée à l'entité \a lid
185 constexpr ARCCORE_HOST_DEVICE ItemLocalId2 itemId(ItemLocalId1 lid, Int32 index) const
186 {
187 return m_container_view.itemId<ItemLocalId2>(lid, index);
188 }
189};
190
191/*---------------------------------------------------------------------------*/
192/*---------------------------------------------------------------------------*/
193/*!
194 * \brief Vue sur une connectivité ItemType->Node.
195 */
196template<typename ItemType>
197class IndexedItemConnectivityViewT<ItemType,Node>
198: public IndexedItemConnectivityGenericViewT<ItemType,Node>
199{
200 public:
201
202 using BaseClass = IndexedItemConnectivityGenericViewT<ItemType, Node>;
203 using ItemLocalIdType = ItemType::LocalIdType;
204 using ItemLocalIdViewType = BaseClass::ItemLocalIdViewType;
205 using ItemLocalId2 = BaseClass::ItemLocalId2;
206
207 public:
208
209 explicit(false) IndexedItemConnectivityViewT(IndexedItemConnectivityViewBase view)
210 : BaseClass(view)
211 {}
212 IndexedItemConnectivityViewT() = default;
213
214 public:
215
216 //! Nombre de noeuds connectés à l'entité \a lid
217 constexpr ARCCORE_HOST_DEVICE Int32 nbNode(ItemLocalIdType lid) const
218 {
219 return BaseClass::nbItem(lid);
220 }
221 //! Liste des noeuds connectés à l'entité \a lid
222 constexpr ARCCORE_HOST_DEVICE ItemLocalIdViewType nodes(ItemLocalIdType lid) const
223 {
224 return BaseClass::items(lid);
225 }
226 //! Liste des noeuds connectés à l'entité \a lid
227 constexpr ARCCORE_HOST_DEVICE ItemLocalIdViewType nodeIds(ItemLocalIdType lid) const
228 {
229 return BaseClass::itemIds(lid);
230 }
231 //! i-ème noeud connecté à l'entité \a lid
232 constexpr ARCCORE_HOST_DEVICE ItemLocalId2 nodeId(ItemLocalIdType lid, Int32 index) const
233 {
234 return BaseClass::itemId(lid, index);
235 }
236};
237
238/*---------------------------------------------------------------------------*/
239/*---------------------------------------------------------------------------*/
240/*!
241 * \brief Vue sur une connectivité ItemType->Edge.
242 */
243template<typename ItemType>
244class IndexedItemConnectivityViewT<ItemType, Edge>
245: public IndexedItemConnectivityGenericViewT<ItemType, Edge>
246{
247 public:
248
249 using BaseClass = IndexedItemConnectivityGenericViewT<ItemType, Edge>;
250 using ItemLocalIdType = ItemType::LocalIdType;
251 using ItemLocalIdViewType = BaseClass::ItemLocalIdViewType;
252 using ItemLocalId2 = BaseClass::ItemLocalId2;
253
254 public:
255
256 explicit(false) IndexedItemConnectivityViewT(IndexedItemConnectivityViewBase view)
257 : BaseClass(view)
258 {}
259 IndexedItemConnectivityViewT() = default;
260
261 public:
262
263 //! Nombre d'arêtes connectées à l'entité \a lid
264 constexpr ARCCORE_HOST_DEVICE Int32 nbEdge(ItemLocalIdType lid) const
265 {
266 return BaseClass::nbItem(lid);
267 }
268 //! Liste des arêtes connectées à l'entité \a lid
269 constexpr ARCCORE_HOST_DEVICE ItemLocalIdViewType edges(ItemLocalIdType lid) const
270 {
271 return BaseClass::items(lid);
272 }
273 //! Liste des arêtes connectées à l'entité \a lid
274 constexpr ARCCORE_HOST_DEVICE ItemLocalIdViewType edgeIds(ItemLocalIdType lid) const
275 {
276 return BaseClass::items(lid);
277 }
278 //! i-ème arête connectée à l'entité \a lid
279 constexpr ARCCORE_HOST_DEVICE ItemLocalId2 edgeId(ItemLocalIdType lid, Int32 index) const
280 {
281 return BaseClass::itemId(lid, index);
282 }
283};
284
285/*---------------------------------------------------------------------------*/
286/*---------------------------------------------------------------------------*/
287/*!
288 * \brief Vue sur une connectivité ItemType->Face.
289 */
290template<typename ItemType>
291class IndexedItemConnectivityViewT<ItemType, Face>
292: public IndexedItemConnectivityGenericViewT<ItemType, Face>
293{
294 public:
295
296 using BaseClass = IndexedItemConnectivityGenericViewT<ItemType, Face>;
297 using ItemLocalIdType = ItemType::LocalIdType;
298 using ItemLocalIdViewType = BaseClass::ItemLocalIdViewType;
299 using ItemLocalId2 = BaseClass::ItemLocalId2;
300
301 public:
302
303 explicit(false) IndexedItemConnectivityViewT(IndexedItemConnectivityViewBase view)
304 : BaseClass(view)
305 {}
306 IndexedItemConnectivityViewT() = default;
307
308 public:
309
310 //! Nombre de faces connectées à l'entité \a lid
311 constexpr ARCCORE_HOST_DEVICE Int32 nbFace(ItemLocalIdType lid) const
312 {
313 return BaseClass::nbItem(lid);
314 }
315 //! Liste des faces connectées à l'entité \a lid
316 constexpr ARCCORE_HOST_DEVICE ItemLocalIdViewType faces(ItemLocalIdType lid) const
317 {
318 return BaseClass::items(lid);
319 }
320 //! Liste des faces connectées à l'entité \a lid
321 constexpr ARCCORE_HOST_DEVICE ItemLocalIdViewType faceIds(ItemLocalIdType lid) const
322 {
323 return BaseClass::items(lid);
324 }
325 //! i-ème face connectée à l'entité \a lid
326 constexpr ARCCORE_HOST_DEVICE ItemLocalId2 faceId(ItemLocalIdType lid, Int32 index) const
327 {
328 return BaseClass::itemId(lid, index);
329 }
330};
331
332/*---------------------------------------------------------------------------*/
333/*---------------------------------------------------------------------------*/
334/*!
335 * \brief Vue sur une connectivité ItemType->Cell.
336 */
337template <typename ItemType>
338class IndexedItemConnectivityViewT<ItemType, Cell>
339: public IndexedItemConnectivityGenericViewT<ItemType, Cell>
340{
341 public:
342
343 using BaseClass = IndexedItemConnectivityGenericViewT<ItemType, Cell>;
344 using ItemLocalIdType = ItemType::LocalIdType;
345 using ItemLocalIdViewType = BaseClass::ItemLocalIdViewType;
346 using ItemLocalId2 = BaseClass::ItemLocalId2;
347
348 public:
349
350 explicit(false) IndexedItemConnectivityViewT(IndexedItemConnectivityViewBase view)
351 : BaseClass(view)
352 {}
353 IndexedItemConnectivityViewT() = default;
354
355 public:
356
357 //! Nombre de mailles connectées à l'entité \a lid
358 constexpr ARCCORE_HOST_DEVICE Int32 nbCell(ItemLocalIdType lid) const
359 {
360 return BaseClass::nbItem(lid);
361 }
362 //! Liste des mailles connectées à l'entité \a lid
363 constexpr ARCCORE_HOST_DEVICE ItemLocalIdViewType cells(ItemLocalIdType lid) const
364 {
365 return BaseClass::items(lid);
366 }
367 //! Liste des mailles connectées à l'entité \a lid
368 constexpr ARCCORE_HOST_DEVICE ItemLocalIdViewType cellIds(ItemLocalIdType lid) const
369 {
370 return BaseClass::items(lid);
371 }
372 //! i-ème maille connectée à l'entité \a lid
373 constexpr ARCCORE_HOST_DEVICE ItemLocalId2 cellId(ItemLocalIdType lid, Int32 index) const
374 {
375 return BaseClass::itemId(lid, index);
376 }
377};
378
379/*---------------------------------------------------------------------------*/
380/*---------------------------------------------------------------------------*/
381/*!
382 * \brief Vue sur une connectivité ItemType->Dof.
383 */
384template <typename ItemType>
385class IndexedItemConnectivityViewT<ItemType, DoF>
386: public IndexedItemConnectivityGenericViewT<ItemType, DoF>
387{
388 public:
389
390 using BaseClass = IndexedItemConnectivityGenericViewT<ItemType, DoF>;
391 using ItemLocalIdType = ItemType::LocalIdType;
392 using ItemLocalIdViewType = BaseClass::ItemLocalIdViewType;
393 using ItemLocalId2 = BaseClass::ItemLocalId2;
394
395 public:
396
397 explicit(false) IndexedItemConnectivityViewT(IndexedItemConnectivityViewBase view)
398 : BaseClass(view)
399 {}
400 IndexedItemConnectivityViewT() = default;
401
402 public:
403
404 //! Nombre de DoFs connectés à l'entité \a lid
405 constexpr ARCCORE_HOST_DEVICE Int32 nbDof(ItemLocalIdType lid) const
406 {
407 return BaseClass::nbItem(lid);
408 }
409 //! Liste des DoFs connectées à l'entité \a lid
410 constexpr ARCCORE_HOST_DEVICE ItemLocalIdViewType dofs(ItemLocalIdType lid) const
411 {
412 return BaseClass::items(lid);
413 }
414 //! Liste des DoFs connectées à l'entité \a lid
415 constexpr ARCCORE_HOST_DEVICE ItemLocalIdViewType dofIds(ItemLocalIdType lid) const
416 {
417 return BaseClass::items(lid);
418 }
419 //! i-ème DoF connecté à l'entité \a lid
420 constexpr ARCCORE_HOST_DEVICE ItemLocalId2 dofId(ItemLocalIdType lid, Int32 index) const
421 {
422 return BaseClass::itemId(lid, index);
423 }
424};
425
426/*---------------------------------------------------------------------------*/
427/*---------------------------------------------------------------------------*/
428/*!
429 * \brief Vue sur une connectivité Particle->Cell.
430 *
431 * Il n'y a qu'une seule maille associée à une particule.
432 */
433class ARCANE_CORE_EXPORT IndexedParticleCellConnectivityView
434: public IndexedItemConnectivityGenericViewT<Particle, Cell>
435{
436 public:
437
438 using BaseClass = IndexedItemConnectivityGenericViewT<Particle, Cell>;
439 using ItemLocalIdType = Particle::LocalIdType;
440 using ItemLocalIdViewType = BaseClass::ItemLocalIdViewType;
441 using ItemLocalId2 = BaseClass::ItemLocalId2;
442
443 public:
444
445 explicit(false) IndexedParticleCellConnectivityView(IndexedItemConnectivityViewBase view)
446 : BaseClass(view)
447 {}
448 explicit IndexedParticleCellConnectivityView(IParticleFamily* pf);
449 explicit IndexedParticleCellConnectivityView(IItemFamily* pf);
450 IndexedParticleCellConnectivityView() = default;
451
452 public:
453
454 //! Indique si la particule \a lid est connectée à une maille
455 constexpr ARCCORE_HOST_DEVICE bool hasCell(ItemLocalIdType lid) const
456 {
457 return !cellId(lid).isNull();
458 }
459 //! Maille connectée à l'entité \a lid
460 constexpr ARCCORE_HOST_DEVICE ItemLocalId2 cellId(ItemLocalIdType lid) const
461 {
462 return BaseClass::itemId(lid, 0);
463 }
464};
465
466/*---------------------------------------------------------------------------*/
467/*---------------------------------------------------------------------------*/
468
469using IndexedCellNodeConnectivityView = IndexedItemConnectivityViewT<Cell,Node>;
470using IndexedCellEdgeConnectivityView = IndexedItemConnectivityViewT<Cell,Edge>;
471using IndexedCellFaceConnectivityView = IndexedItemConnectivityViewT<Cell,Face>;
472using IndexedCellCellConnectivityView = IndexedItemConnectivityViewT<Cell,Cell>;
473using IndexedCellDoFConnectivityView = IndexedItemConnectivityViewT<Cell,DoF>;
474
475using IndexedFaceNodeConnectivityView = IndexedItemConnectivityViewT<Face,Node>;
476using IndexedFaceEdgeConnectivityView = IndexedItemConnectivityViewT<Face,Edge>;
477using IndexedFaceFaceConnectivityView = IndexedItemConnectivityViewT<Face,Face>;
478using IndexedFaceCellConnectivityView = IndexedItemConnectivityViewT<Face,Cell>;
479using IndexedFaceDoFConnectivityView = IndexedItemConnectivityViewT<Face,DoF>;
480
481using IndexedEdgeNodeConnectivityView = IndexedItemConnectivityViewT<Edge,Node>;
482using IndexedEdgeEdgeConnectivityView = IndexedItemConnectivityViewT<Edge,Edge>;
483using IndexedEdgeFaceConnectivityView = IndexedItemConnectivityViewT<Edge,Face>;
484using IndexedEdgeCellConnectivityView = IndexedItemConnectivityViewT<Edge,Cell>;
485using IndexedEdgeDoFConnectivityView = IndexedItemConnectivityViewT<Edge,DoF>;
486
487using IndexedNodeNodeConnectivityView = IndexedItemConnectivityViewT<Node,Node>;
488using IndexedNodeEdgeConnectivityView = IndexedItemConnectivityViewT<Node,Edge>;
489using IndexedNodeFaceConnectivityView = IndexedItemConnectivityViewT<Node,Face>;
490using IndexedNodeCellConnectivityView = IndexedItemConnectivityViewT<Node,Cell>;
491using IndexedNodeDoFConnectivityView = IndexedItemConnectivityViewT<Node,DoF>;
492
493using IndexedDoFNodeConnectivityView = IndexedItemConnectivityViewT<DoF,Node>;
494using IndexedDoFEdgeConnectivityView = IndexedItemConnectivityViewT<DoF,Edge>;
495using IndexedDoFFaceConnectivityView = IndexedItemConnectivityViewT<DoF,Face>;
496using IndexedDoFCellConnectivityView = IndexedItemConnectivityViewT<DoF,Cell>;
497using IndexedDoFDoFConnectivityView = IndexedItemConnectivityViewT<DoF,DoF>;
498
499/*---------------------------------------------------------------------------*/
500/*---------------------------------------------------------------------------*/
501
502} // End namespace Arcane
503
504/*---------------------------------------------------------------------------*/
505/*---------------------------------------------------------------------------*/
506
507#endif
Déclarations des types généraux de Arcane.
Maille d'un maillage.
Definition Item.h:1214
classe degré de liberté.
Definition Item.h:1532
Arête d'une maille.
Definition Item.h:826
Face d'une maille.
Definition Item.h:964
Interface d'une famille d'entités.
Definition IItemFamily.h:84
Interface d'une famille de particules.
constexpr __host__ __device__ ItemLocalId2 itemId(ItemLocalId1 lid, Int32 index) const
i-ème entitée connectée à l'entité lid
constexpr __host__ __device__ ItemLocalIdViewType items(ItemLocalId1 lid) const
Liste des entités connectées à l'entité lid.
constexpr __host__ __device__ ItemLocalIdViewType itemIds(ItemLocalId1 lid) const
Liste des entités connectées à l'entité lid.
constexpr __host__ __device__ ItemLocalIdListViewT< Item > items(ItemLocalId lid) const
Liste des entités connectées à l'entité lid.
constexpr __host__ __device__ Int32 nbItem(ItemLocalId lid) const
Nombre d'entités connectées à l'entité lid.
constexpr __host__ __device__ Int32 nbSourceItem() const
Nombre d'entités source.
Classe de base d'une vue sur une connectivité non structurée.
constexpr __host__ __device__ Int32 nbSourceItem() const
Nombre d'entités source.
void init(SmallSpan< const Int32 > nb_item, SmallSpan< const Int32 > indexes, SmallSpan< const Int32 > list_data, eItemKind source_kind, eItemKind target_kind)
Initialise la vue.
constexpr __host__ __device__ ItemLocalIdListViewT< Item > items(ItemLocalId lid) const
Liste des entités connectées à l'entité lid.
constexpr __host__ __device__ Int32 nbItem(ItemLocalId lid) const
Nombre d'entités connectées à l'entité lid.
constexpr __host__ __device__ ItemLocalIdViewType cellIds(ItemLocalIdType lid) const
Liste des mailles connectées à l'entité lid.
constexpr __host__ __device__ ItemLocalIdViewType cells(ItemLocalIdType lid) const
Liste des mailles connectées à l'entité lid.
constexpr __host__ __device__ Int32 nbCell(ItemLocalIdType lid) const
Nombre de mailles connectées à l'entité lid.
constexpr __host__ __device__ ItemLocalId2 cellId(ItemLocalIdType lid, Int32 index) const
i-ème maille connectée à l'entité lid
constexpr __host__ __device__ Int32 nbDof(ItemLocalIdType lid) const
Nombre de DoFs connectés à l'entité lid.
constexpr __host__ __device__ ItemLocalId2 dofId(ItemLocalIdType lid, Int32 index) const
i-ème DoF connecté à l'entité lid
constexpr __host__ __device__ ItemLocalIdViewType dofIds(ItemLocalIdType lid) const
Liste des DoFs connectées à l'entité lid.
constexpr __host__ __device__ ItemLocalIdViewType dofs(ItemLocalIdType lid) const
Liste des DoFs connectées à l'entité lid.
constexpr __host__ __device__ ItemLocalId2 edgeId(ItemLocalIdType lid, Int32 index) const
i-ème arête connectée à l'entité lid
constexpr __host__ __device__ ItemLocalIdViewType edges(ItemLocalIdType lid) const
Liste des arêtes connectées à l'entité lid.
constexpr __host__ __device__ ItemLocalIdViewType edgeIds(ItemLocalIdType lid) const
Liste des arêtes connectées à l'entité lid.
constexpr __host__ __device__ Int32 nbEdge(ItemLocalIdType lid) const
Nombre d'arêtes connectées à l'entité lid.
constexpr __host__ __device__ ItemLocalIdViewType faces(ItemLocalIdType lid) const
Liste des faces connectées à l'entité lid.
constexpr __host__ __device__ Int32 nbFace(ItemLocalIdType lid) const
Nombre de faces connectées à l'entité lid.
constexpr __host__ __device__ ItemLocalId2 faceId(ItemLocalIdType lid, Int32 index) const
i-ème face connectée à l'entité lid
constexpr __host__ __device__ ItemLocalIdViewType faceIds(ItemLocalIdType lid) const
Liste des faces connectées à l'entité lid.
constexpr __host__ __device__ Int32 nbNode(ItemLocalIdType lid) const
Nombre de noeuds connectés à l'entité lid.
constexpr __host__ __device__ ItemLocalIdViewType nodes(ItemLocalIdType lid) const
Liste des noeuds connectés à l'entité lid.
constexpr __host__ __device__ ItemLocalId2 nodeId(ItemLocalIdType lid, Int32 index) const
i-ème noeud connecté à l'entité lid
constexpr __host__ __device__ ItemLocalIdViewType nodeIds(ItemLocalIdType lid) const
Liste des noeuds connectés à l'entité lid.
constexpr __host__ __device__ bool hasCell(ItemLocalIdType lid) const
Indique si la particule lid est connectée à une maille.
constexpr __host__ __device__ ItemLocalId2 cellId(ItemLocalIdType lid) const
Maille connectée à l'entité lid.
Vue typée sur une liste d'entités d'une connectivité.
Index d'un Item dans une variable.
Definition ItemLocalId.h:41
static eItemKind kind()
Genre de l'entité
Definition ItemTypes.h:624
Classe de base d'un élément de maillage.
Definition Item.h:83
Noeud d'un maillage.
Definition Item.h:582
ParticleLocalId LocalIdType
Type du localId()
Definition Item.h:1446
Vue d'un tableau d'éléments de type T.
Definition Span.h:801
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eItemKind
Genre d'entité de maillage.
std::int32_t Int32
Type entier signé sur 32 bits.