Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::IParticleFamilyabstract

Interface d'une famille de particules. Plus de détails...

#include <arcane/core/IParticleFamily.h>

+ Graphe de collaboration de Arcane::IParticleFamily:

Fonctions membres publiques

virtual void build ()=0
 
virtual void setEnableGhostItems (bool value)=0
 set le flag pour gérer les particules ghost de la famille
 
virtual bool getEnableGhostItems () const =0
 récupère le flag pour gérer les particules ghost de la famille
 
virtual String name () const =0
 Nom de la famille.
 
virtual String fullName () const =0
 Nom complet de la famille (avec celui du maillage)
 
virtual Integer nbItem () const =0
 Nombre d'entités.
 
virtual ItemGroup allItems () const =0
 Groupe de toutes les particules.
 
virtual ParticleVectorView addParticles (Int64ConstArrayView unique_ids, Int32ArrayView items_local_id)=0
 Alloue des particules.
 
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
 Alloue des particules dans des mailles.
 
virtual void removeParticles (Int32ConstArrayView items_local_id)=0
 
virtual void endUpdate ()=0
 
virtual void setParticleCell (Particle particle, Cell new_cell)=0
 Déplace la particule particle dans la maille new_cell.
 
virtual void setParticlesCell (ParticleVectorView particles, CellVectorView new_cells)=0
 Déplace la list de particules particles dans les nouvelles mailles new_cells.
 
virtual void exchangeParticles ()=0
 Échange des entités.
 
virtual IItemFamilyitemFamily ()=0
 Interface sur la famille.
 

Description détaillée

Interface d'une famille de particules.

Une famille de particle est une famille d'entité (IItemFamily). Cette interface ne contient que les méthodes spécifiques aux particules. Pour les opérations génériques aux entités, il faut passer par l'interface IItemFamily via itemFamily().

Il peut y a voir plusieurs famille de particule par maillage. Contrairement aux entités classiques du maillage (noeud, maille, ...), les particules peuvent être créées directement.

Définition à la ligne 42 du fichier IParticleFamily.h.

Documentation des constructeurs et destructeur

◆ ~IParticleFamily()

virtual Arcane::IParticleFamily::~IParticleFamily ( )
inlinevirtual

Définition à la ligne 46 du fichier IParticleFamily.h.

Documentation des fonctions membres

◆ addParticles() [1/2]

virtual ParticleVectorView Arcane::IParticleFamily::addParticles ( Int64ConstArrayView  unique_ids,
Int32ArrayView  items_local_id 
)
pure virtual

Alloue des particules.

Alloue les particules dont les uniqueId() sont données par le tablea unique_ids.

Après appel à cette opération, il faut appeler endUpdate() pour notifier à l'instance la fin des modifications. Il est possible d'enchaîner plusieurs allocations avant d'appeler endUpdate(). Attention, la vue retournée peut être invalidée après l'appel à endUpdate() si la compression est active. items_local_id doit avoir le même nombre d'éléments que unique_ids.

◆ addParticles() [2/2]

virtual ParticleVectorView Arcane::IParticleFamily::addParticles ( Int64ConstArrayView  unique_ids,
Int32ConstArrayView  cells_local_id,
Int32ArrayView  items_local_id 
)
pure virtual

Alloue des particules dans des mailles.

Cette méthode est similaire à addParticles() mais permet de spécifier directement les mailles dans lesquelles seront créées les particules.

◆ endUpdate()

virtual void Arcane::IParticleFamily::endUpdate ( )
pure virtual
Voir également
IItemFamily::endUpdate().

◆ exchangeParticles()

virtual void Arcane::IParticleFamily::exchangeParticles ( )
pure virtual

Échange des entités.

Cette méthode n'est supportée que pour les familles de particule. Pour les éléments du maillage comme les noeuds, faces ou maille, il faut utiliser IMesh::exchangeItems().

Les nouveaux propriétaires des entités sont données par la itemsNewOwner().

Cette opération est bloquante et collective.

Référencé par Arcane::BasicRayMeshIntersection::compute().


La documentation de cette classe a été générée à partir du fichier suivant :