Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
ICaseMeshMasterService.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/* ICaseMeshMasterService.h (C) 2000-2024 */
9/* */
10/* Interface du service gérant les maillages du jeu de données. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ICASEMESHMASTERSERVICE_H
13#define ARCANE_CORE_ICASEMESHMASTERSERVICE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \internal
29 * \brief Interface du service gérant les maillages du jeu de données.
30 *
31 * Ce service gère les différents services de création/lecture de maillage.
32 *
33 * Cela se fait en deux phases:
34 * - une première phase lors de l'appel à createMeshes() où l'ensemble des
35 * maillages issus du jeu de données est créée. Dans cette phase, seule
36 * la classe gérant les maillage est créé mais ces derniers ne sont pas
37 * encore utilisables.
38 * - une deuxième phase lors de l'appel à allocateMeshes() où les maillages
39 * sont effectivement alloués. Cela correspond soit à la lecture des maillage,
40 * soit à la création effective des entités qu'ils gèrent.
41 *
42 * Il existe une troisième phase optionnelle qui n'est effectuée que en
43 * parallèle et qui consiste à partitionner les maillages, via l'appel
44 * à partitionMeshes().
45 *
46 * Enfin, il est possible d'appliquer à la fin de la création du maillage
47 * un traitement supplémentaire sur le maillage. Par exemple, il est possible
48 * de subdiviser le maillage actuel. Cela se fait par l'appel à
49 * applyAdditionalOperationsOnMeshes().
50 */
52{
53 public:
54
55 virtual ~ICaseMeshMasterService() = default;
56
57 public:
58
59 //! Créé les maillages
60 virtual void createMeshes() =0;
61 //! Créé les maillages
62 virtual void allocateMeshes() =0;
63 //! Partitionne les maillages
64 virtual void partitionMeshes() =0;
65 //! Applique les éventuelles opérations additionnelles sur le maillage crée.
67
68 public:
69
70 virtual ICaseOptions* _options() = 0;
71};
72
73/*---------------------------------------------------------------------------*/
74/*---------------------------------------------------------------------------*/
75
76} // namespace Arcane
77
78/*---------------------------------------------------------------------------*/
79/*---------------------------------------------------------------------------*/
80
81#endif
Déclarations des types généraux de Arcane.
virtual void createMeshes()=0
Créé les maillages.
virtual void applyAdditionalOperationsOnMeshes()
Applique les éventuelles opérations additionnelles sur le maillage crée.
virtual void partitionMeshes()=0
Partitionne les maillages.
virtual void allocateMeshes()=0
Créé les maillages.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-