Skip to content

Commit

Permalink
Merge pull request #1647 from arcaneframework/dev/gg-make-itemfamilyi…
Browse files Browse the repository at this point in the history
…nfo-method-infos-deprecated

Make method 'ItemFamily::infos()' deprecated
  • Loading branch information
grospelliergilles authored Sep 27, 2024
2 parents eded7e4 + 2747ffa commit 3f446d8
Show file tree
Hide file tree
Showing 8 changed files with 70 additions and 57 deletions.
33 changes: 16 additions & 17 deletions arcane/src/arcane/core/IItemFamilySerializer.h
Original file line number Diff line number Diff line change
@@ -1,29 +1,28 @@
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
//-----------------------------------------------------------------------------
// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
// Copyright 2000-2024 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
// See the top-level COPYRIGHT file for details.
// SPDX-License-Identifier: Apache-2.0
//-----------------------------------------------------------------------------
/*---------------------------------------------------------------------------*/
/* IItemFamilySerializer.h (C) 2011-2016 */
/* IItemFamilySerializer.h (C) 2011-2024 */
/* */
/* Gère la sérialisation/désérialisation des entités d'une famille. */
/*---------------------------------------------------------------------------*/
#ifndef ARCANE_IITEMFAMILYSERIALIZER_H
#define ARCANE_IITEMFAMILYSERIALIZER_H
#ifndef ARCANE_CORE_IITEMFAMILYSERIALIZER_H
#define ARCANE_CORE_IITEMFAMILYSERIALIZER_H
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/

#include "arcane/utils/ArrayView.h"

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/

ARCANE_BEGIN_NAMESPACE
#include "arcane/core/ArcaneTypes.h"

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/

namespace Arcane
{
class IItemFamily;

/*---------------------------------------------------------------------------*/
Expand All @@ -34,9 +33,9 @@ class IItemFamily;
class ARCANE_CORE_EXPORT IItemFamilySerializer
{
public:
virtual ~IItemFamilySerializer(){}

virtual ~IItemFamilySerializer() = default;

public:

/*!
Expand All @@ -45,40 +44,40 @@ class ARCANE_CORE_EXPORT IItemFamilySerializer
* En mode 'Put' ou 'Reserve', \a items contient les numéros locaux des mailles.
* En mode 'Get', appelle \a deserializeItems() et \a items est inutilisé.
*/
virtual void serializeItems(ISerializer* buf,Int32ConstArrayView items) =0;
virtual void serializeItems(ISerializer* buf, Int32ConstArrayView items) = 0;

/*!
* \brief Désérialise depuis \a buf les entités de la famille \a family().
*
* Si \a items_lid n'est pas nul, contient en retour les numéros locaux
* des mailles désérialisées.
*/
virtual void deserializeItems(ISerializer* buf,Int32Array* items_lid) =0;
virtual void deserializeItems(ISerializer* buf, Int32Array* items_lid) = 0;

/*!
* \brief Sérialise dans \a buf les relations des entités de la famille \a family().
*
* En mode 'Put' ou 'Reserve', \a items contient les numéros locaux des mailles.
* En mode 'Get', appelle \a deserializeItemRelations() et \a items est inutilisé.
*/
virtual void serializeItemRelations(ISerializer* buf,Int32ConstArrayView items) =0;
virtual void serializeItemRelations(ISerializer* buf, Int32ConstArrayView items) = 0;

/*!
* \brief Désérialise les relations depuis \a buf les entités de la famille \a family().
*
* Si \a items_lid n'est pas nul, contient en retour les numéros locaux
* des mailles dont les relations ont été désérialisées.
*/
virtual void deserializeItemRelations(ISerializer* buf,Int32Array* items_lid) =0;
virtual void deserializeItemRelations(ISerializer* buf, Int32Array* items_lid) = 0;

//! Famille associée
virtual IItemFamily* family() const =0;
virtual IItemFamily* family() const = 0;
};

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/

ARCANE_END_NAMESPACE
} // namespace Arcane

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
Expand Down
18 changes: 9 additions & 9 deletions arcane/src/arcane/mesh/CellFamilySerializer.cc
Original file line number Diff line number Diff line change
@@ -1,25 +1,26 @@
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
//-----------------------------------------------------------------------------
// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
// Copyright 2000-2024 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
// See the top-level COPYRIGHT file for details.
// SPDX-License-Identifier: Apache-2.0
//-----------------------------------------------------------------------------
/*---------------------------------------------------------------------------*/
/* CellFamilySerializer.cc (C) 2000-2021 */
/* CellFamilySerializer.cc (C) 2000-2024 */
/* */
/* Sérialisation/Désérialisation des familles de mailles. */
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/

#include "arcane/ISerializer.h"
#include "arcane/ItemPrinter.h"
#include "arcane/IMesh.h"
#include "arcane/MeshPartInfo.h"
#include "arcane/mesh/CellFamilySerializer.h"

#include "arcane/core/ISerializer.h"
#include "arcane/core/ItemPrinter.h"
#include "arcane/core/IMesh.h"
#include "arcane/core/MeshPartInfo.h"

#include "arcane/mesh/FullItemInfo.h"
#include "arcane/mesh/DynamicMeshIncrementalBuilder.h"
#include "arcane/mesh/OneMeshItemAdder.h"
#include "arcane/mesh/CellFamilySerializer.h"

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
Expand Down Expand Up @@ -209,8 +210,7 @@ deserializeItems(ISerializer* buf,Int32Array* cells_local_id)
}
}
}
info(4) << "EndDeserializeCells: nb_cell=" << nb_cell << " orig=" << orig_rank
<< " nb_added=" << m_family->infos().addedItems().size();
info(4) << "EndDeserializeCells: nb_cell=" << nb_cell << " orig=" << orig_rank;
}

/*---------------------------------------------------------------------------*/
Expand Down
40 changes: 24 additions & 16 deletions arcane/src/arcane/mesh/CellFamilySerializer.h
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
//-----------------------------------------------------------------------------
// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
// Copyright 2000-2024 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
// See the top-level COPYRIGHT file for details.
// SPDX-License-Identifier: Apache-2.0
//-----------------------------------------------------------------------------
/*---------------------------------------------------------------------------*/
/* CellFamilySerializer.h (C) 2000-2016 */
/* CellFamilySerializer.h (C) 2000-2024 */
/* */
/* Sérialisation/Désérialisation des familles de mailles. */
/*---------------------------------------------------------------------------*/
Expand All @@ -16,17 +16,13 @@

#include "arcane/utils/TraceAccessor.h"

#include "arcane/IItemFamilySerializer.h"
#include "arcane/core/IItemFamilySerializer.h"

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/

ARCANE_BEGIN_NAMESPACE

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/

ARCANE_MESH_BEGIN_NAMESPACE
namespace Arcane::mesh
{

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
Expand All @@ -44,15 +40,28 @@ class ARCANE_MESH_EXPORT CellFamilySerializer
, public IItemFamilySerializer
{
public:
CellFamilySerializer(CellFamily* family,bool use_flags,

CellFamilySerializer(CellFamily* family, bool use_flags,
DynamicMeshIncrementalBuilder* mesh_builder);

public:
void serializeItems(ISerializer* buf,Int32ConstArrayView cells_local_id) override;
void deserializeItems(ISerializer* buf,Int32Array* cells_local_id) override;
void serializeItemRelations(ISerializer* buf,Int32ConstArrayView cells_local_id) override {ARCANE_UNUSED(buf);ARCANE_UNUSED(cells_local_id);}
void deserializeItemRelations(ISerializer* buf,Int32Array* cells_local_id) override {ARCANE_UNUSED(buf);ARCANE_UNUSED(cells_local_id);}

void serializeItems(ISerializer* buf, Int32ConstArrayView cells_local_id) override;
void deserializeItems(ISerializer* buf, Int32Array* cells_local_id) override;
void serializeItemRelations(ISerializer* buf, Int32ConstArrayView cells_local_id) override
{
ARCANE_UNUSED(buf);
ARCANE_UNUSED(cells_local_id);
}
void deserializeItemRelations(ISerializer* buf, Int32Array* cells_local_id) override
{
ARCANE_UNUSED(buf);
ARCANE_UNUSED(cells_local_id);
}
IItemFamily* family() const override;

private:

DynamicMeshIncrementalBuilder* m_mesh_builder;
CellFamily* m_family;
bool m_use_flags;
Expand All @@ -61,8 +70,7 @@ class ARCANE_MESH_EXPORT CellFamilySerializer
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/

ARCANE_MESH_END_NAMESPACE
ARCANE_END_NAMESPACE
} // namespace Arcane::mesh

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
Expand Down
9 changes: 4 additions & 5 deletions arcane/src/arcane/mesh/DoFFamily.cc
Original file line number Diff line number Diff line change
Expand Up @@ -163,15 +163,14 @@ computeSynchronizeInfos()
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/

void
DoFFamily::
void DoFFamily::
_printInfos(Integer nb_added)
{
Integer nb_in_map = itemsMap().count();

info() << "DoFFamily: added=" << nb_added
<< " nb_internal=" << infos().m_internals.size()
<< " nb_free=" << infos().m_free_internals.size()
<< " nb_internal=" << _infos().m_internals.size()
<< " nb_free=" << _infos().m_free_internals.size()
<< " map_nb_bucket=" << itemsMap().nbBucket()
<< " map_size=" << nb_in_map;
}
Expand All @@ -184,7 +183,7 @@ preAllocate(Integer nb_item)
{
// Copy paste de particle, pas utilise pour l'instant
Integer nb_hash = itemsMap().nbBucket();
Integer wanted_size = 2*(nb_item+infos().nbItem());
Integer wanted_size = 2 * (nb_item + nbItem());
if (nb_hash<wanted_size)
itemsMap().resize(wanted_size,true);
}
Expand Down
6 changes: 6 additions & 0 deletions arcane/src/arcane/mesh/ItemFamily.cc
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,12 @@ infos() const
return *m_infos;
}

const DynamicMeshKindInfos& ItemFamily::
_infos() const
{
return *m_infos;
}

void ItemFamily::
_removeOne(Item item)
{
Expand Down
13 changes: 7 additions & 6 deletions arcane/src/arcane/mesh/ItemFamily.h
Original file line number Diff line number Diff line change
Expand Up @@ -216,11 +216,15 @@ class ARCANE_MESH_EXPORT ItemFamily
void compactItems(bool do_sort) override;
void clearItems() override;

const DynamicMeshKindInfos& infos() const;
Int64ArrayView* uniqueIds();

ItemSharedInfo* commonItemSharedInfo() { return m_common_item_shared_info; }

public:

ARCANE_DEPRECATED_REASON("Y2024: This method is internal to Arcane. Use _infos() instead.")
const DynamicMeshKindInfos& infos() const;

public:

void setHasUniqueIdMap(bool v) override;
Expand All @@ -237,10 +241,6 @@ class ARCANE_MESH_EXPORT ItemFamily
void reduceFromGhostItems(IVariable* v,IDataOperation* operation) override;
void reduceFromGhostItems(IVariable* v,Parallel::eReduceType operation) override;

public:

GroupIndexTable* localIdToIndex(ItemGroup group);

public:

ItemPairGroup findAdjencyItems(const ItemGroup& group,
Expand Down Expand Up @@ -279,7 +279,7 @@ class ARCANE_MESH_EXPORT ItemFamily
{
_removeOne(item);
}
//! Accesseur pour les connectités via Item et ItemInternal
//! Accesseur pour les connectivités via Item et ItemInternal
ItemInternalConnectivityList* itemInternalConnectivityList()
{
return &m_item_connectivity_list;
Expand All @@ -297,6 +297,7 @@ class ARCANE_MESH_EXPORT ItemFamily
void _setHasUniqueIdMap(bool v);
void _removeMany(Int32ConstArrayView local_ids);
void _removeDetachedOne(Item item);
const DynamicMeshKindInfos& _infos() const;

void _detachCells2(Int32ConstArrayView local_ids);

Expand Down
6 changes: 3 additions & 3 deletions arcane/src/arcane/mesh/ParticleFamily.cc
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@ removeParticles(Int32ConstArrayView items_local_id)
void ParticleFamily::
prepareForDump()
{
Integer nb_item = infos().nbItem();
Integer nb_item = nbItem();
info(4) << "ParticleFamily::prepareForDump: " << name()
<< " n=" << nb_item;
ItemFamily::prepareForDump();
Expand All @@ -378,7 +378,7 @@ void ParticleFamily::
preAllocate(Integer nb_item)
{
Integer nb_hash = itemsMap().nbBucket();
Integer wanted_size = 2 * (nb_item + infos().nbItem());
Integer wanted_size = 2 * (nb_item + nbItem());
if (nb_hash < wanted_size)
itemsMap().resize(wanted_size, true);
}
Expand All @@ -399,7 +399,7 @@ setHasUniqueIdMap(bool v)
bool ParticleFamily::
hasUniqueIdMap() const
{
return infos().hasUniqueIdMap();
return _infos().hasUniqueIdMap();
}

/*---------------------------------------------------------------------------*/
Expand Down
2 changes: 1 addition & 1 deletion arcane/src/arcane/mesh/PolyhedralMesh.cc
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ namespace mesh
void preAllocate(Integer nb_item)
{
Integer nb_hash = itemsMap().nbBucket();
Integer wanted_size = 2 * (nb_item + infos().nbItem());
Integer wanted_size = 2 * (nb_item + nbItem());
if (nb_hash < wanted_size)
itemsMap().resize(wanted_size, true);
m_empty_connectivity_indexes.resize(nb_item + nbItem(), 0);
Expand Down

0 comments on commit 3f446d8

Please sign in to comment.