Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ItemFamilyCompactPolicy.cc
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* ItemFamilyCompactPolicy.cc (C) 2000-2022 */
9/* */
10/* Politique de compactage des entités. */
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
14#include "arcane/IMesh.h"
15#include "arcane/IMeshCompacter.h"
16#include "arcane/ItemFamilyCompactInfos.h"
17
18#include "arcane/mesh/ItemFamilyCompactPolicy.h"
19#include "arcane/mesh/ItemFamily.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane::mesh
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30ItemFamilyCompactPolicy::
31ItemFamilyCompactPolicy(ItemFamily* family)
32: TraceAccessor(family->traceMng())
33, m_family(family)
34{
35}
36
37/*---------------------------------------------------------------------------*/
38/*---------------------------------------------------------------------------*/
39
40void ItemFamilyCompactPolicy::
41beginCompact(ItemFamilyCompactInfos& compact_infos)
42{
43 m_family->beginCompactItems(compact_infos);
44}
45
46/*---------------------------------------------------------------------------*/
47/*---------------------------------------------------------------------------*/
48
49void ItemFamilyCompactPolicy::
50compactVariablesAndGroups(const ItemFamilyCompactInfos& compact_infos)
51{
52 m_family->compactVariablesAndGroups(compact_infos);
53}
54
55/*---------------------------------------------------------------------------*/
56/*---------------------------------------------------------------------------*/
57
58void ItemFamilyCompactPolicy::
59endCompact(ItemFamilyCompactInfos& compact_infos)
60{
61 m_family->finishCompactItems(compact_infos);
62}
63
64/*---------------------------------------------------------------------------*/
65/*---------------------------------------------------------------------------*/
66
67void ItemFamilyCompactPolicy::
68compactConnectivityData()
69{
70}
71
72/*---------------------------------------------------------------------------*/
73/*---------------------------------------------------------------------------*/
74
75IItemFamily* ItemFamilyCompactPolicy::
76family() const
77{
78 return m_family;
79}
80
81/*---------------------------------------------------------------------------*/
82/*---------------------------------------------------------------------------*/
83
84/*---------------------------------------------------------------------------*/
85/*---------------------------------------------------------------------------*/
86
87StandardItemFamilyCompactPolicy::
88StandardItemFamilyCompactPolicy(ItemFamily* family)
90{
91 IMesh* mesh = family->mesh();
92
93 m_node_family = mesh->nodeFamily();
94 m_edge_family = mesh->edgeFamily();
95 m_face_family = mesh->faceFamily();
96 m_cell_family = mesh->cellFamily();
97}
98
99/*---------------------------------------------------------------------------*/
100/*---------------------------------------------------------------------------*/
101
102void StandardItemFamilyCompactPolicy::
103updateInternalReferences(IMeshCompacter*)
104{
105}
106
107/*---------------------------------------------------------------------------*/
108/*---------------------------------------------------------------------------*/
109
110} // End namespace Arcane::mesh
111
112/*---------------------------------------------------------------------------*/
113/*---------------------------------------------------------------------------*/
Interface d'une famille d'entités.
virtual IMesh * mesh() const =0
Maillage associé
virtual IItemFamily * nodeFamily()=0
Retourne la famille des noeuds.
virtual IItemFamily * edgeFamily()=0
Retourne la famille des arêtes.
virtual IItemFamily * faceFamily()=0
Retourne la famille des faces.
virtual IItemFamily * cellFamily()=0
Retourne la famille des mailles.
Gestion d'un compactage de familles du maillage.
Classe de base des politiques de compactage des entités.
IItemFamily * family() const override
Famille associée.
Famille d'entités.
Definition ItemFamily.h:76