Interface of a particle family. More...
#include <arcane/core/IParticleFamily.h>
Public Member Functions | |
| virtual void | build ()=0 |
| virtual void | setEnableGhostItems (bool value)=0 |
| Sets the flag to manage ghost particles for the family. | |
| virtual bool | getEnableGhostItems () const =0 |
| Retrieves the flag to manage ghost particles for the family. | |
| virtual String | name () const =0 |
| Name of the family. | |
| virtual String | fullName () const =0 |
| Full name of the family (including the mesh name). | |
| virtual Integer | nbItem () const =0 |
| Number of entities. | |
| virtual ItemGroup | allItems () const =0 |
| Group of all particles. | |
| virtual ParticleVectorView | addParticles (Int64ConstArrayView unique_ids, Int32ArrayView items_local_id)=0 |
| Allocates particles. | |
| virtual ParticleVectorView | addParticles2 (Int64ConstArrayView unique_ids, Int32ConstArrayView owners, Int32ArrayView items)=0 |
| virtual ParticleVectorView | addParticles (Int64ConstArrayView unique_ids, Int32ConstArrayView cells_local_id, Int32ArrayView items_local_id)=0 |
| Allocates particles in cells. | |
| virtual void | removeParticles (Int32ConstArrayView items_local_id)=0 |
| virtual void | endUpdate ()=0 |
| virtual void | setParticleCell (Particle particle, Cell new_cell)=0 |
| Moves the particle particle into the cell new_cell. | |
| virtual void | setParticlesCell (ParticleVectorView particles, CellVectorView new_cells)=0 |
| Moves the list of particles particles into the new cells new_cells. | |
| virtual void | exchangeParticles ()=0 |
| Exchanging entities. | |
| virtual IItemFamily * | itemFamily ()=0 |
| Interface on the family. | |
Interface of a particle family.
A particle family is a family of entities (IItemFamily). This interface only contains methods specific to particles. For generic entity operations, you must go through the IItemFamily interface via itemFamily().
There can be several particle families per mesh. Unlike classical mesh entities (node, cell, ...), particles can be created directly.
Definition at line 43 of file IParticleFamily.h.
|
inlinevirtual |
Definition at line 47 of file IParticleFamily.h.
|
pure virtual |
Allocates particles.
Allocates particles whose uniqueId() are given by the array unique_ids.
After calling this operation, you must call endUpdate() to notify the instance that modifications are finished. It is possible to chain several allocations before calling endUpdate(). Note that the returned view may be invalidated after calling endUpdate() if compression is active. items_local_id must have the same number of elements as unique_ids.
Implemented in Arcane::mesh::ParticleFamily.
|
pure virtual |
Allocates particles in cells.
This method is similar to addParticles() but allows specifying directly the cells in which the particles will be created.
Implemented in Arcane::mesh::ParticleFamily.
|
pure virtual |
Group of all particles.
Implemented in Arcane::mesh::ParticleFamily.
|
pure virtual |
Implemented in Arcane::mesh::ParticleFamily.
|
pure virtual |
Exchanging entities.
This method is only supported for particle families. For mesh elements such as nodes, faces, or cells, you must use IMesh::exchangeItems().
The new owners of the entities are given by itemsNewOwner().
This operation is blocking and collective.
Implemented in Arcane::mesh::ParticleFamily.
Referenced by Arcane::BasicRayMeshIntersection::compute().
|
pure virtual |
Full name of the family (including the mesh name).
Implemented in Arcane::mesh::ParticleFamily.
|
pure virtual |
Retrieves the flag to manage ghost particles for the family.
Implemented in Arcane::mesh::ParticleFamily.
Referenced by Arcane::mesh::MeshExchanger::computeExchangeInfos(), Arcane::mesh::MeshExchanger::removeNeededItems(), and Arcane::mesh::ItemsExchangeInfo2::removeSentItems().
|
pure virtual |
Interface on the family.
Implemented in Arcane::mesh::ParticleFamily.
Referenced by Arcane::mesh::MeshExchanger::removeNeededItems().
|
pure virtual |
Name of the family.
Implemented in Arcane::mesh::ParticleFamily.
|
pure virtual |
Number of entities.
Implemented in Arcane::mesh::ParticleFamily.
|
pure virtual |
Sets the flag to manage ghost particles for the family.
Implemented in Arcane::mesh::ParticleFamily.
|
pure virtual |
Moves the particle particle into the cell new_cell.
Implemented in Arcane::mesh::ParticleFamily.
|
pure virtual |
Moves the list of particles particles into the new cells new_cells.
Implemented in Arcane::mesh::ParticleFamily.