Arcane  v3.15.3.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IMeshUniqueIdMng.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/* IMeshUniqueIdMng.h (C) 2000-2025 */
9/* */
10/* Interface du gestionnaire de numérotation des uniqueId() d'un maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMESHUNIQUEIDMNG_H
13#define ARCANE_IMESHUNIQUEIDMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \internal
29 *
30 * Interface du gestionnaire de numérotation des uniqueId() des entités
31 * d'un maillage.
32 *
33 * Ce gestionnaire permet de gérer le calcul des uniqueId() des entités
34 * du maillages qui sont implicitement créées comme les faces ou les arêtes.
35 */
36class ARCANE_CORE_EXPORT IMeshUniqueIdMng
37{
38 public:
39
40 //! Libère les ressources
41 virtual ~IMeshUniqueIdMng() = default;
42
43 public:
44
45 /*!
46 * \brief Positionne la version de la numérotation des faces.
47 *
48 * Les valeurs valides sont 0, 1, 2 et 3. La valeur par défaut est 1.
49 * Si la version vaut 0 alors il n'y a pas de renumérotation. En parallèle,
50 * il faut alors que les uniqueId() des faces soient cohérents entre
51 * les sous-domaines.
52 */
53 virtual void setFaceBuilderVersion(Integer n) = 0;
54
55 //! Version de la numérotation des faces.
56 virtual Integer faceBuilderVersion() const = 0;
57
58 /*!
59 * \brief Positionne la version de la numérotation des arêtes.
60 *
61 * Les valeurs valides sont 0, 1 et 2. La valeur 1 fonctionne quel que
62 * soit le nombre de mailles mais il faut que le maillage soit lu par
63 * un seul processeur. La valeur 2 ne fonctionne que si le maximum des
64 * uniqueId() des noeuds ne dépasse pas 2^31.
65 *
66 * Si la version vaut 0 alors il n'y a pas de renumérotation. En parallèle,
67 * il faut alors que les uniqueId() des faces soient cohérents entre
68 * les sous-domaines.
69 */
70 virtual void setEdgeBuilderVersion(Integer n) = 0;
71
72 //! Version de la numérotation des arêtes
73 virtual Integer edgeBuilderVersion() const = 0;
74
75 /*!
76 * \brief Indique si on détermine les uniqueId() des arêtes et des faces en
77 * fonction des uniqueId() des noeuds qui les constituent.
78 *
79 * Cette méthode doit être appelée avant de positionner la dimension
80 * du maillage (IPrimaryMesh::setDimension()).
81 *
82 * Si actif, lors de la création à la volée d'une arête ou d'une face
83 * on utilise MeshUtils::generateHashUniqueId() pour générer le uniqueId()
84 * de l'entité. Cela permet en parallèle de créer automatiquement
85 * les arêtes ou les faces.
86 *
87 * \warning Si ce mécanisme est utilisé, il ne faut pas le mélanger
88 * avec la création manuelle des arêtes ou des faces (via IMeshModifier)
89 * ou alors il faut utiliser MeshUtils::generateHashUniqueId() pour générer
90 * le même identifiant que celui créé à la volée.
91 */
93
94 //! Indique le mécanisme utilisé pour numéroter les arêtes ou les faces
96};
97
98/*---------------------------------------------------------------------------*/
99/*---------------------------------------------------------------------------*/
100
101} // End namespace Arcane
102
103/*---------------------------------------------------------------------------*/
104/*---------------------------------------------------------------------------*/
105
106#endif
Déclarations des types généraux de Arcane.
virtual void setFaceBuilderVersion(Integer n)=0
Positionne la version de la numérotation des faces.
virtual void setEdgeBuilderVersion(Integer n)=0
Positionne la version de la numérotation des arêtes.
virtual bool isUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId() const =0
Indique le mécanisme utilisé pour numéroter les arêtes ou les faces.
virtual void setUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId(bool v)=0
Indique si on détermine les uniqueId() des arêtes et des faces en fonction des uniqueId() des noeuds ...
virtual Integer edgeBuilderVersion() const =0
Version de la numérotation des arêtes.
virtual Integer faceBuilderVersion() const =0
Version de la numérotation des faces.
virtual ~IMeshUniqueIdMng()=default
Libère les ressources.
Référence à une instance.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-