12#ifndef ARCANE_MESH_NEWITEMOWNERBUILDER_H
13#define ARCANE_MESH_NEWITEMOWNERBUILDER_H
18#include "arcane/mesh/MeshGlobal.h"
20#include "arcane/core/Item.h"
44class NewItemOwnerBuilder
48 NewItemOwnerBuilder() {}
52 inline Cell connectedCellOfItem(
const T& item)
const;
57 inline Integer ownerOfItem(
const T& item)
const
59 return connectedCellOfItem(item).owner();
68 inline Cell _minimumUniqueIdCellOfItem(
const T& item)
const
70 Cell cell = item.cell(0);
71 for (
Cell item_cell : item.cells()) {
72 if (item_cell.uniqueId() < cell.
uniqueId())
81inline Cell NewItemOwnerBuilder::connectedCellOfItem<Node>(
const Node& node)
const
83 return _minimumUniqueIdCellOfItem(node);
88inline Cell NewItemOwnerBuilder::connectedCellOfItem<Edge>(
const Edge& edge)
const
90 return _minimumUniqueIdCellOfItem(edge);
95inline Cell NewItemOwnerBuilder::connectedCellOfItem<Face>(
const Face& face)
const
97 Cell cell = face.backCell();
99 cell = face.frontCell();
103inline Cell NewItemOwnerBuilder::connectedCellOfItem<Particle>(
const Particle& particle)
const
105 return particle.cell();
ItemUniqueId uniqueId() const
Unique identifier across all domains.
Int32 Integer
Type representing an integer.
@ Cell
The mesh is AMR by cell.