Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::IItemFamilyNetwork Class Referenceabstract
Inheritance diagram for Arcane::IItemFamilyNetwork:
Collaboration diagram for Arcane::IItemFamilyNetwork:

Public Types

enum  eSchedulingOrder { TopologicalOrder , InverseTopologicalOrder , Unknown }
typedef std::function< void(IItemFamily *)> IItemFamilyNetworkTask

Public Member Functions

virtual bool isActivated () const =0
virtual void addDependency (IItemFamily *master_family, IItemFamily *slave_family, IIncrementalItemConnectivity *slave_to_master_connectivity, bool is_deep_connectivity=true)=0
 Adds a dependency between two families; an element of master_family is composed of elements of slave_family. The memory responsibility for master_to_slave_connectivity is handled by ItemFamilyNetwork.
virtual void addRelation (IItemFamily *source_family, IItemFamily *target_family, IIncrementalItemConnectivity *source_to_target_connectivity)=0
 Adds a relation between two families; an element of source_family is connected to one or more elements of target_family The memory responsibility for source_to_target_connectivity is handled by ItemFamilyNetwork.
virtual IIncrementalItemConnectivitygetDependency (IItemFamily *source_family, IItemFamily *target_family)=0
 Returns the dependency connectivity between the families source_family.
virtual IIncrementalItemConnectivitygetRelation (IItemFamily *source_family, IItemFamily *target_family)=0
virtual IIncrementalItemConnectivitygetConnectivity (IItemFamily *source_family, IItemFamily *target_family, const String &name)=0
 Returns the connectivity between the families source_family and.
virtual IIncrementalItemConnectivitygetConnectivity (IItemFamily *source_family, IItemFamily *target_family, const String &name, bool &is_dependency)=0
virtual IIncrementalItemConnectivitygetStoredConnectivity (IItemFamily *source_family, IItemFamily *target_family, const String &name)=0
 Returns, if associated with storage, the connectivity between the families source_family and target_family named name, whether it is a relation or a dependency.
virtual IIncrementalItemConnectivitygetStoredConnectivity (IItemFamily *source_family, IItemFamily *target_family, const String &name, bool &is_dependency)=0
virtual List< IIncrementalItemConnectivity * > getConnectivities ()=0
 Get the list of all connectivities, whether they are relations or dependencies.
virtual SharedArray< IIncrementalItemConnectivity * > getChildConnectivities (IItemFamily *source_family)=0
 Get the list of all connectivities (dependencies or relations), children of a.
virtual SharedArray< IIncrementalItemConnectivity * > getParentConnectivities (IItemFamily *target_family)=0
virtual SharedArray< IIncrementalItemConnectivity * > getChildDependencies (IItemFamily *source_family)=0
 Get the list of all dependencies, children of a family source_family or.
virtual SharedArray< IIncrementalItemConnectivity * > getParentDependencies (IItemFamily *target_family)=0
virtual SharedArray< IIncrementalItemConnectivity * > getChildRelations (IItemFamily *source_family)=0
 Get the list of all relations, children of a family source_family or parents.
virtual SharedArray< IIncrementalItemConnectivity * > getParentRelations (IItemFamily *source_family)=0
virtual const std::set< IItemFamily * > & getFamilies () const =0
 Get the list of all families.
virtual SharedArray< IItemFamily * > getFamilies (eSchedulingOrder order) const =0
virtual void schedule (IItemFamilyNetworkTask task, eSchedulingOrder order=TopologicalOrder)=0
 Schedules the execution of a task, in topological or inverse topological order.
virtual void setIsStored (IIncrementalItemConnectivity *connectivity)=0
 Marks a connectivity as stored.
virtual bool isStored (IIncrementalItemConnectivity *connectivity)=0
 Retrieves information regarding the storage of the connectivity.
virtual bool isDeep (IIncrementalItemConnectivity *connectivity)=0
 Retrieves information regarding the storage of the connectivity.
virtual Integer registerConnectedGraph (IGraph2 *graph)=0
 Registers a graph managing DOFs connected to the mesh.
virtual void releaseConnectedGraph (Integer graph_id)=0
 Deregisters a graph managing DOFs connected to the mesh.
virtual void removeConnectedDoFsFromCells (Int32ConstArrayView local_ids)=0
 Removes DOFs and links between DOFs connected to deleted cells.

Static Public Attributes

static constexpr bool plug_serializer = true

Detailed Description

Definition at line 33 of file IItemFamilyNetwork.h.

Member Typedef Documentation

◆ IItemFamilyNetworkTask

typedef std::function<void(IItemFamily*)> Arcane::IItemFamilyNetwork::IItemFamilyNetworkTask

Definition at line 41 of file IItemFamilyNetwork.h.

Member Enumeration Documentation

◆ eSchedulingOrder

enum Arcane::IItemFamilyNetwork::eSchedulingOrder

Definition at line 45 of file IItemFamilyNetwork.h.

Member Function Documentation

◆ addDependency()

virtual void Arcane::IItemFamilyNetwork::addDependency ( IItemFamily * master_family,
IItemFamily * slave_family,
IIncrementalItemConnectivity * slave_to_master_connectivity,
bool is_deep_connectivity = true )
pure virtual

Adds a dependency between two families; an element of master_family is composed of elements of slave_family. The memory responsibility for master_to_slave_connectivity is handled by ItemFamilyNetwork.

Implemented in Arcane::mesh::ItemFamilyNetwork.

◆ addRelation()

virtual void Arcane::IItemFamilyNetwork::addRelation ( IItemFamily * source_family,
IItemFamily * target_family,
IIncrementalItemConnectivity * source_to_target_connectivity )
pure virtual

Adds a relation between two families; an element of source_family is connected to one or more elements of target_family The memory responsibility for source_to_target_connectivity is handled by ItemFamilyNetwork.

Implemented in Arcane::mesh::ItemFamilyNetwork.

◆ getChildConnectivities()

virtual SharedArray< IIncrementalItemConnectivity * > Arcane::IItemFamilyNetwork::getChildConnectivities ( IItemFamily * source_family)
pure virtual

Get the list of all connectivities (dependencies or relations), children of a.

Implemented in Arcane::mesh::ItemFamilyNetwork.

◆ getChildDependencies()

virtual SharedArray< IIncrementalItemConnectivity * > Arcane::IItemFamilyNetwork::getChildDependencies ( IItemFamily * source_family)
pure virtual

Get the list of all dependencies, children of a family source_family or.

Implemented in Arcane::mesh::ItemFamilyNetwork.

◆ getChildRelations()

virtual SharedArray< IIncrementalItemConnectivity * > Arcane::IItemFamilyNetwork::getChildRelations ( IItemFamily * source_family)
pure virtual

Get the list of all relations, children of a family source_family or parents.

Implemented in Arcane::mesh::ItemFamilyNetwork.

◆ getConnectivities()

virtual List< IIncrementalItemConnectivity * > Arcane::IItemFamilyNetwork::getConnectivities ( )
pure virtual

Get the list of all connectivities, whether they are relations or dependencies.

Implemented in Arcane::mesh::ItemFamilyNetwork.

◆ getConnectivity()

virtual IIncrementalItemConnectivity * Arcane::IItemFamilyNetwork::getConnectivity ( IItemFamily * source_family,
IItemFamily * target_family,
const String & name )
pure virtual

Returns the connectivity between the families source_family and.

Implemented in Arcane::mesh::ItemFamilyNetwork.

◆ getDependency()

virtual IIncrementalItemConnectivity * Arcane::IItemFamilyNetwork::getDependency ( IItemFamily * source_family,
IItemFamily * target_family )
pure virtual

Returns the dependency connectivity between the families source_family.

Implemented in Arcane::mesh::ItemFamilyNetwork.

◆ getFamilies()

virtual const std::set< IItemFamily * > & Arcane::IItemFamilyNetwork::getFamilies ( ) const
pure virtual

Get the list of all families.

Implemented in Arcane::mesh::ItemFamilyNetwork.

◆ getStoredConnectivity()

virtual IIncrementalItemConnectivity * Arcane::IItemFamilyNetwork::getStoredConnectivity ( IItemFamily * source_family,
IItemFamily * target_family,
const String & name )
pure virtual

Returns, if associated with storage, the connectivity between the families source_family and target_family named name, whether it is a relation or a dependency.

Implemented in Arcane::mesh::ItemFamilyNetwork.

◆ isDeep()

virtual bool Arcane::IItemFamilyNetwork::isDeep ( IIncrementalItemConnectivity * connectivity)
pure virtual

Retrieves information regarding the storage of the connectivity.

Implemented in Arcane::mesh::ItemFamilyNetwork.

◆ isStored()

virtual bool Arcane::IItemFamilyNetwork::isStored ( IIncrementalItemConnectivity * connectivity)
pure virtual

Retrieves information regarding the storage of the connectivity.

Implemented in Arcane::mesh::ItemFamilyNetwork.

◆ registerConnectedGraph()

virtual Integer Arcane::IItemFamilyNetwork::registerConnectedGraph ( IGraph2 * graph)
pure virtual

Registers a graph managing DOFs connected to the mesh.

Implemented in Arcane::mesh::ItemFamilyNetwork.

◆ releaseConnectedGraph()

virtual void Arcane::IItemFamilyNetwork::releaseConnectedGraph ( Integer graph_id)
pure virtual

Deregisters a graph managing DOFs connected to the mesh.

Implemented in Arcane::mesh::ItemFamilyNetwork.

◆ removeConnectedDoFsFromCells()

virtual void Arcane::IItemFamilyNetwork::removeConnectedDoFsFromCells ( Int32ConstArrayView local_ids)
pure virtual

Removes DOFs and links between DOFs connected to deleted cells.

Implemented in Arcane::mesh::ItemFamilyNetwork.

◆ schedule()

virtual void Arcane::IItemFamilyNetwork::schedule ( IItemFamilyNetworkTask task,
eSchedulingOrder order = TopologicalOrder )
pure virtual

Schedules the execution of a task, in topological or inverse topological order.

Implemented in Arcane::mesh::ItemFamilyNetwork.

◆ setIsStored()

virtual void Arcane::IItemFamilyNetwork::setIsStored ( IIncrementalItemConnectivity * connectivity)
pure virtual

Marks a connectivity as stored.

Implemented in Arcane::mesh::ItemFamilyNetwork.

Member Data Documentation

◆ plug_serializer

bool Arcane::IItemFamilyNetwork::plug_serializer = true
staticconstexpr

Definition at line 55 of file IItemFamilyNetwork.h.


The documentation for this class was generated from the following file: