Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make method 'ItemFamily::infos()' deprecated #1647

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/

void
DoFFamily::
void DoFFamily::

Check warning on line 166 in arcane/src/arcane/mesh/DoFFamily.cc

View check run for this annotation

Codecov / codecov/patch

arcane/src/arcane/mesh/DoFFamily.cc#L166

Added line #L166 was not covered by tests
_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()

Check warning on line 173 in arcane/src/arcane/mesh/DoFFamily.cc

View check run for this annotation

Codecov / codecov/patch

arcane/src/arcane/mesh/DoFFamily.cc#L172-L173

Added lines #L172 - L173 were not covered by tests
<< " map_nb_bucket=" << itemsMap().nbBucket()
<< " map_size=" << nb_in_map;
}
Expand All @@ -184,7 +183,7 @@
{
// 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 @@
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());

Check warning on line 99 in arcane/src/arcane/mesh/PolyhedralMesh.cc

View check run for this annotation

Codecov / codecov/patch

arcane/src/arcane/mesh/PolyhedralMesh.cc#L99

Added line #L99 was not covered by tests
if (nb_hash < wanted_size)
itemsMap().resize(wanted_size, true);
m_empty_connectivity_indexes.resize(nb_item + nbItem(), 0);
Expand Down
Loading