Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
ICaseMeshService.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 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/* ICaseMeshService.h (C) 2000-2024 */
9/* */
10/* Interface du service gérant un maillage du jeu de données. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ICASEMESHSERVICE_H
13#define ARCANE_CORE_ICASEMESHSERVICE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \brief Interface du service gérant les maillages du jeu de données.
29 *
30 * La création et l'initialisation se fait en 3 phases:
31 * - une première phase lors de l'appel à createMesh() où le maillage est
32 * créé.. Dans cette phase, seule la classe gérant les maillage est créée
33 * mais ces derniers ne sont pas encore utilisables.
34 * - une deuxième phase lors de l'appel à allocateMeshItems() où le maillage
35 * est alloué et initialisé. Cela correspond soit à la lecture du maillage,
36 * soit à la création dynamique des entités.
37 * - une troisième phase qui consiste à partitionner le maillage si le code
38 * s'exécute en parallèle.
39 * - une quatrième phase qui permet d'effectuer un traitement sur le maillage
40 * créé comme par exemple une sub-division.
41 */
43{
44 public:
45
46 virtual ~ICaseMeshService() = default;
47
48 public:
49
50 //! Créé le maillage avec le nom \a name
51 virtual void createMesh(const String& name) = 0;
52
53 //! Alloue les éléments du maillage
54 virtual void allocateMeshItems() = 0;
55
56 //! Partitionne le maillage.
57 virtual void partitionMesh() = 0;
58
59 //! Applique les opérations après tout le reste.
60 virtual void applyAdditionalOperations() {}
61};
62
63/*---------------------------------------------------------------------------*/
64/*---------------------------------------------------------------------------*/
65
66} // End namespace Arcane
67
68/*---------------------------------------------------------------------------*/
69/*---------------------------------------------------------------------------*/
70
71#endif
Déclarations des types généraux de Arcane.
Interface du service gérant les maillages du jeu de données.
virtual void applyAdditionalOperations()
Applique les opérations après tout le reste.
virtual void createMesh(const String &name)=0
Créé le maillage avec le nom name.
virtual void partitionMesh()=0
Partitionne le maillage.
virtual void allocateMeshItems()=0
Alloue les éléments du maillage.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-