Arcane  v4.1.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Item.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 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/* Item.h (C) 2000-2025 */
9/* */
10/* Informations sur les éléments du maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ITEM_H
13#define ARCANE_CORE_ITEM_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18#include "arcane/core/ItemInternal.h"
19#include "arcane/core/ItemLocalId.h"
20
21#include <atomic>
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26namespace Arcane
27{
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
31
32// Macro pour vérifier en mode Check que les conversions entre les
33// les genres d'entités sont correctes.
34#ifdef ARCANE_CHECK
35#define ARCANE_CHECK_KIND(type) _checkKind(type())
36#else
37#define ARCANE_CHECK_KIND(type)
38#endif
39
40#ifdef ARCANE_CHECK
41#define ARCANE_WANT_ITEM_STAT
42#endif
43
44#ifdef ARCANE_WANT_ITEM_STAT
45#define ARCANE_ITEM_ADD_STAT(var) ++var
46#else
47#define ARCANE_ITEM_ADD_STAT(var)
48#endif
49
50/*---------------------------------------------------------------------------*/
51/*---------------------------------------------------------------------------*/
82class ARCANE_CORE_EXPORT Item
83{
84 // Pour accéder aux constructeurs privés
85 friend class ItemEnumeratorBaseT<Item>;
87 friend class ItemVector;
88 friend class ItemVectorView;
89 friend class ItemVectorViewConstIterator;
90 friend class ItemConnectedListViewConstIterator;
91 friend class SimdItem;
92 friend class SimdItemEnumeratorBase;
93 friend class ItemInfoListView;
94 friend class ItemLocalIdToItemConverter;
95 template<typename ItemType> friend class ItemLocalIdToItemConverterT;
96 friend class ItemPairEnumerator;
97 template<int Extent> friend class ItemConnectedListView;
98 template<typename ItemType> friend class ItemEnumeratorBaseT;
99
100 // Pour accéder à _internal()
101 friend class ItemCompatibility;
102
103 public:
104
105 typedef ItemInternal* ItemInternalPtr;
106
109
110 using ItemBase = impl::ItemBase;
111
112 public:
113
117 */
118 class Index
119 {
120 // TODO Rendre obsolète lorsqu'on aura supprimer
121 // les classes dérivées qui sont obsolètes.
122 // On ne peut pas le faire avant car cela génère trop
123 // d'avertissements de compilation.
124 public:
125 Index() : m_local_id(NULL_ITEM_LOCAL_ID){}
126 explicit Index(Int32 id) : m_local_id(id){}
127 Index(Item item) : m_local_id(item.localId()){}
128 operator ItemLocalId() const { return ItemLocalId{m_local_id}; }
129 public:
130 Int32 localId() const { return m_local_id; }
131 private:
132 Int32 m_local_id;
133 };
134
135 public:
136
144 enum
145 {
146 Unknown ARCANE_DEPRECATED_REASON("Use 'IT_NullType' instead") = IT_NullType,
147 Vertex ARCANE_DEPRECATED_REASON("Use 'IT_Vertex' instead") = IT_Vertex,
148 Bar2 ARCANE_DEPRECATED_REASON("Use 'IT_Line2' instead") = IT_Line2,
149 Tri3 ARCANE_DEPRECATED_REASON("Use 'IT_Triangle3' instead") = IT_Triangle3,
150 Quad4 ARCANE_DEPRECATED_REASON("Use 'IT_Quad4' instead") = IT_Quad4,
151 Pentagon5 ARCANE_DEPRECATED_REASON("Use 'IT_Pentagon5' instead") = IT_Pentagon5,
152 Hexagon6 ARCANE_DEPRECATED_REASON("Use 'IT_Hexagon6' instead") = IT_Hexagon6,
153 Tetra ARCANE_DEPRECATED_REASON("Use 'IT_Tetraedron4' instead") = IT_Tetraedron4,
154 Pyramid ARCANE_DEPRECATED_REASON("Use 'IT_Pyramid5' instead") = IT_Pyramid5,
155 Penta ARCANE_DEPRECATED_REASON("Use 'IT_Pentaedron6' instead") = IT_Pentaedron6,
156 Hexa ARCANE_DEPRECATED_REASON("Use 'IT_Hexaedron8' instead") = IT_Hexaedron8,
157 Wedge7 ARCANE_DEPRECATED_REASON("Use 'IT_Heptaedron10' instead") = IT_Heptaedron10,
158 Wedge8 ARCANE_DEPRECATED_REASON("Use 'IT_Octaedron12' instead") = IT_Octaedron12
159 // Réduit au minimum pour compatibilité.
160 };
161
163 static const Int32 NULL_ELEMENT = NULL_ITEM_ID;
164
166 ARCCORE_DEPRECATED_2021("Use ItemTypeMng::typeName() instead")
167 static String typeName(Int32 type);
168
169 protected:
170
172 constexpr ARCCORE_HOST_DEVICE Item(Int32 local_id,ItemSharedInfo* shared_info)
173 : m_shared_info(shared_info), m_local_id(local_id) {}
174
175 public:
176
178 Item() = default;
179
181 //ARCANE_DEPRECATED_REASON("Remove this overload")
182 Item(ItemInternal* ainternal)
183 {
184 ARCANE_CHECK_PTR(ainternal);
185 m_shared_info = ainternal->m_shared_info;
186 m_local_id = ainternal->m_local_id;
187 ARCANE_ITEM_ADD_STAT(m_nb_created_from_internal);
188 }
189
190 // NOTE: Pour le constructeur suivant; il est indispensable d'utiliser
191 // const& pour éviter une ambiguité avec le constructeur par recopie
193 constexpr ARCCORE_HOST_DEVICE Item(const ItemBase& abase)
195 , m_local_id(abase.m_local_id)
196 {
197 }
198
200 Item(const ItemInternalPtr* internals,Int32 local_id)
201 : Item(local_id,internals[local_id]->m_shared_info)
202 {
203 ARCANE_ITEM_ADD_STAT(m_nb_created_from_internalptr);
204 }
205
208 {
209 _set(ainternal);
210 return (*this);
211 }
212
213 public:
214
216 constexpr bool null() const { return m_local_id==NULL_ITEM_ID; }
217
219 constexpr Int32 localId() const { return m_local_id; }
220
222 constexpr ItemLocalId itemLocalId() const { return ItemLocalId{ m_local_id }; }
223
226 {
227#ifdef ARCANE_CHECK
228 if (m_local_id!=NULL_ITEM_LOCAL_ID)
229 arcaneCheckAt((Integer)m_local_id,m_shared_info->m_unique_ids.size());
230#endif
231 // Ne pas utiliser l'accesseur normal car ce tableau peut etre utilise pour la maille
232 // nulle et dans ce cas m_local_id vaut NULL_ITEM_LOCAL_ID (qui est negatif)
233 // ce qui provoque une exception pour debordement de tableau.
234 return ItemUniqueId(m_shared_info->m_unique_ids.data()[m_local_id]);
235 }
236
238 Int32 owner() const { return m_shared_info->_ownerV2(m_local_id); }
239
241 Int16 type() const { return m_shared_info->_typeId(m_local_id); }
242
244 ItemTypeId itemTypeId() const { return ItemTypeId(type()); }
245
247 IItemFamily* itemFamily() const { return m_shared_info->m_item_family; }
248
250 constexpr eItemKind kind() const { return m_shared_info->m_item_kind; }
251
253 constexpr bool isOwn() const { return (_flags() & ItemFlags::II_Own)!=0; }
254
265 bool isShared() const { return (_flags() & ItemFlags::II_Shared)!=0; }
266
268 inline ItemWithNodes toItemWithNodes() const;
270 inline Node toNode() const;
272 inline Cell toCell() const;
274 inline Edge toEdge() const;
276 inline Face toFace() const;
278 inline Particle toParticle() const;
280 inline DoF toDoF() const;
281
283 Int32 nbParent() const { return _nbParent(); }
284
286 Item parent(Int32 i) const { return m_shared_info->_parentV2(m_local_id,i); }
287
289 Item parent() const { return m_shared_info->_parentV2(m_local_id,0); }
290
291 public:
292
294 constexpr bool isItemWithNodes() const
295 {
296 eItemKind ik = kind();
297 return (ik==IK_Unknown || ik==IK_Edge || ik==IK_Face || ik==IK_Cell );
298 }
299
301 constexpr bool isNode() const
302 {
303 eItemKind ik = kind();
304 return (ik==IK_Unknown || ik==IK_Node);
305 }
306
307 constexpr bool isCell() const
308 {
309 eItemKind ik = kind();
310 return (ik==IK_Unknown || ik==IK_Cell);
311 }
312
313 constexpr bool isEdge() const
314 {
315 eItemKind ik = kind();
316 return (ik==IK_Unknown || ik==IK_Edge);
317 }
318
319 constexpr bool isFace() const
320 {
321 eItemKind ik = kind();
322 return (ik==IK_Unknown || ik==IK_Face);
323 }
324
325 constexpr bool isParticle() const
326 {
327 eItemKind ik = kind();
328 return (ik==IK_Unknown || ik==IK_Particle);
329 }
330 constexpr
331 bool isDoF() const
332 {
333 eItemKind ik = kind();
334 return (ik==IK_Unknown || ik==IK_DoF);
335 }
336
338 constexpr bool hasFlags(Int32 flags) const { return (_flags() & flags); }
339
341 constexpr Int32 flags() const { return m_shared_info->_flagsV2(m_local_id); }
342
343 public:
344
353 ARCANE_DEPRECATED_REASON("Y2024: This method is internal to Arcane. use itemBase() or mutableItemBase() instead")
355 {
356 if (m_local_id!=NULL_ITEM_LOCAL_ID)
357 return m_shared_info->m_items_internal[m_local_id];
358 return ItemInternal::nullItem();
359 }
360
361 public:
362
369 impl::ItemBase itemBase() const
370 {
371 return impl::ItemBase(m_local_id,m_shared_info);
372 }
373
380 impl::MutableItemBase mutableItemBase() const
381 {
382 return impl::MutableItemBase(m_local_id,m_shared_info);
383 }
384
392 const ItemTypeInfo* typeInfo() const { return m_shared_info->typeInfoFromId(type()); }
393
394 public:
395
396 ARCANE_DEPRECATED_REASON("Y2022: Do not use this operator. Use operator '.' instead")
397 Item* operator->() { return this; }
398
399 ARCANE_DEPRECATED_REASON("Y2022: Do not use this operator. Use operator '.' instead")
400 const Item* operator->() const { return this; }
401
402 private:
403
405 ItemSharedInfo* m_shared_info = ItemSharedInfo::nullItemSharedInfoPointer;
406
407 protected:
408
415 Int32 m_local_id = NULL_ITEM_LOCAL_ID;
416
417 protected:
418
419 constexpr void _checkKind(bool is_valid) const
420 {
421 if (!is_valid)
422 _badConversion();
423 }
424 [[noreturn]] void _badConversion() const;
425 void _set(ItemInternal* ainternal)
426 {
427 _setFromInternal(ainternal);
428 }
429 constexpr void _set(const Item& rhs)
430 {
431 _setFromItem(rhs);
432 }
433
434 protected:
435
437 constexpr Int32 _flags() const { return m_shared_info->_flagsV2(m_local_id); }
439 constexpr Integer _nbNode() const { return _connectivity()->_nbNodeV2(m_local_id); }
441 constexpr Integer _nbEdge() const { return _connectivity()->_nbEdgeV2(m_local_id); }
443 constexpr Integer _nbFace() const { return _connectivity()->_nbFaceV2(m_local_id); }
445 constexpr Integer _nbCell() const { return _connectivity()->_nbCellV2(m_local_id); }
447 Int32 _nbHParent() const { return _connectivity()->_nbHParentV2(m_local_id); }
449 Int32 _nbHChildren() const { return _connectivity()->_nbHChildrenV2(m_local_id); }
451 Integer _nbParent() const { return m_shared_info->nbParent(); }
452 constexpr NodeLocalId _nodeId(Int32 index) const { return NodeLocalId(_connectivity()->_nodeLocalIdV2(m_local_id,index)); }
453 constexpr EdgeLocalId _edgeId(Int32 index) const { return EdgeLocalId(_connectivity()->_edgeLocalIdV2(m_local_id,index)); }
454 constexpr FaceLocalId _faceId(Int32 index) const { return FaceLocalId(_connectivity()->_faceLocalIdV2(m_local_id,index)); }
455 constexpr CellLocalId _cellId(Int32 index) const { return CellLocalId(_connectivity()->_cellLocalIdV2(m_local_id,index)); }
456 Int32 _hParentId(Int32 index) const { return _connectivity()->_hParentLocalIdV2(m_local_id,index); }
457 Int32 _hChildId(Int32 index) const { return _connectivity()->_hChildLocalIdV2(m_local_id,index); }
458 impl::ItemIndexedListView<DynExtent> _nodeList() const { return _connectivity()->nodeList(m_local_id); }
459 impl::ItemIndexedListView<DynExtent> _edgeList() const { return _connectivity()->edgeList(m_local_id); }
460 impl::ItemIndexedListView<DynExtent> _faceList() const { return _connectivity()->faceList(m_local_id); }
461 impl::ItemIndexedListView<DynExtent> _cellList() const { return _connectivity()->cellList(m_local_id); }
462 NodeLocalIdView _nodeIds() const { return _connectivity()->nodeLocalIdsView(m_local_id); }
463 EdgeLocalIdView _edgeIds() const { return _connectivity()->edgeLocalIdsView(m_local_id); }
464 FaceLocalIdView _faceIds() const { return _connectivity()->faceLocalIdsView(m_local_id); }
465 CellLocalIdView _cellIds() const { return _connectivity()->cellLocalIdsView(m_local_id); }
466
467 constexpr inline Node _node(Int32 index) const;
468 constexpr inline Edge _edge(Int32 index) const;
469 constexpr inline Face _face(Int32 index) const;
470 constexpr inline Cell _cell(Int32 index) const;
471
472 ItemBase _hParentBase(Int32 index) const { return _connectivity()->hParentBase(m_local_id, index, m_shared_info); }
473 ItemBase _hChildBase(Int32 index) const { return _connectivity()->hChildBase(m_local_id, index, m_shared_info); }
474 ItemBase _toItemBase() const { return ItemBase(m_local_id,m_shared_info); }
475
477 Int32 _nbLinearNode() const { return itemBase()._nbLinearNode(); }
478
479 private:
480
481 constexpr ItemInternalConnectivityList* _connectivity() const
482 {
483 return m_shared_info->m_connectivity;
484 }
485 void _setFromInternal(ItemBase* rhs)
486 {
487 ARCANE_ITEM_ADD_STAT(m_nb_set_from_internal);
488 m_local_id = rhs->m_local_id;
489 m_shared_info = rhs->m_shared_info;
490 }
491 constexpr void _setFromItem(const Item& rhs)
492 {
493 m_local_id = rhs.m_local_id;
494 m_shared_info = rhs.m_shared_info;
495 }
496
497 public:
498
499 static void dumpStats(ITraceMng* tm);
500 static void resetStats();
501
502 private:
503
504 static std::atomic<int> m_nb_created_from_internal;
505 static std::atomic<int> m_nb_created_from_internalptr;
506 static std::atomic<int> m_nb_set_from_internal;
507
508 private:
509
510 ItemInternal* _internal() const
511 {
512 if (m_local_id!=NULL_ITEM_LOCAL_ID)
513 return m_shared_info->m_items_internal[m_local_id];
514 return ItemInternal::nullItem();
515 }
516};
517
518/*---------------------------------------------------------------------------*/
519/*---------------------------------------------------------------------------*/
526inline bool
527operator==(const Item& item1,const Item& item2)
528{
529 return item1.localId()==item2.localId();
530}
531
538inline bool
539operator!=(const Item& item1,const Item& item2)
540{
541 return item1.localId()!=item2.localId();
542}
543
550inline bool
551operator<(const Item& item1,const Item& item2)
552{
553 return item1.localId()<item2.localId();
554}
555
556/*---------------------------------------------------------------------------*/
557/*---------------------------------------------------------------------------*/
558
559} // End namespace Arcane
560
561/*---------------------------------------------------------------------------*/
562/*---------------------------------------------------------------------------*/
563
564#include "arcane/core/ItemVectorView.h"
565#include "arcane/core/ItemConnectedListView.h"
566
567/*---------------------------------------------------------------------------*/
568/*---------------------------------------------------------------------------*/
569
570namespace Arcane
571{
572
573/*---------------------------------------------------------------------------*/
574/*---------------------------------------------------------------------------*/
580class ARCANE_CORE_EXPORT Node
581: public Item
582{
583 using ThatClass = Node;
584 // Pour accéder aux constructeurs privés
585 friend class ItemEnumeratorBaseT<ThatClass>;
586 friend class ItemConnectedEnumeratorBaseT<ThatClass>;
587 friend class ItemVectorT<ThatClass>;
588 friend class ItemVectorViewT<ThatClass>;
589 friend class ItemConnectedListViewT<ThatClass>;
590 friend class ItemVectorViewConstIteratorT<ThatClass>;
591 friend class ItemConnectedListViewConstIteratorT<ThatClass>;
592 friend class SimdItemT<ThatClass>;
593 friend class ItemInfoListViewT<ThatClass>;
594 friend class ItemLocalIdToItemConverterT<ThatClass>;
595
596 public:
597
602 class ARCANE_DEPRECATED_REASON("Y2024: Use NodeLocalId instead") Index
603 : public Item::Index
604 {
605 public:
606 typedef Item::Index Base;
607 public:
608 explicit Index(Int32 id) : Base(id){}
609 Index(Node item) : Base(item){}
610 operator NodeLocalId() const { return NodeLocalId{localId()}; }
611 };
612
613 protected:
614
616 constexpr Node(Int32 local_id,ItemSharedInfo* shared_info)
617 : Item(local_id,shared_info) {}
618
619 public:
620
622 typedef NodeLocalId LocalIdType;
623
625 Node() = default;
626
628 Node(ItemInternal* ainternal) : Item(ainternal)
629 { ARCANE_CHECK_KIND(isNode); }
630
632 constexpr Node(const ItemBase& abase) : Item(abase)
633 { ARCANE_CHECK_KIND(isNode); }
634
636 constexpr explicit Node(const Item& aitem) : Item(aitem)
637 { ARCANE_CHECK_KIND(isNode); }
638
640 Node(const ItemInternalPtr* internals,Int32 local_id) : Item(internals,local_id)
641 { ARCANE_CHECK_KIND(isNode); }
642
645 {
646 _set(ainternal);
647 return (*this);
648 }
649
650 public:
651
653 constexpr eItemKind kind() const { return IK_Node; }
654
656 constexpr NodeLocalId itemLocalId() const { return NodeLocalId{ m_local_id }; }
657
659 constexpr Int32 nbEdge() const { return _nbEdge(); }
660
662 constexpr Int32 nbFace() const { return _nbFace(); }
663
665 Int32 nbCell() const { return _nbCell(); }
666
668 inline Edge edge(Int32 i) const;
669
671 inline Face face(Int32 i) const;
672
674 inline Cell cell(Int32 i) const;
675
677 EdgeLocalId edgeId(Int32 i) const { return _edgeId(i); }
678
680 FaceLocalId faceId(Int32 i) const { return _faceId(i); }
681
683 CellLocalId cellId(Int32 i) const { return _cellId(i); }
684
686 EdgeConnectedListViewType edges() const { return _edgeList(); }
687
689 FaceConnectedListViewType faces() const { return _faceList(); }
690
692 CellConnectedListViewType cells() const { return _cellList(); }
693
695 EdgeLocalIdView edgeIds() const { return _edgeIds(); }
696
698 FaceLocalIdView faceIds() const { return _faceIds(); }
699
701 CellLocalIdView cellIds() const { return _cellIds(); }
702
703 // AMR
704
707 {
708 return _toItemBase()._internalActiveCells2(local_ids);
709 }
710
711 ARCANE_DEPRECATED_REASON("Y2022: Do not use this operator. Use operator '.' instead")
712 Node* operator->() { return this; }
713
714 ARCANE_DEPRECATED_REASON("Y2022: Do not use this operator. Use operator '.' instead")
715 const Node* operator->() const { return this; }
716};
717
718/*---------------------------------------------------------------------------*/
719/*---------------------------------------------------------------------------*/
720
721constexpr inline Node Item::
722_node(Int32 index) const
723{
724 return Node(_connectivity()->nodeBase(m_local_id,index));
725}
726
727/*---------------------------------------------------------------------------*/
728/*---------------------------------------------------------------------------*/
734class ARCANE_CORE_EXPORT ItemWithNodes
735: public Item
736{
737 using ThatClass = ItemWithNodes;
738 // Pour accéder aux constructeurs privés
739 friend class ItemEnumeratorBaseT<ThatClass>;
740 friend class ItemConnectedEnumeratorBaseT<ThatClass>;
741 friend class ItemVectorT<ThatClass>;
742 friend class ItemVectorViewT<ThatClass>;
743 friend class ItemConnectedListViewT<ThatClass>;
744 friend class ItemVectorViewConstIteratorT<ThatClass>;
745 friend class ItemConnectedListViewConstIteratorT<ThatClass>;
746 friend class SimdItemT<ThatClass>;
747 friend class ItemInfoListViewT<ThatClass>;
748 friend class ItemLocalIdToItemConverterT<ThatClass>;
749
750 protected:
751
753 constexpr ItemWithNodes(Int32 local_id,ItemSharedInfo* shared_info)
754 : Item(local_id,shared_info) {}
755
756 public:
757
759 ItemWithNodes() = default;
760
762 ItemWithNodes(ItemInternal* ainternal) : Item(ainternal)
763 { ARCANE_CHECK_KIND(isItemWithNodes); }
764
766 constexpr ItemWithNodes(const ItemBase& abase) : Item(abase)
767 { ARCANE_CHECK_KIND(isItemWithNodes); }
768
770 constexpr explicit ItemWithNodes(const Item& aitem) : Item(aitem)
771 { ARCANE_CHECK_KIND(isItemWithNodes); }
772
774 ItemWithNodes(const ItemInternalPtr* internals,Int32 local_id)
775 : Item(internals,local_id)
776 { ARCANE_CHECK_KIND(isItemWithNodes); }
777
780 {
781 _set(ainternal);
782 return (*this);
783 }
784
785 public:
786
788 Int32 nbNode() const { return _nbNode(); }
789
791 Node node(Int32 i) const { return _node(i); }
792
794 NodeConnectedListViewType nodes() const { return _nodeList(); }
795
797 NodeLocalIdView nodeIds() const { return _nodeIds(); }
798
800 NodeLocalId nodeId(Int32 index) const { return _nodeId(index); }
801
803 Int32 nbLinearNode() const { return _nbLinearNode(); }
804
805 public:
806
807 ARCANE_DEPRECATED_REASON("Y2022: Do not use this operator. Use operator '.' instead")
808 ItemWithNodes* operator->() { return this; }
809
810 ARCANE_DEPRECATED_REASON("Y2022: Do not use this operator. Use operator '.' instead")
811 const ItemWithNodes* operator->() const { return this; }
812};
813
814/*---------------------------------------------------------------------------*/
815/*---------------------------------------------------------------------------*/
824class ARCANE_CORE_EXPORT Edge
825: public ItemWithNodes
826{
827 using ThatClass = Edge;
828 // Pour accéder aux constructeurs privés
829 friend class ItemEnumeratorBaseT<ThatClass>;
830 friend class ItemConnectedEnumeratorBaseT<ThatClass>;
831 friend class ItemVectorT<ThatClass>;
832 friend class ItemVectorViewT<ThatClass>;
833 friend class ItemConnectedListViewT<ThatClass>;
834 friend class ItemVectorViewConstIteratorT<ThatClass>;
835 friend class ItemConnectedListViewConstIteratorT<ThatClass>;
836 friend class SimdItemT<ThatClass>;
837 friend class ItemInfoListViewT<ThatClass>;
838 friend class ItemLocalIdToItemConverterT<ThatClass>;
839
840 public:
841
846 class ARCANE_DEPRECATED_REASON("Y2024: Use EdgeLocalId instead") Index
847 : public Item::Index
848 {
849 public:
850 typedef Item::Index Base;
851 public:
852 explicit Index(Int32 id) : Base(id){}
853 Index(Edge item) : Base(item){}
854 operator EdgeLocalId() const { return EdgeLocalId{localId()}; }
855 };
856
857 private:
858
860 Edge(Int32 local_id,ItemSharedInfo* shared_info)
861 : ItemWithNodes(local_id,shared_info) {}
862
863 public:
864
866 typedef EdgeLocalId LocalIdType;
867
869 Edge() = default;
870
872 Edge(ItemInternal* ainternal) : ItemWithNodes(ainternal)
873 { ARCANE_CHECK_KIND(isEdge); }
874
876 constexpr Edge(const ItemBase& abase) : ItemWithNodes(abase)
877 { ARCANE_CHECK_KIND(isEdge); }
878
880 constexpr explicit Edge(const Item& aitem) : ItemWithNodes(aitem)
881 { ARCANE_CHECK_KIND(isEdge); }
882
884 Edge(const ItemInternalPtr* internals,Int32 local_id)
885 : ItemWithNodes(internals,local_id)
886 { ARCANE_CHECK_KIND(isEdge); }
887
890 {
891 _set(ainternal);
892 return (*this);
893 }
894
895 public:
896
898 constexpr eItemKind kind() const { return IK_Edge; }
899
901 EdgeLocalId itemLocalId() const { return EdgeLocalId{ m_local_id }; }
902
904 Int32 nbNode() const { return 2; }
905
907 Int32 nbFace() const { return _nbFace(); }
908
910 Int32 nbCell() const { return _nbCell(); }
911
913 inline Cell cell(Int32 i) const;
914
916 CellConnectedListViewType cells() const { return _cellList(); }
917
919 CellLocalId cellId(Int32 i) const { return _cellId(i); }
920
922 CellLocalIdView cellIds() const { return _cellIds(); }
923
925 inline Face face(Int32 i) const;
926
928 FaceConnectedListViewType faces() const { return _faceList(); }
929
931 FaceLocalId faceId(Int32 i) const { return _faceId(i); }
932
934 FaceLocalIdView faceIds() const { return _faceIds(); }
935
936 ARCANE_DEPRECATED_REASON("Y2022: Do not use this operator. Use operator '.' instead")
937 Edge* operator->() { return this; }
938
939 ARCANE_DEPRECATED_REASON("Y2022: Do not use this operator. Use operator '.' instead")
940 const Edge* operator->() const { return this; }
941};
942
943/*---------------------------------------------------------------------------*/
944/*---------------------------------------------------------------------------*/
945
946constexpr inline Edge Item::
947_edge(Int32 index) const
948{
949 return Edge(_connectivity()->edgeBase(m_local_id,index));
950}
951
952/*---------------------------------------------------------------------------*/
953/*---------------------------------------------------------------------------*/
962class ARCANE_CORE_EXPORT Face
963: public ItemWithNodes
964{
965 using ThatClass = Face;
966 // Pour accéder aux constructeurs privés
967 friend class ItemEnumeratorBaseT<ThatClass>;
968 friend class ItemConnectedEnumeratorBaseT<ThatClass>;
969 friend class ItemVectorT<ThatClass>;
970 friend class ItemVectorViewT<ThatClass>;
971 friend class ItemConnectedListViewT<ThatClass>;
972 friend class ItemVectorViewConstIteratorT<ThatClass>;
973 friend class ItemConnectedListViewConstIteratorT<ThatClass>;
974 friend class SimdItemT<ThatClass>;
975 friend class ItemInfoListViewT<ThatClass>;
976 friend class ItemLocalIdToItemConverterT<ThatClass>;
977
978 public:
979
984 class ARCANE_DEPRECATED_REASON("Y2024: Use FaceLocalId instead") Index
985 : public Item::Index
986 {
987 public:
988 typedef Item::Index Base;
989 public:
990 explicit Index(Int32 id) : Base(id){}
991 Index(Face item) : Base(item){}
992 operator FaceLocalId() const { return FaceLocalId{localId()}; }
993 };
994
995 private:
996
998 constexpr Face(Int32 local_id,ItemSharedInfo* shared_info)
999 : ItemWithNodes(local_id,shared_info) {}
1000
1001 public:
1002
1004 typedef FaceLocalId LocalIdType;
1005
1007 Face() = default;
1008
1010 Face(ItemInternal* ainternal) : ItemWithNodes(ainternal)
1011 { ARCANE_CHECK_KIND(isFace); }
1012
1014 constexpr Face(const ItemBase& abase) : ItemWithNodes(abase)
1015 { ARCANE_CHECK_KIND(isFace); }
1016
1018 constexpr explicit Face(const Item& aitem) : ItemWithNodes(aitem)
1019 { ARCANE_CHECK_KIND(isFace); }
1020
1022 Face(const ItemInternalPtr* internals,Int32 local_id)
1023 : ItemWithNodes(internals,local_id)
1024 { ARCANE_CHECK_KIND(isFace); }
1025
1028 {
1029 _set(ainternal);
1030 return (*this);
1031 }
1032
1033 public:
1034
1036 constexpr eItemKind kind() const { return IK_Face; }
1037
1039 FaceLocalId itemLocalId() const { return FaceLocalId{ m_local_id }; }
1040
1042 Int32 nbCell() const { return _nbCell(); }
1043
1045 inline Cell cell(Int32 i) const;
1046
1048 CellConnectedListViewType cells() const { return _cellList(); }
1049
1051 CellLocalId cellId(Int32 i) const { return _cellId(i); }
1052
1054 CellLocalIdView cellIds() const { return _cellIds(); }
1055
1061 bool isSubDomainBoundary() const { return (_flags() & ItemFlags::II_Boundary)!=0; }
1062
1067 ARCANE_DEPRECATED_118 bool isBoundary() const { return isSubDomainBoundary(); }
1068
1071 {
1073 }
1074
1080 ARCANE_DEPRECATED_118 bool isBoundaryOutside() const
1081 {
1083 }
1084
1086 inline Cell boundaryCell() const;
1087
1089 inline Cell backCell() const;
1090
1092 CellLocalId backCellId() const { return CellLocalId(_toItemBase().backCellId()); }
1093
1095 inline Cell frontCell() const;
1096
1098 CellLocalId frontCellId() const { return CellLocalId(_toItemBase().frontCellId()); }
1099
1105 inline Cell oppositeCell(Cell cell) const;
1106
1112 CellLocalId oppositeCellId(CellLocalId cell_id) const
1113 {
1114 ARCANE_ASSERT((backCellId()==cell_id || frontCellId()==cell_id),("cell is not connected to the face"));
1115 return (backCellId()==cell_id) ? frontCellId() : backCellId();
1116 }
1117
1126 Face masterFace() const { return _toItemBase().masterFace(); }
1127
1129 bool isMasterFace() const { return _toItemBase().isMasterFace(); }
1130
1132 bool isSlaveFace() const { return _toItemBase().isSlaveFace(); }
1133
1135 bool isTiedFace() const { return isSlaveFace() || isMasterFace(); }
1136
1144 {
1145 if (_toItemBase().isMasterFace())
1146 return _faceList();
1148 }
1149
1150 public:
1151
1153 Int32 nbEdge() const { return _nbEdge(); }
1154
1156 Edge edge(Int32 i) const { return _edge(i); }
1157
1159 EdgeConnectedListViewType edges() const { return _edgeList(); }
1160
1162 EdgeLocalId edgeId(Int32 i) const { return _edgeId(i); }
1163
1165 EdgeLocalIdView edgeIds() const { return _edgeIds(); }
1166
1167 ARCANE_DEPRECATED_REASON("Y2022: Do not use this operator. Use operator '.' instead")
1168 Face* operator->() { return this; }
1169
1170 ARCANE_DEPRECATED_REASON("Y2022: Do not use this operator. Use operator '.' instead")
1171 const Face* operator->() const { return this; }
1172};
1173
1174/*---------------------------------------------------------------------------*/
1175/*---------------------------------------------------------------------------*/
1176
1177constexpr inline Face Item::
1178_face(Int32 index) const
1179{
1180 return Face(_connectivity()->faceBase(m_local_id,index));
1181}
1182
1183/*---------------------------------------------------------------------------*/
1184/*---------------------------------------------------------------------------*/
1212class ARCANE_CORE_EXPORT Cell
1213: public ItemWithNodes
1214{
1215 using ThatClass = Cell;
1216 // Pour accéder aux constructeurs privés
1217 friend class ItemEnumeratorBaseT<ThatClass>;
1218 friend class ItemConnectedEnumeratorBaseT<ThatClass>;
1219 friend class ItemVectorT<ThatClass>;
1220 friend class ItemVectorViewT<ThatClass>;
1221 friend class ItemConnectedListViewT<ThatClass>;
1222 friend class ItemVectorViewConstIteratorT<ThatClass>;
1223 friend class ItemConnectedListViewConstIteratorT<ThatClass>;
1224 friend class SimdItemT<ThatClass>;
1225 friend class ItemInfoListViewT<ThatClass>;
1226 friend class ItemLocalIdToItemConverterT<ThatClass>;
1227
1228 public:
1229
1234 class ARCANE_DEPRECATED_REASON("Y2024: Use CellLocalId instead") Index
1235 : public Item::Index
1236 {
1237 public:
1238 typedef Item::Index Base;
1239 public:
1240 explicit Index(Int32 id) : Base(id){}
1241 Index(Cell item) : Base(item){}
1242 operator CellLocalId() const { return CellLocalId{localId()}; }
1243 };
1244
1245 private:
1246
1248 Cell(Int32 local_id,ItemSharedInfo* shared_info)
1249 : ItemWithNodes(local_id,shared_info) {}
1250
1251 public:
1252
1254 typedef CellLocalId LocalIdType;
1255
1257 Cell() = default;
1258
1260 Cell(ItemInternal* ainternal) : ItemWithNodes(ainternal)
1261 { ARCANE_CHECK_KIND(isCell); }
1262
1264 constexpr Cell(const ItemBase& abase) : ItemWithNodes(abase)
1265 { ARCANE_CHECK_KIND(isCell); }
1266
1268 constexpr explicit Cell(const Item& aitem) : ItemWithNodes(aitem)
1269 { ARCANE_CHECK_KIND(isCell); }
1270
1272 Cell(const ItemInternalPtr* internals,Int32 local_id)
1273 : ItemWithNodes(internals,local_id)
1274 { ARCANE_CHECK_KIND(isCell); }
1275
1278 {
1279 _set(ainternal);
1280 return (*this);
1281 }
1282
1283 public:
1284
1286 constexpr eItemKind kind() const { return IK_Cell; }
1287
1289 CellLocalId itemLocalId() const { return CellLocalId{ m_local_id }; }
1290
1292 Int32 nbFace() const { return _nbFace(); }
1293
1295 Face face(Int32 i) const { return _face(i); }
1296
1298 FaceConnectedListViewType faces() const { return _faceList(); }
1299
1301 FaceLocalId faceId(Int32 i) const { return _faceId(i); }
1302
1304 FaceLocalIdView faceIds() const { return _faceIds(); }
1305
1307 Int32 nbEdge() const { return _nbEdge(); }
1308
1310 Edge edge(Int32 i) const { return _edge(i); }
1311
1313 EdgeLocalId edgeId(Int32 i) const { return _edgeId(i); }
1314
1316 EdgeConnectedListViewType edges() const { return _edgeList(); }
1317
1319 EdgeLocalIdView edgeIds() const { return _edgeIds(); }
1320
1327 Cell hParent() const { return Cell(_hParentBase(0)); }
1328
1330 Int32 nbHParent() const { return _nbHParent(); }
1331
1333 Int32 nbHChildren() const { return _nbHChildren(); }
1334
1336 Cell hChild(Int32 i) const { return Cell(_hChildBase(i)); }
1337
1339 Cell topHParent() const { return Cell(_toItemBase().topHParentBase()); }
1340
1346 bool isActive() const { return _toItemBase().isActive(); }
1347
1348 bool isSubactive() const { return _toItemBase().isSubactive(); }
1349
1355 bool isAncestor() const { return _toItemBase().isAncestor(); }
1356
1361 bool hasHChildren() const { return _toItemBase().hasHChildren(); }
1362
1368 Int32 level() const
1369 {
1373 if (this->_nbHParent() == 0)
1374 return 0;
1376 return (this->_hParentBase(0).level() + 1);
1377 }
1378
1385 {
1386 return _toItemBase().whichChildAmI(iitem->localId());
1387 }
1388
1394 Int32 whichChildAmI(CellLocalId local_id) const
1395 {
1396 return _toItemBase().whichChildAmI(local_id);
1397 }
1398
1399 ARCANE_DEPRECATED_REASON("Y2022: Do not use this operator. Use operator '.' instead")
1400 Cell* operator->() { return this; }
1401
1402 ARCANE_DEPRECATED_REASON("Y2022: Do not use this operator. Use operator '.' instead")
1403 const Cell* operator->() const { return this; }
1404};
1405
1406/*---------------------------------------------------------------------------*/
1407/*---------------------------------------------------------------------------*/
1408
1409constexpr inline Cell Item::
1410_cell(Int32 index) const
1411{
1412 return Cell(_connectivity()->cellBase(m_local_id,index));
1413}
1414
1415/*---------------------------------------------------------------------------*/
1416/*---------------------------------------------------------------------------*/
1422: public Item
1423{
1424 using ThatClass = Particle;
1425 // Pour accéder aux constructeurs privés
1426 friend class ItemEnumeratorBaseT<ThatClass>;
1427 friend class ItemConnectedEnumeratorBaseT<ThatClass>;
1428 friend class ItemVectorT<ThatClass>;
1429 friend class ItemVectorViewT<ThatClass>;
1430 friend class ItemConnectedListViewT<ThatClass>;
1431 friend class ItemVectorViewConstIteratorT<ThatClass>;
1432 friend class ItemConnectedListViewConstIteratorT<ThatClass>;
1433 friend class SimdItemT<ThatClass>;
1434 friend class ItemInfoListViewT<ThatClass>;
1435 friend class ItemLocalIdToItemConverterT<ThatClass>;
1436
1437 private:
1438
1440 Particle(Int32 local_id,ItemSharedInfo* shared_info)
1441 : Item(local_id,shared_info) {}
1442
1443 public:
1444
1446 typedef ParticleLocalId LocalIdType;
1447
1449 Particle() = default;
1450
1452 Particle(ItemInternal* ainternal) : Item(ainternal)
1453 { ARCANE_CHECK_KIND(isParticle); }
1454
1456 constexpr Particle(const ItemBase& abase) : Item(abase)
1457 { ARCANE_CHECK_KIND(isParticle); }
1458
1460 constexpr explicit Particle(const Item& aitem) : Item(aitem)
1461 { ARCANE_CHECK_KIND(isParticle); }
1462
1464 Particle(const ItemInternalPtr* internals,Int32 local_id)
1465 : Item(internals,local_id)
1466 { ARCANE_CHECK_KIND(isParticle); }
1467
1470 {
1471 _set(ainternal);
1472 return (*this);
1473 }
1474
1475 public:
1476
1478 constexpr eItemKind kind() const { return IK_Particle; }
1479
1481 ParticleLocalId itemLocalId() const { return ParticleLocalId{ m_local_id }; }
1482
1488 Cell cell() const { return _cell(0); }
1489
1491 CellLocalId cellId() const { return _cellId(0); }
1492
1494 bool hasCell() const { return (_cellId(0).localId()!=NULL_ITEM_LOCAL_ID); }
1495
1502 {
1503 Int32 cell_local_id = _cellId(0).localId();
1504 if (cell_local_id==NULL_ITEM_LOCAL_ID)
1505 return Cell();
1506 return _cell(0);
1507 }
1508
1509 ARCANE_DEPRECATED_REASON("Y2022: Do not use this operator. Use operator '.' instead")
1510 Particle* operator->() { return this; }
1511
1512 ARCANE_DEPRECATED_REASON("Y2022: Do not use this operator. Use operator '.' instead")
1513 const Particle* operator->() const { return this; }
1514};
1515
1516/*---------------------------------------------------------------------------*/
1517/*---------------------------------------------------------------------------*/
1530class DoF
1531: public Item
1532{
1533 using ThatClass = DoF;
1534 // Pour accéder aux constructeurs privés
1535 friend class ItemEnumeratorBaseT<ThatClass>;
1536 friend class ItemConnectedEnumeratorBaseT<ThatClass>;
1537 friend class ItemVectorT<ThatClass>;
1538 friend class ItemVectorViewT<ThatClass>;
1539 friend class ItemConnectedListViewT<ThatClass>;
1540 friend class ItemVectorViewConstIteratorT<ThatClass>;
1541 friend class ItemConnectedListViewConstIteratorT<ThatClass>;
1542 friend class SimdItemT<ThatClass>;
1543 friend class ItemInfoListViewT<ThatClass>;
1544 friend class ItemLocalIdToItemConverterT<ThatClass>;
1545
1546 private:
1547
1549 constexpr DoF(Int32 local_id,ItemSharedInfo* shared_info)
1550 : Item(local_id,shared_info) {}
1551
1552
1553 public:
1554
1555 using LocalIdType = DoFLocalId;
1556
1558 DoF() = default;
1559
1561 DoF(ItemInternal* ainternal) : Item(ainternal)
1562 { ARCANE_CHECK_KIND(isDoF); }
1563
1565 constexpr DoF(const ItemBase& abase) : Item(abase)
1566 { ARCANE_CHECK_KIND(isDoF); }
1567
1569 constexpr explicit DoF(const Item& aitem) : Item(aitem)
1570 { ARCANE_CHECK_KIND(isDoF); }
1571
1573 DoF(const ItemInternalPtr* internals,Int32 local_id)
1574 : Item(internals,local_id)
1575 { ARCANE_CHECK_KIND(isDoF); }
1576
1579 {
1580 _set(ainternal);
1581 return (*this);
1582 }
1583
1584 ARCANE_DEPRECATED_REASON("Y2022: Do not use this operator. Use operator '.' instead")
1585 DoF* operator->() { return this; }
1586
1587 ARCANE_DEPRECATED_REASON("Y2022: Do not use this operator. Use operator '.' instead")
1588 const DoF* operator->() const { return this; }
1589
1591 constexpr eItemKind kind() const { return IK_DoF; }
1592
1594 DoFLocalId itemLocalId() const { return DoFLocalId{ m_local_id }; }
1595};
1596
1597/*---------------------------------------------------------------------------*/
1598/*---------------------------------------------------------------------------*/
1599
1600/*---------------------------------------------------------------------------*/
1601/*---------------------------------------------------------------------------*/
1602
1604edge(Int32 i) const
1605{
1606 return _edge(i);
1607}
1608
1610face(Int32 i) const
1611{
1612 return _face(i);
1613}
1614
1616cell(Int32 i) const
1617{
1618 return _cell(i);
1619}
1620
1621/*---------------------------------------------------------------------------*/
1622/*---------------------------------------------------------------------------*/
1623
1625face(Int32 i) const
1626{
1627 return _face(i);
1628}
1629
1631cell(Int32 i) const
1632{
1633 return _cell(i);
1634}
1635
1636/*---------------------------------------------------------------------------*/
1637/*---------------------------------------------------------------------------*/
1638
1640boundaryCell() const
1641{
1642 return Cell(_toItemBase().boundaryCell());
1643}
1644
1646backCell() const
1647{
1648 return Cell(_toItemBase().backCell());
1649}
1650
1652frontCell() const
1653{
1654 return Cell(_toItemBase().frontCell());
1655}
1656
1658oppositeCell(Cell cell) const
1659{
1660 ARCANE_ASSERT((backCell()==cell || frontCell()==cell),("cell is not connected to the face"));
1661 return (backCell()==cell) ? frontCell() : backCell();
1662}
1663
1665cell(Int32 i) const
1666{
1667 return _cell(i);
1668}
1669
1670/*---------------------------------------------------------------------------*/
1671/*---------------------------------------------------------------------------*/
1672
1674toItemWithNodes() const
1675{
1676 ARCANE_CHECK_KIND(isItemWithNodes);
1677 return ItemWithNodes(*this);
1678}
1679
1681toNode() const
1682{
1683 ARCANE_CHECK_KIND(isNode);
1684 return Node(*this);
1685}
1686
1688toEdge() const
1689{
1690 ARCANE_CHECK_KIND(isEdge);
1691 return Edge(*this);
1692}
1693
1695toFace() const
1696{
1697 ARCANE_CHECK_KIND(isFace);
1698 return Face(*this);
1699}
1700
1702toCell() const
1703{
1704 ARCANE_CHECK_KIND(isCell);
1705 return Cell(*this);
1706}
1707
1709toParticle() const
1710{
1711 ARCANE_CHECK_KIND(isParticle);
1712 return Particle(*this);
1713}
1714
1716toDoF() const
1717{
1718 ARCANE_CHECK_KIND(isDoF);
1719 return DoF(*this);
1720}
1721
1722/*---------------------------------------------------------------------------*/
1723/*---------------------------------------------------------------------------*/
1724
1725inline ItemLocalId::
1726ItemLocalId(Item item)
1727: m_local_id(item.localId())
1728{
1729}
1730
1731template<typename ItemType> inline ItemLocalIdT<ItemType>::
1732ItemLocalIdT(ItemType item)
1733: ItemLocalId(item.localId())
1734{
1735}
1736
1737/*---------------------------------------------------------------------------*/
1738/*---------------------------------------------------------------------------*/
1739
1741operator[](ItemLocalId local_id) const
1742{
1743 return Item(local_id.localId(), m_item_shared_info);
1744}
1745
1746/*---------------------------------------------------------------------------*/
1747/*---------------------------------------------------------------------------*/
1748
1750operator[](Int32 local_id) const
1751{
1752 return Item(local_id, m_item_shared_info);
1753}
1754
1755/*---------------------------------------------------------------------------*/
1756/*---------------------------------------------------------------------------*/
1757
1758template<typename ItemType> inline ItemType ItemInfoListViewT<ItemType>::
1759operator[](ItemLocalId local_id) const
1760{
1761 return ItemType(local_id.localId(), m_item_shared_info);
1762}
1763
1764/*---------------------------------------------------------------------------*/
1765/*---------------------------------------------------------------------------*/
1766
1767template<typename ItemType> inline ItemType ItemInfoListViewT<ItemType>::
1768operator[](Int32 local_id) const
1769{
1770 return ItemType(local_id, m_item_shared_info);
1771}
1772
1773/*---------------------------------------------------------------------------*/
1774/*---------------------------------------------------------------------------*/
1775
1776inline constexpr ARCCORE_HOST_DEVICE Item ItemLocalIdToItemConverter::
1777operator[](ItemLocalId local_id) const
1778{
1779 return Item(local_id.localId(), m_item_shared_info);
1780}
1781
1782/*---------------------------------------------------------------------------*/
1783/*---------------------------------------------------------------------------*/
1784
1785inline constexpr ARCCORE_HOST_DEVICE Item ItemLocalIdToItemConverter::
1786operator[](Int32 local_id) const
1787{
1788 return Item(local_id, m_item_shared_info);
1789}
1790
1791/*---------------------------------------------------------------------------*/
1792/*---------------------------------------------------------------------------*/
1793
1794template<typename ItemType_> inline constexpr ARCCORE_HOST_DEVICE ItemType_
1796operator[](ItemLocalIdType local_id) const
1797{
1798 return ItemType(local_id.localId(), m_item_shared_info);
1799}
1800
1801/*---------------------------------------------------------------------------*/
1802/*---------------------------------------------------------------------------*/
1803
1804template<typename ItemType_> inline constexpr ARCCORE_HOST_DEVICE ItemType_
1806operator[](Int32 local_id) const
1807{
1808 return ItemType(local_id, m_item_shared_info);
1809}
1810
1811/*---------------------------------------------------------------------------*/
1812/*---------------------------------------------------------------------------*/
1813
1814} // End namespace Arcane
1815
1816/*---------------------------------------------------------------------------*/
1817/*---------------------------------------------------------------------------*/
1818
1819#include "arcane/core/ItemCompatibility.h"
1820
1821/*---------------------------------------------------------------------------*/
1822/*---------------------------------------------------------------------------*/
1823
1824#endif
Déclarations de types sur les entités.
Maille d'un maillage.
Definition Item.h:1214
Cell topHParent() const
parent de niveau 0 pour l'AMR
Definition Item.h:1339
Int32 nbEdge() const
Nombre d'arêtes de la maille.
Definition Item.h:1307
constexpr Cell(const ItemBase &abase)
Construit une référence à l'entité abase.
Definition Item.h:1264
FaceConnectedListViewType faces() const
Liste des faces de la maille.
Definition Item.h:1298
Int32 nbHChildren() const
Nombre d'enfants pour l'AMR.
Definition Item.h:1333
bool isAncestor() const
Definition Item.h:1355
Cell(Int32 local_id, ItemSharedInfo *shared_info)
Constructeur réservé pour les énumérateurs.
Definition Item.h:1248
Face face(Int32 i) const
i-ème face de la maille
Definition Item.h:1295
FaceLocalIdView faceIds() const
Liste des faces de la maille.
Definition Item.h:1304
Cell(ItemInternal *ainternal)
(deprecated) Construit une référence à l'entité internal
Definition Item.h:1260
Int32 nbFace() const
Nombre de faces de la maille.
Definition Item.h:1292
Cell & operator=(ItemInternal *ainternal)
Opérateur de copie.
Definition Item.h:1277
Cell(const ItemInternalPtr *internals, Int32 local_id)
Construit une référence à l'entité internal.
Definition Item.h:1272
CellLocalId itemLocalId() const
Identifiant local de l'entité dans le sous-domaine du processeur.
Definition Item.h:1289
EdgeLocalIdView edgeIds() const
Liste des arêtes de la maille.
Definition Item.h:1319
EdgeLocalId edgeId(Int32 i) const
i-ème arête de la maille
Definition Item.h:1313
Int32 whichChildAmI(const ItemInternal *iitem) const
Definition Item.h:1384
constexpr Cell(const Item &aitem)
Construit une référence à l'entité aitem.
Definition Item.h:1268
Cell hChild(Int32 i) const
i-ème enfant AMR
Definition Item.h:1336
bool hasHChildren() const
Definition Item.h:1361
Edge edge(Int32 i) const
i-ème arête de la maille
Definition Item.h:1310
Cell()=default
Constructeur d'une maille nulle.
Int32 whichChildAmI(CellLocalId local_id) const
Definition Item.h:1394
FaceLocalId faceId(Int32 i) const
i-ème face de la maille
Definition Item.h:1301
bool isActive() const
Definition Item.h:1346
Int32 level() const
Definition Item.h:1368
Cell hParent() const
Definition Item.h:1327
EdgeConnectedListViewType edges() const
Liste des arêtes de la maille.
Definition Item.h:1316
Int32 nbHParent() const
Nombre de parent pour l'AMR.
Definition Item.h:1330
constexpr eItemKind kind() const
Genre de l'entité
Definition Item.h:1286
CellLocalId LocalIdType
Type du localId()
Definition Item.h:1254
classe degré de liberté.
Definition Item.h:1532
constexpr DoF(Int32 local_id, ItemSharedInfo *shared_info)
Constructeur réservé pour les énumérateurs.
Definition Item.h:1549
DoF(const ItemInternalPtr *internals, Int32 local_id)
Construit une référence à l'entité internal.
Definition Item.h:1573
DoF()=default
Constructeur d'une maille non connectée.
DoFLocalId itemLocalId() const
Identifiant local de l'entité dans le sous-domaine du processeur.
Definition Item.h:1594
constexpr DoF(const Item &aitem)
Construit une référence à l'entité abase.
Definition Item.h:1569
DoF & operator=(ItemInternal *ainternal)
Opérateur de copie.
Definition Item.h:1578
DoF(ItemInternal *ainternal)
(deprecated) Construit une référence à l'entité internal
Definition Item.h:1561
constexpr DoF(const ItemBase &abase)
Construit une référence à l'entité abase.
Definition Item.h:1565
constexpr eItemKind kind() const
Genre de l'entité
Definition Item.h:1591
Arête d'une maille.
Definition Item.h:826
FaceConnectedListViewType faces() const
Liste des faces de l'arête.
Definition Item.h:928
constexpr eItemKind kind() const
Genre de l'entité
Definition Item.h:898
CellConnectedListViewType cells() const
Liste des mailles de l'arête.
Definition Item.h:916
Cell cell(Int32 i) const
i-ème maille de l'arête
Definition Item.h:1631
Face face(Int32 i) const
i-ème face de l'arête
Definition Item.h:1625
Edge(const ItemInternalPtr *internals, Int32 local_id)
Construit une référence à l'entité internal.
Definition Item.h:884
constexpr Edge(const Item &aitem)
Construit une référence à l'entité aitem.
Definition Item.h:880
FaceLocalIdView faceIds() const
Liste des faces de l'arête.
Definition Item.h:934
Edge & operator=(ItemInternal *ainternal)
Opérateur de copie.
Definition Item.h:889
Int32 nbFace() const
Nombre de faces connectées à l'arête.
Definition Item.h:907
CellLocalIdView cellIds() const
Liste des mailles de l'arête.
Definition Item.h:922
constexpr Edge(const ItemBase &abase)
Construit une référence à l'entité abase.
Definition Item.h:876
Edge()=default
Créé une arête nulle.
FaceLocalId faceId(Int32 i) const
i-ème face de l'arête
Definition Item.h:931
Edge(ItemInternal *ainternal)
(deprecated) Construit une référence à l'entité internal
Definition Item.h:872
EdgeLocalId LocalIdType
Type du localId()
Definition Item.h:866
Edge(Int32 local_id, ItemSharedInfo *shared_info)
Constructeur réservé pour les énumérateurs.
Definition Item.h:860
Int32 nbNode() const
Nombre de sommets de l'arête.
Definition Item.h:904
CellLocalId cellId(Int32 i) const
i-ème maille de l'arête
Definition Item.h:919
Int32 nbCell() const
Nombre de mailles connectées à l'arête.
Definition Item.h:910
EdgeLocalId itemLocalId() const
Identifiant local de l'entité dans le sous-domaine du processeur.
Definition Item.h:901
Face d'une maille.
Definition Item.h:964
Face()=default
Création d'une face non connecté au maillage.
bool isMasterFace() const
true s'il s'agit de la face maître d'une interface
Definition Item.h:1129
constexpr eItemKind kind() const
Genre de l'entité
Definition Item.h:1036
FaceLocalId LocalIdType
Type du localId()
Definition Item.h:1004
CellLocalId frontCellId() const
Maille devant la face (maille nulle si aucune)
Definition Item.h:1098
Cell frontCell() const
Maille devant la face (maille nulle si aucune)
Definition Item.h:1652
CellLocalId cellId(Int32 i) const
i-ème maille de la face
Definition Item.h:1051
EdgeLocalIdView edgeIds() const
Liste des arêtes de la face.
Definition Item.h:1165
Cell cell(Int32 i) const
i-ème maille de la face
Definition Item.h:1665
Int32 nbCell() const
Nombre de mailles de la face (1 ou 2)
Definition Item.h:1042
ARCANE_DEPRECATED_118 bool isBoundary() const
Definition Item.h:1067
FaceConnectedListViewType slaveFaces() const
Liste des faces esclaves associées à cette face maître.
Definition Item.h:1143
constexpr Face(const Item &aitem)
Construit une référence à l'entité aitem.
Definition Item.h:1018
ARCANE_DEPRECATED_118 bool isBoundaryOutside() const
Indique si la face est au bord t orientée vers l'extérieur.
Definition Item.h:1080
EdgeConnectedListViewType edges() const
Liste des arêtes de la face.
Definition Item.h:1159
bool isSubDomainBoundary() const
Indique si la face est au bord du sous-domaine (i.e nbCell()==1)
Definition Item.h:1061
FaceLocalId itemLocalId() const
Identifiant local de l'entité dans le sous-domaine du processeur.
Definition Item.h:1039
EdgeLocalId edgeId(Int32 i) const
i-ème arête de la face
Definition Item.h:1162
CellConnectedListViewType cells() const
Liste des mailles de la face.
Definition Item.h:1048
Face masterFace() const
Face maître associée à cette face.
Definition Item.h:1126
bool isSlaveFace() const
true s'il s'agit d'une face esclave d'une interface
Definition Item.h:1132
Edge edge(Int32 i) const
i-ème arête de la face
Definition Item.h:1156
constexpr Face(const ItemBase &abase)
Construit une référence à l'entité abase.
Definition Item.h:1014
CellLocalId backCellId() const
Maille derrière la face (maille nulle si aucune)
Definition Item.h:1092
Face(const ItemInternalPtr *internals, Int32 local_id)
Construit une référence à l'entité internal.
Definition Item.h:1022
bool isSubDomainBoundaryOutside() const
Indique si la face est au bord t orientée vers l'extérieur.
Definition Item.h:1070
Face(ItemInternal *ainternal)
(deprecated) Construit une référence à l'entité internal
Definition Item.h:1010
Cell boundaryCell() const
Maille associée à cette face frontière (maille nulle si aucune)
Definition Item.h:1640
Int32 nbEdge() const
Nombre d'arêtes de la face.
Definition Item.h:1153
bool isTiedFace() const
true s'il s'agit d'une face esclave ou maître d'une interface
Definition Item.h:1135
CellLocalIdView cellIds() const
Liste des mailles de la face.
Definition Item.h:1054
Face & operator=(ItemInternal *ainternal)
Opérateur de copie.
Definition Item.h:1027
Cell backCell() const
Maille derrière la face (maille nulle si aucune)
Definition Item.h:1646
constexpr Face(Int32 local_id, ItemSharedInfo *shared_info)
Constructeur réservé pour les énumérateurs.
Definition Item.h:998
Cell oppositeCell(Cell cell) const
Maille opposée de cette face à la maille cell.
Definition Item.h:1658
CellLocalId oppositeCellId(CellLocalId cell_id) const
Maille opposée de cette face à la maille cell.
Definition Item.h:1112
Interface d'une famille d'entités.
Definition IItemFamily.h:84
Classe de base pour les entités du maillage.
Int32 m_local_id
Numéro local (au sous-domaine) de l'entité.
ItemSharedInfo * m_shared_info
Infos partagées entre toutes les entités ayant les mêmes caractéristiques.
Int32 localId() const
Numéro local (au sous-domaine) de l'entité
Classe de base typeé des énumérateurs sur une liste d'entité connectées.
Vue sur une liste d'entités connectées à une autre.
Classe de base des énumérateurs sur une liste d'entité.
@ II_Shared
L'entité est partagée par un autre sous-domaine.
Definition ItemFlags.h:58
@ II_HasBackCell
L'entité a une maille derrière.
Definition ItemFlags.h:52
@ II_Own
L'entité est une entité propre au sous-domaine.
Definition ItemFlags.h:55
@ II_Boundary
L'entité est sur la frontière.
Definition ItemFlags.h:50
Classe de base des vues spécialisées des informations sur les entités.
ItemType operator[](ItemLocalId local_id) const
Entité associée du numéro local local_id.
Definition Item.h:1759
Item operator[](ItemLocalId local_id) const
Entité associée du numéro local local_id.
Definition Item.h:1741
Informations de connectivité, pour une famille d'entité, permettant la transition entre les anciennes...
Structure interne d'une entité de maillage.
Classe pour convertir un ItemLocalId vers une entité (Item).
constexpr __host__ __device__ ItemType operator[](ItemLocalIdType local_id) const
Entité de numéro local local_id.
Definition Item.h:1796
constexpr __host__ __device__ Item operator[](ItemLocalId local_id) const
Entité de numéro local local_id.
Definition Item.h:1777
Index d'un Item dans une variable.
Definition ItemLocalId.h:41
Structure interne partagée d'une entité de maillage.
ConstArrayView< ItemInternal * > m_items_internal
ItemInternal des entités.
Type d'une entité (Item).
Definition ItemTypeId.h:32
Infos sur un type d'entité du maillage.
Identifiant unique d'une entité.
Vecteur typé d'entité.
Definition ItemVector.h:166
Vue sur un tableau typé d'entités.
Elément de maillage s'appuyant sur des noeuds (Edge,Face,Cell).
Definition Item.h:736
ItemWithNodes(const ItemInternalPtr *internals, Int32 local_id)
Construit une référence à l'entité internal.
Definition Item.h:774
NodeLocalId nodeId(Int32 index) const
i-ème noeud de l'entité.
Definition Item.h:800
constexpr ItemWithNodes(const Item &aitem)
Construit une référence à l'entité aitem.
Definition Item.h:770
Node node(Int32 i) const
i-ème noeud de l'entité
Definition Item.h:791
constexpr ItemWithNodes(Int32 local_id, ItemSharedInfo *shared_info)
Constructeur réservé pour les énumérateurs.
Definition Item.h:753
Int32 nbLinearNode() const
Nombre de noeuds de l'entité linéaire associée (si entité ordre 2 ou plus)
Definition Item.h:803
NodeConnectedListViewType nodes() const
Liste des noeuds de l'entité
Definition Item.h:794
ItemWithNodes(ItemInternal *ainternal)
(deprecated) Construit une référence à l'entité internal
Definition Item.h:762
ItemWithNodes()=default
Création d'une entité non connectée au maillage.
Int32 nbNode() const
Nombre de noeuds de l'entité
Definition Item.h:788
constexpr ItemWithNodes(const ItemBase &abase)
Construit une référence à l'entité abase.
Definition Item.h:766
NodeLocalIdView nodeIds() const
Liste des noeuds de l'entité
Definition Item.h:797
ItemWithNodes & operator=(ItemInternal *ainternal)
Opérateur de copie.
Definition Item.h:779
Index d'un Item dans une variable.
Definition Item.h:119
Classe de base d'un élément de maillage.
Definition Item.h:83
Int32 nbParent() const
Nombre de parents pour les sous-maillages.
Definition Item.h:283
constexpr bool isDoF() const
true is l'entité est du genre DoF
Definition Item.h:331
const ItemTypeInfo * typeInfo() const
Infos sur le type de l'entité.
Definition Item.h:392
impl::MutableItemBase mutableItemBase() const
Partie interne modifiable de l'entité.
Definition Item.h:380
Int32 _nbHParent() const
Nombre de parent pour l'AMR.
Definition Item.h:447
static const Int32 NULL_ELEMENT
Indice d'un élément nul.
Definition Item.h:163
constexpr Int32 flags() const
Flags de l'entité
Definition Item.h:341
Item(ItemInternal *ainternal)
Construit une référence à l'entité internal.
Definition Item.h:182
ItemInternal * internal() const
Partie interne de l'entité.
Definition Item.h:354
constexpr Int32 localId() const
Identifiant local de l'entité dans le sous-domaine du processeur.
Definition Item.h:219
Edge toEdge() const
Converti l'entité en le genre Edge.
Definition Item.h:1688
Item(const ItemInternalPtr *internals, Int32 local_id)
Construit une référence à l'entité internal.
Definition Item.h:200
constexpr Integer _nbCell() const
Nombre de mailles connectées à l'entité (pour les noeuds, arêtes et faces)
Definition Item.h:445
Item()=default
Création d'une entité de maillage nulle.
constexpr bool isFace() const
true si l'entité est du genre Edge.
Definition Item.h:319
static String typeName(Int32 type)
Nom du type de maille cell_type.
Definition Item.cc:51
Int32 owner() const
Numéro du sous-domaine propriétaire de l'entité
Definition Item.h:238
ItemSharedInfo * m_shared_info
Infos partagées entre toutes les entités ayant les mêmes caractéristiques.
Definition Item.h:405
ItemLocalId LocalIdType
Type du localId()
Definition Item.h:108
constexpr bool isParticle() const
true is l'entité est du genre Particle.
Definition Item.h:325
ItemWithNodes toItemWithNodes() const
Converti l'entité en le genre ItemWithNodes.
Definition Item.h:1674
DoF toDoF() const
Converti l'entité en le genre DoF.
Definition Item.h:1716
Cell toCell() const
Converti l'entité en le genre Cell.
Definition Item.h:1702
@ Tri3
Elément de type triangle (3 sommets, 2D)
Definition Item.h:149
@ Quad4
Elément de type quad (4 sommets, 2D)
Definition Item.h:150
@ Pentagon5
Elément de type pentagone (5 sommets, 2D)
Definition Item.h:151
@ Unknown
Elément de type nul.
Definition Item.h:146
@ Pyramid
Elément de type pyramide (5 sommets, 3D)
Definition Item.h:154
@ Bar2
Elément de type arête (2 sommets, 1D, 2D et 3D)
Definition Item.h:148
@ Vertex
Elément de type noeud (1 sommet 1D, 2D et 3D)
Definition Item.h:147
@ Hexa
Elément de type hexaèdre (8 sommets, 3D)
Definition Item.h:156
@ Hexagon6
Elément de type hexagone (6 sommets, 2D)
Definition Item.h:152
@ Penta
Elément de type pentaèdre (6 sommets, 3D)
Definition Item.h:155
@ Wedge8
Elément de type prisme à 8 faces (base hexagonale)
Definition Item.h:158
@ Wedge7
Elément de type prisme à 7 faces (base pentagonale)
Definition Item.h:157
@ Tetra
Elément de type tétraédre (4 sommets, 3D)
Definition Item.h:153
constexpr Integer _nbFace() const
Nombre de faces de l'entité ou nombre de faces connectés à l'entités (pour les noeuds et arêtes)
Definition Item.h:443
IItemFamily * itemFamily() const
Famille dont est issue l'entité
Definition Item.h:247
constexpr Integer _nbEdge() const
Nombre d'arêtes de l'entité ou nombre d'arêtes connectés à l'entités (pour les noeuds)
Definition Item.h:441
Particle toParticle() const
Converti l'entité en le genre Particle.
Definition Item.h:1709
constexpr bool hasFlags(Int32 flags) const
Retourne si les flags flags sont positionnées pour l'entité
Definition Item.h:338
constexpr __host__ __device__ Item(const ItemBase &abase)
Construit une référence à l'entité abase.
Definition Item.h:193
constexpr bool isNode() const
true si l'entité est du genre Node.
Definition Item.h:301
ItemUniqueId uniqueId() const
Identifiant unique sur tous les domaines.
Definition Item.h:225
constexpr __host__ __device__ Item(Int32 local_id, ItemSharedInfo *shared_info)
Constructeur réservé pour les énumérateurs.
Definition Item.h:172
constexpr bool null() const
true si l'entité est nul (i.e. non connecté au maillage)
Definition Item.h:216
constexpr bool isItemWithNodes() const
true si l'entité est du genre ItemWithNodes.
Definition Item.h:294
constexpr Integer _nbNode() const
Nombre de noeuds de l'entité
Definition Item.h:439
constexpr ItemLocalId itemLocalId() const
Identifiant local de l'entité dans le sous-domaine du processeur.
Definition Item.h:222
Face toFace() const
Converti l'entité en le genre Edge.
Definition Item.h:1695
constexpr bool isOwn() const
true si l'entité est appartient au sous-domaine
Definition Item.h:253
Integer _nbParent() const
Nombre de parent pour les sous-maillages.
Definition Item.h:451
constexpr bool isCell() const
true si l'entité est du genre Cell.
Definition Item.h:307
Item parent(Int32 i) const
i-ème parent pour les sous-maillages
Definition Item.h:286
ItemTypeId itemTypeId() const
Type de l'entité
Definition Item.h:244
Item parent() const
premier parent pour les sous-maillages
Definition Item.h:289
Int32 m_local_id
Numéro local (au sous-domaine) de l'entité.
Definition Item.h:415
constexpr bool isEdge() const
true si l'entité est du genre Edge.
Definition Item.h:313
impl::ItemBase itemBase() const
Partie interne de l'entité.
Definition Item.h:369
bool isShared() const
Vrai si l'entité est partagé d'autres sous-domaines.
Definition Item.h:265
constexpr eItemKind kind() const
Genre de l'entité
Definition Item.h:250
Int32 _nbHChildren() const
Nombre d' enfants pour l'AMR.
Definition Item.h:449
constexpr Int32 _flags() const
Flags de l'entité
Definition Item.h:437
Int16 type() const
Type de l'entité
Definition Item.h:241
Int32 _nbLinearNode() const
Nombre de noeuds de l'entité
Definition Item.h:477
Item & operator=(ItemInternal *ainternal)
Opérateur de copie.
Definition Item.h:207
Node toNode() const
Converti l'entité en le genre Node.
Definition Item.h:1681
Noeud d'un maillage.
Definition Item.h:582
constexpr NodeLocalId itemLocalId() const
Identifiant local de l'entité dans le sous-domaine du processeur.
Definition Item.h:656
Cell cell(Int32 i) const
i-ème maille du noeud
Definition Item.h:1616
constexpr eItemKind kind() const
Genre de l'entité
Definition Item.h:653
FaceLocalIdView faceIds() const
Liste des faces du noeud.
Definition Item.h:698
Node(const ItemInternalPtr *internals, Int32 local_id)
Construit une référence à l'entité internal.
Definition Item.h:640
CellConnectedListViewType cells() const
Liste des mailles du noeud.
Definition Item.h:692
CellVectorView _internalActiveCells(Int32Array &local_ids) const
Enumére les mailles connectées au noeud.
Definition Item.h:706
constexpr Int32 nbFace() const
Nombre de faces connectées au noeud.
Definition Item.h:662
Node(ItemInternal *ainternal)
(deprecated) Construit une référence à l'entité internal
Definition Item.h:628
EdgeLocalIdView edgeIds() const
Liste des arêtes du noeud.
Definition Item.h:695
FaceLocalId faceId(Int32 i) const
i-ème face du noeud
Definition Item.h:680
constexpr Int32 nbEdge() const
Nombre d'arêtes connectées au noeud.
Definition Item.h:659
FaceConnectedListViewType faces() const
Liste des faces du noeud.
Definition Item.h:689
constexpr Node(Int32 local_id, ItemSharedInfo *shared_info)
Constructeur réservé pour les énumérateurs.
Definition Item.h:616
Node & operator=(ItemInternal *ainternal)
Opérateur de copie.
Definition Item.h:644
Face face(Int32 i) const
i-ème face du noeud
Definition Item.h:1610
constexpr Node(const Item &aitem)
Construit une référence à l'entité abase.
Definition Item.h:636
CellLocalIdView cellIds() const
Liste des mailles du noeud.
Definition Item.h:701
constexpr Node(const ItemBase &abase)
Construit une référence à l'entité abase.
Definition Item.h:632
Edge edge(Int32 i) const
i-ème arête du noeud
Definition Item.h:1604
Int32 nbCell() const
Nombre de mailles connectées au noeud.
Definition Item.h:665
EdgeConnectedListViewType edges() const
Liste des arêtes du noeud.
Definition Item.h:686
CellLocalId cellId(Int32 i) const
i-ème maille du noeud
Definition Item.h:683
EdgeLocalId edgeId(Int32 i) const
i-ème arête du noeud
Definition Item.h:677
NodeLocalId LocalIdType
Type du localId()
Definition Item.h:622
Particule.
Definition Item.h:1423
Particle()=default
Constructeur d'une particule nulle.
bool hasCell() const
Vrai si la particule est dans une maille du maillage.
Definition Item.h:1494
Particle(Int32 local_id, ItemSharedInfo *shared_info)
Constructeur réservé pour les énumérateurs.
Definition Item.h:1440
ParticleLocalId itemLocalId() const
Identifiant local de l'entité dans le sous-domaine du processeur.
Definition Item.h:1481
constexpr eItemKind kind() const
Genre de l'entité
Definition Item.h:1478
Cell cell() const
Maille à laquelle appartient la particule. Il faut appeler setCell() avant d'appeler cette fonction....
Definition Item.h:1488
CellLocalId cellId() const
Maille connectée à la particule.
Definition Item.h:1491
Particle(const ItemInternalPtr *internals, Int32 local_id)
Construit une référence à l'entité internal.
Definition Item.h:1464
constexpr Particle(const ItemBase &abase)
Construit une référence à l'entité abase.
Definition Item.h:1456
Cell cellOrNull() const
Maille à laquelle appartient la particule ou maille nulle. Retourne cell() si la particule est dans u...
Definition Item.h:1501
Particle & operator=(ItemInternal *ainternal)
Opérateur de copie.
Definition Item.h:1469
ParticleLocalId LocalIdType
Type du localId()
Definition Item.h:1446
constexpr Particle(const Item &aitem)
Construit une référence à l'entité aitem.
Definition Item.h:1460
Particle(ItemInternal *ainternal)
(deprecated) Construit une référence à l'entité internal
Definition Item.h:1452
Gère un vecteur d'entité ItemType.
Definition SimdItem.h:236
Chaîne de caractères unicode.
ItemLocalIdListViewT< Node > NodeLocalIdView
Vue sur les localId() d'une liste de noeuds.
Definition ItemTypes.h:407
ItemVectorViewT< Cell > CellVectorView
Vue sur un vecteur de mailles.
Definition ItemTypes.h:304
ItemLocalIdListViewT< Edge > EdgeLocalIdView
Vue sur les localId() d'une liste d'arêtes.
Definition ItemTypes.h:417
ItemLocalIdListViewT< Face > FaceLocalIdView
Vue sur les localId() d'une liste de faces.
Definition ItemTypes.h:427
ItemLocalIdListViewT< Cell > CellLocalIdView
Vue sur les localId() d'une liste de mailles.
Definition ItemTypes.h:437
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
NodeConnectedListView NodeConnectedListViewType
Liste de noeuds connectés.
Definition ItemTypes.h:349
Int32 Integer
Type représentant un entier.
CellConnectedListView CellConnectedListViewType
Liste de mailles connectées.
Definition ItemTypes.h:355
bool operator<(const Item &item1, const Item &item2)
Compare deux entités.
Definition Item.h:551
eItemKind
Genre d'entité de maillage.
@ IK_Particle
Entité de maillage de genre particule.
@ IK_Node
Entité de maillage de genre noeud.
@ IK_Cell
Entité de maillage de genre maille.
@ IK_Unknown
Entité de maillage de genre inconnu ou non initialisé
@ IK_Face
Entité de maillage de genre face.
@ IK_DoF
Entité de maillage de genre degre de liberte.
@ IK_Edge
Entité de maillage de genre arête.
std::int16_t Int16
Type entier signé sur 16 bits.
Array< Int32 > Int32Array
Tableau dynamique à une dimension d'entiers 32 bits.
Definition UtilsTypes.h:143
EdgeConnectedListView EdgeConnectedListViewType
Liste d'arêtes connectées.
Definition ItemTypes.h:351
FaceConnectedListView FaceConnectedListViewType
Liste de faces connectées.
Definition ItemTypes.h:353
@ Cell
Le maillage est AMR par maille.
Definition MeshKind.h:52
std::int32_t Int32
Type entier signé sur 32 bits.