12#ifndef ARCANE_IITEMFAMILYNETWORK_H_
13#define ARCANE_IITEMFAMILYNETWORK_H_
17#include "arcane/core/IItemFamily.h"
18#include "arcane/core/IIncrementalItemConnectivity.h"
19#include "arcane/core/IGraph2.h"
41 typedef std::function<void(
IItemFamily*)> IItemFamilyNetworkTask;
48 InverseTopologicalOrder,
55 static constexpr bool plug_serializer =
true;
59 virtual bool isActivated()
const = 0;
67 bool is_deep_connectivity =
true) = 0;
88 bool& is_dependency) = 0;
101 bool& is_dependency) = 0;
108 virtual SharedArray<IIncrementalItemConnectivity*> getParentConnectivities(
IItemFamily* target_family) = 0;
112 virtual SharedArray<IIncrementalItemConnectivity*> getParentDependencies(
IItemFamily* target_family) = 0;
116 virtual SharedArray<IIncrementalItemConnectivity*> getParentRelations(
IItemFamily* source_family) = 0;
121 virtual SharedArray<IItemFamily*>
getFamilies(eSchedulingOrder order)
const = 0;
124 virtual void schedule(IItemFamilyNetworkTask task, eSchedulingOrder order = TopologicalOrder) = 0;
Interface d'un graphe du maillage.
Interface pour gérer une connectivité incrémentale.
virtual IIncrementalItemConnectivity * getStoredConnectivity(IItemFamily *source_family, IItemFamily *target_family, const String &name)=0
Retourne, si elle est associée à un stockage, la connectivité entre les familles source_family et tar...
virtual bool isStored(IIncrementalItemConnectivity *connectivity)=0
Récupère l'information relative au stockage de la connectivité
virtual void addDependency(IItemFamily *master_family, IItemFamily *slave_family, IIncrementalItemConnectivity *slave_to_master_connectivity, bool is_deep_connectivity=true)=0
Ajoute une dépendance entre deux familles ; un élément de master_family est constitué d'éléments de s...
virtual const std::set< IItemFamily * > & getFamilies() const =0
Obtenir la liste de toutes les familles.
virtual List< IIncrementalItemConnectivity * > getConnectivities()=0
Obtenir la liste de toutes les connectivités, qu'elles soient relation ou dépendance.
virtual SharedArray< IIncrementalItemConnectivity * > getChildConnectivities(IItemFamily *source_family)=0
Obtenir la liste de toutes les connectivités (dépendances ou relations), filles d'une famille source_...
virtual bool isDeep(IIncrementalItemConnectivity *connectivity)=0
Récupère l'information relative au stockage de la connectivité
virtual void removeConnectedDoFsFromCells(Int32ConstArrayView local_ids)=0
supprime les DoFs et les liens entre DoFs connectés aux mailles supprimées
virtual IIncrementalItemConnectivity * getDependency(IItemFamily *source_family, IItemFamily *target_family)=0
Retourne la connectivité de dépendance entre la famille source_family et target_family.
virtual void setIsStored(IIncrementalItemConnectivity *connectivity)=0
Positionne une connectivité comme étant stockée.
virtual void schedule(IItemFamilyNetworkTask task, eSchedulingOrder order=TopologicalOrder)=0
Ordonnance l'exécution d'une tâche, dans l'ordre topologique ou topologique inverse du graphe de dépe...
virtual IIncrementalItemConnectivity * getConnectivity(IItemFamily *source_family, IItemFamily *target_family, const String &name)=0
Retourne la connectivité entre les familles source_family et target_family de nom name,...
virtual SharedArray< IIncrementalItemConnectivity * > getChildDependencies(IItemFamily *source_family)=0
Obtenir la liste de toutes les dépendances, filles d'une famille source_family ou parentes d'une fami...
virtual SharedArray< IIncrementalItemConnectivity * > getChildRelations(IItemFamily *source_family)=0
Obtenir la liste de toutes les relations, filles d'une famille source_family ou parentes d'une famill...
virtual Integer registerConnectedGraph(IGraph2 *graph)=0
enregistre un graphe gérant des DoFs connectés au maillage
virtual void addRelation(IItemFamily *source_family, IItemFamily *target_family, IIncrementalItemConnectivity *source_to_target_connectivity)=0
Ajoute une relation entre deux familles ; un élément de source_family est connecté à un ou plusieurs ...
virtual void releaseConnectedGraph(Integer graph_id)=0
dé enregistre un graphe gérant des DoFs connectés au maillage
Interface d'une famille d'entités.
Implémentation d'une collection d'éléments sous forme de vecteur.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.