14#include "arcane/core/ExternalPartitionConstraint.h"
16#include "arcane/utils/ITraceMng.h"
17#include "arcane/utils/NotImplementedException.h"
19#include "arcane/core/IMesh.h"
20#include "arcane/core/IMeshPartitionConstraint.h"
34 m_mesh->traceMng()->info() <<
"ExternalPartitionConstraint::addLinkedCells(...)";
39 filtre_cell.
resize(m_mesh->allCells().size());
41 filtre_cell.
fill(marque);
48 if (group.itemKind() ==
IK_Cell) {
55 else if (group.itemKind() ==
IK_Face) {
58 for (
Node node : iface->nodes()) {
59 for (
Cell cell : node.cells()) {
60 if (filtre_cell[cell.localId()] != marque) {
62 filtre_cell[cell.localId()] = marque;
68 else if (group.itemKind() ==
IK_Node) {
70 for (
Cell cell : inode->cells()) {
76 if (cells.
size() == 0)
80 Cell cell0 = cells[0];
87 linked_cells.
add(uid0);
88 linked_cells.
add(uidi);
91 linked_cells.
add(uidi);
92 linked_cells.
add(uid0);
94 linked_owners.
add(owner0);
97 m_mesh->traceMng()->info() <<
"cells.size() = " << cells.
size();
Integer size() const
Number of elements in the vector.
void fill(ConstReferenceType value)
Fills the array with the value value.
void resize(Int64 s)
Changes the number of elements in the array to s.
void add(ConstReferenceType val)
Adds element val to the end of the array.
virtual void addLinkedCells(Int64Array &linked_cells, Int32Array &linked_owners)
Adds a set of constraints on the cells.
Unique identifier of an entity.
Int32 owner() const
Owner subdomain number of the entity.
ItemUniqueId uniqueId() const
Unique identifier across all domains.
1D data vector with value semantics (STL style).
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Array< Int64 > Int64Array
Dynamic one-dimensional array of 64-bit integers.
Int32 Integer
Type representing an integer.
@ IK_Node
Node mesh entity.
@ IK_Cell
Cell mesh entity.
@ IK_Face
Face mesh entity.
Array< Int32 > Int32Array
Dynamic one-dimensional array of 32-bit integers.
std::int32_t Int32
Signed integer type of 32 bits.