#include <arcane/mesh/EdgeFamily.h>
Classes | |
| class | TopologyModifier |
Public Member Functions | |
| EdgeFamily (IMesh *mesh, const String &name) | |
| virtual void | build () override |
| virtual void | preAllocate (Integer nb_item) |
| virtual void | computeSynchronizeInfos () override |
| Constructs the structures necessary for synchronization. | |
| Item | allocOne (Int64 uid, ItemTypeId type_id, MeshInfos &mesh_info) override |
| Version called in generic item addition. | |
| Item | findOrAllocOne (Int64 uid, ItemTypeId type_id, MeshInfos &mesh_info, bool &is_alloc) override |
| Retrieves or allocates a unique numbered edge uid and of type type.Generic item addition. | |
| IItemFamily * | family () override |
| ItemInternal * | allocOne (Int64 uid) |
| Allocates a unique numbered edge uid. | |
| ItemInternal * | findOrAllocOne (Int64 uid, bool &is_alloc) |
| Retrieves or allocates a unique numbered edge uid and of type type. | |
| void | replaceNode (ItemLocalId edge, Integer index, ItemLocalId node) |
| Replaces the node at index index of the edge edge with * that of localId() node_lid. | |
| void | addCellToEdge (Edge edge, Cell new_cell) |
| Adds a neighboring cell to an edge. | |
| void | addFaceToEdge (Edge edge, Face new_face) |
| Adds a neighboring face to an edge. | |
| void | removeCellFromEdge (Edge edge, ItemLocalId cell_to_remove_lid) |
| Removes a cell from an edge. | |
| void | removeFaceFromEdge (ItemLocalId edge, ItemLocalId face_to_remove) |
| Removes a face from an edge. | |
| void | removeEdgeIfNotConnected (Edge edge) |
| Removes the edge if it is no longer connected. | |
| void | setConnectivity (const Integer c) |
| Sets the active connectivity for the associated mesh. | |
| void | reorientEdgesIfNeeded () |
| Public Member Functions inherited from Arcane::mesh::ItemFamily | |
| ItemFamily (IMesh *mesh, eItemKind ik, const String &name) | |
| void | build () override |
| String | name () const override |
| Family name. | |
| String | fullName () const override |
| Full family name (with the mesh's name). | |
| eItemKind | itemKind () const override |
| Entity kind. | |
| Integer | nbItem () const override |
| Number of entities. | |
| Int32 | maxLocalId () const override |
| ItemInternalList | itemsInternal () override |
| Internal array of entities. | |
| ItemInfoListView | itemInfoListView () override |
| View on the entity information list. | |
| VariableItemInt32 & | itemsNewOwner () override |
| Variable containing the number of the new subdomain owning the entity. | |
| IItemFamily * | parentFamily () const override |
| IItemFamily parent. | |
| void | setParentFamily (IItemFamily *parent) override |
| Positions the parent IItemFamily. | |
| Integer | parentFamilyDepth () const override |
| Gives the nesting depth of the current mesh. | |
| void | addChildFamily (IItemFamily *family) override |
| Adds a family as a dependency. | |
| IItemFamilyCollection | childFamilies () override |
| Child families of this family. | |
| void | checkValid () override |
| Check the validity of internal structures (internal). | |
| void | checkValidConnectivity () override |
| Verification of the validity of internal structures concerning connectivity. | |
| void | checkUniqueIds (Int64ConstArrayView unique_ids) override |
| Checks that the unique_ids are truly unique for all subdomains. | |
| ItemInternalMap & | itemsMap () |
| void | endUpdate () override |
| Notifies the end of modification of the entity list. | |
| void | partialEndUpdate () override |
| Partial update. | |
| void | partialEndUpdateGroup (const ItemGroup &group) override |
| Updates a group. | |
| void | partialEndUpdateVariable (IVariable *variable) override |
| Updates a variable. | |
| void | itemsUniqueIdToLocalId (ArrayView< Int64 > ids, bool do_fatal=true) const |
| void | itemsUniqueIdToLocalId (Int32ArrayView local_ids, Int64ConstArrayView unique_ids, bool do_fatal) const override |
| Converts an array of unique numbers to local numbers. | |
| void | itemsUniqueIdToLocalId (Int32ArrayView local_ids, ConstArrayView< ItemUniqueId > unique_ids, bool do_fatal) const override |
| Converts an array of unique numbers to local numbers. | |
| ISubDomain * | subDomain () const override |
| Associated sub-domain. | |
| ITraceMng * | traceMng () const override |
| Associated trace manager. | |
| IMesh * | mesh () const override |
| Associated mesh. | |
| IParallelMng * | parallelMng () const override |
| Associated parallelism manager. | |
| IItemConnectivityInfo * | localConnectivityInfos () const override |
| Information on local connectivity within the subdomain for this family. | |
| IItemConnectivityInfo * | globalConnectivityInfos () const override |
| Information on global connectivity across all subdomains. | |
| void | internalRemoveItems (Int32ConstArrayView local_ids, bool keep_ghost=false) override |
| Removes the entities given by local_ids. | |
| void | removeItems2 (ItemDataList &item_data_list) override |
| Removes entities. | |
| void | removeNeedRemoveMarkedItems () override |
| Removes entities and updates connectivities. | |
| ItemVectorView | view (Int32ConstArrayView local_ids) override |
| View on the entities. | |
| ItemVectorView | view () override |
| View on all entities in the family. | |
| ItemInternal * | findOneItem (Int64 uid) override |
| Unique ID entity unique_id. | |
| ItemGroup | allItems () const override |
| Group of all entities. | |
| void | notifyItemsOwnerChanged () override |
| Notifies that the entities specific to the family's subdomain have been modified. | |
| ItemGroup | findGroup (const String &name) const override |
| Searches for a group. | |
| ItemGroup | findGroup (const String &name, bool create_if_needed) override |
| Searches for a group. | |
| ItemGroup | createGroup (const String &name, Int32ConstArrayView elements, bool do_override=false) override |
| Creates an entity group named name containing the entities local_ids. | |
| ItemGroup | createGroup (const String &name) override |
| Creates an entity group named name. | |
| ItemGroup | createGroup (const String &name, const ItemGroup &parent, bool do_override=false) override |
| ItemGroupCollection | groups () const override |
| Collection of groups in this family. | |
| void | notifyItemsUniqueIdChanged () override |
| Notifies that the unique IDs of the entities have been modified. | |
| void | destroyGroups () override |
| Deletes all groups in this family. | |
| IVariable * | findVariable (const String &name, bool throw_exception) override |
| Searches for the variable name name associated with this family. | |
| void | usedVariables (VariableCollection collection) override |
| Adds the list of variables used by this family to the collection. | |
| void | prepareForDump () override |
| Prepares data for dumping. | |
| void | readFromDump () override |
| Reads data from a dump. | |
| void | copyItemsValues (Int32ConstArrayView source, Int32ConstArrayView destination) override |
| void | copyItemsMeanValues (Int32ConstArrayView first_source, Int32ConstArrayView second_source, Int32ConstArrayView destination) override |
| void | compactItems (bool do_sort) override |
| Compresses the entities. | |
| void | clearItems () override |
| Deletes all entities in the family. | |
| Int64ArrayView * | uniqueIds () |
| ItemSharedInfo * | commonItemSharedInfo () |
| const DynamicMeshKindInfos & | infos () const |
| void | setHasUniqueIdMap (bool v) override |
| Indicates whether the family has a conversion table from uniqueId to localId. | |
| bool | hasUniqueIdMap () const override |
| Indicates if the family has a uniqueId to localId conversion table. | |
| void | computeSynchronizeInfos () override |
| Constructs the structures necessary for synchronization. | |
| void | getCommunicatingSubDomains (Int32Array &sub_domains) const override |
| List of communicating sub-domains for the entities. | |
| void | synchronize (VariableCollection variables) override |
| Synchronizes the variables variables. | |
| void | synchronize (VariableCollection variables, Int32ConstArrayView local_ids) override |
| Synchronizes the variables variables on a list of entities. | |
| IVariableSynchronizer * | allItemsSynchronizer () override |
| Synchronizer on all entities of the family. | |
| void | reduceFromGhostItems (IVariable *v, IDataOperation *operation) override |
| Applies a reduction operation from ghost items. | |
| void | reduceFromGhostItems (IVariable *v, Parallel::eReduceType operation) override |
| Applies a reduction operation from ghost items. | |
| ItemPairGroup | findAdjencyItems (const ItemGroup &group, const ItemGroup &sub_group, eItemKind link_kind, Integer layer) override |
| Searches for an adjacency list. | |
| ItemPairGroup | findAdjacencyItems (const ItemGroup &group, const ItemGroup &sub_group, eItemKind link_kind, Integer layer) override |
| Searches for an adjacency list. | |
| IParticleFamily * | toParticleFamily () override |
| Returns the interface of the particle family for this family. | |
| void | setItemSortFunction (IItemInternalSortFunction *sort_function) override |
| Positions the entity sorting function. | |
| IItemInternalSortFunction * | itemSortFunction () const override |
| Entity sorting function. | |
| void | addSourceConnectivity (IItemConnectivity *connectivity) override |
| void | addTargetConnectivity (IItemConnectivity *connectivity) override |
| void | removeSourceConnectivity (IItemConnectivity *connectivity) override |
| void | removeTargetConnectivity (IItemConnectivity *connectivity) override |
| void | setConnectivityMng (IItemConnectivityMng *connectivity_mng) override |
| void | addGhostItems (Int64ConstArrayView unique_ids, Int32ArrayView items, Int32ConstArrayView owners) override |
| Allocates ghost entities. | |
| EventObservableView< const ItemFamilyItemListChangedEventArgs & > | itemListChangedEvent () override |
| Event for entity addition and deletion. | |
| void | experimentalChangeUniqueId (ItemLocalId local_id, ItemUniqueId unique_id) override |
| Changes the unique number of the entity. | |
| IItemFamilyPolicyMng * | policyMng () override |
| Interface of behaviors/policies associated with this family. | |
| Properties * | properties () override |
| Properties associated with this family. | |
| IItemFamilyInternal * | _internalApi () override |
| Internal Arcane API. | |
| virtual void | setPolicyMng (IItemFamilyPolicyMng *policy_mng) |
| void | beginCompactItems (ItemFamilyCompactInfos &compact_infos) |
| void | compactVariablesAndGroups (const ItemFamilyCompactInfos &compact_infos) |
| Compresses the variables and groups. | |
| void | finishCompactItems (ItemFamilyCompactInfos &compact_infos) |
| void | removeItem (Item item) |
| ItemInternalConnectivityList * | itemInternalConnectivityList () |
| Accessor for connectivities via Item and ItemInternal. | |
| IItemFamilyTopologyModifier * | _topologyModifier () override |
| Topology modifier interface. | |
| void | resizeVariables (bool force_resize) override |
| Resizes the variables of this family. | |
| Public Member Functions inherited from Arcane::TraceAccessor | |
| TraceAccessor (ITraceMng *m) | |
| Constructs an accessor via the trace manager m. | |
| TraceAccessor (const TraceAccessor &rhs) | |
| Copy constructor. | |
| TraceAccessor & | operator= (const TraceAccessor &rhs) |
| Copy assignment operator. | |
| virtual | ~TraceAccessor () |
| Frees resources. | |
| ITraceMng * | traceMng () const |
| Trace manager. | |
| TraceMessage | info () const |
| Flow for an information message. | |
| TraceMessage | pinfo () const |
| Flow for a parallel information message. | |
| TraceMessage | info (char category) const |
| Flow for an information message of a given category. | |
| TraceMessage | pinfo (char category) const |
| Flow for a parallel information message of a given category. | |
| TraceMessage | info (bool v) const |
| Flow for an information message. | |
| TraceMessage | warning () const |
| Flow for a warning message. | |
| TraceMessage | pwarning () const |
| TraceMessage | error () const |
| Flow for an error message. | |
| TraceMessage | perror () const |
| TraceMessage | log () const |
| Flow for a log message. | |
| TraceMessage | plog () const |
| Flow for a log message. | |
| TraceMessage | logdate () const |
| Flow for a log message preceded by the date. | |
| TraceMessage | fatal () const |
| Flow for a fatal error message. | |
| TraceMessage | pfatal () const |
| Flow for a parallel fatal error message. | |
| TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
| Flow for a debug message. | |
| Trace::eDebugLevel | configDbgLevel () const |
| Debug level of the configuration file. | |
| TraceMessage | info (Int32 verbose_level) const |
| Flow for an information message of a given level. | |
| TraceMessage | linfo () const |
| Flow for an information message with the local information level of this instance. | |
| TraceMessage | linfo (Int32 relative_level) const |
| Flow for an information message with the local information level of this instance. | |
| void | fatalMessage (const StandaloneTraceMessage &o) const |
| Public Member Functions inherited from Arcane::IItemFamily | |
| virtual IDoFFamily * | toDoFFamily () |
| Returns the interface of the particle family for this family. | |
| Public Member Functions inherited from Arcane::IItemFamilyModifier | |
| virtual | ~IItemFamilyModifier () |
| ItemInternal * | allocOne (Int64 uid, ItemTypeInfo *type, mesh::MeshInfos &mesh_info) |
| ItemInternal * | findOrAllocOne (Int64 uid, ItemTypeInfo *type, mesh::MeshInfos &mesh_info, bool &is_alloc) |
Private Member Functions | |
| void | _removeEdge (Edge edge) |
| void | _createOne (ItemInternal *item, Int64 uid) |
Private Attributes | |
| NodeFamily * | m_node_family = nullptr |
| Node family associated with this family. | |
Edge family.
Definition at line 33 of file EdgeFamily.h.
|
private |
Definition at line 40 of file EdgeFamily.h.
|
private |
Definition at line 39 of file EdgeFamily.h.
|
private |
Definition at line 38 of file EdgeFamily.h.
Definition at line 65 of file EdgeFamily.cc.
|
virtual |
Definition at line 75 of file EdgeFamily.cc.
|
inlineprivate |
Definition at line 114 of file EdgeFamily.cc.
|
inlineprivate |
Definition at line 256 of file EdgeFamily.cc.
Adds a neighboring cell to an edge.
Definition at line 232 of file EdgeFamily.cc.
Adds a neighboring face to an edge.
Definition at line 244 of file EdgeFamily.cc.
| ItemInternal * Arcane::mesh::EdgeFamily::allocOne | ( | Int64 | uid | ) |
Allocates a unique numbered edge uid.
Definition at line 146 of file EdgeFamily.cc.
|
overridevirtual |
Version called in generic item addition.
Allocates a unique numbered edge uid. Generic item addition. This version is designed to be called in a generic block ignoring the item type of the item. The update of the mesh's item count is therefore done in this method, and not in the calling block.
Implements Arcane::IItemFamilyModifier.
Definition at line 132 of file EdgeFamily.cc.
References allocOne(), and Arcane::mesh::MeshInfos::nbEdge().
Referenced by allocOne().
|
overridevirtual |
Implements Arcane::IItemFamily.
Definition at line 83 of file EdgeFamily.cc.
|
overridevirtual |
Constructs the structures necessary for synchronization.
This operation must be performed every time the entities of the mesh change ownership (for example, during a load balancing).
This operation is collective.
Implements Arcane::IItemFamily.
Definition at line 208 of file EdgeFamily.cc.
References Arcane::mesh::ItemFamily::computeSynchronizeInfos(), and Arcane::TraceAccessor::debug().
|
inlineoverridevirtual |
Implements Arcane::IItemFamilyModifier.
Definition at line 59 of file EdgeFamily.h.
| ItemInternal * Arcane::mesh::EdgeFamily::findOrAllocOne | ( | Int64 | uid, |
| bool & | is_alloc ) |
Retrieves or allocates a unique numbered edge uid and of type type.
If a unique numbered edge uid already exists, it is returned. Otherwise, the edge is created. is_alloc is true if the edge has just been created.
Definition at line 185 of file EdgeFamily.cc.
|
overridevirtual |
Retrieves or allocates a unique numbered edge uid and of type type.Generic item addition.
This version is designed to be called in a generic block ignoring the item type of the item. The update of the mesh's item count is therefore done in this method, and not in the calling block.
If a unique numbered edge uid already exists, it is returned. Otherwise, the edge is created. is_alloc is true if the edge has just been created.
Implements Arcane::IItemFamilyModifier.
Definition at line 166 of file EdgeFamily.cc.
References findOrAllocOne(), and Arcane::mesh::MeshInfos::nbEdge().
Referenced by findOrAllocOne().
|
virtual |
Definition at line 197 of file EdgeFamily.cc.
| void Arcane::mesh::EdgeFamily::removeCellFromEdge | ( | Edge | edge, |
| ItemLocalId | cell_to_remove_lid ) |
Removes a cell from an edge.
Definition at line 271 of file EdgeFamily.cc.
| void Arcane::mesh::EdgeFamily::removeEdgeIfNotConnected | ( | Edge | edge | ) |
Removes the edge if it is no longer connected.
Definition at line 294 of file EdgeFamily.cc.
References Arcane::ItemBase::isSuppressed(), Arcane::Item::itemBase(), and Arcane::Edge::nbCell().
| void Arcane::mesh::EdgeFamily::removeFaceFromEdge | ( | ItemLocalId | edge, |
| ItemLocalId | face_to_remove ) |
Removes a face from an edge.
Definition at line 283 of file EdgeFamily.cc.
| void Arcane::mesh::EdgeFamily::reorientEdgesIfNeeded | ( | ) |
Definition at line 325 of file EdgeFamily.cc.
| void Arcane::mesh::EdgeFamily::replaceNode | ( | ItemLocalId | edge, |
| Integer | index, | ||
| ItemLocalId | node ) |
Replaces the node at index index of the edge edge with * that of localId() node_lid.
Definition at line 221 of file EdgeFamily.cc.
| void Arcane::mesh::EdgeFamily::setConnectivity | ( | const Integer | c | ) |
Sets the active connectivity for the associated mesh.
This conditions the connectivities handled by this family
Definition at line 306 of file EdgeFamily.cc.
References Arcane::TraceAccessor::debug(), Arcane::IK_Cell, Arcane::IK_Edge, Arcane::IK_Face, Arcane::IK_Node, and Arcane::mesh::ItemFamily::name().
|
protected |
Definition at line 93 of file EdgeFamily.h.
|
protected |
Definition at line 89 of file EdgeFamily.h.
|
protected |
Definition at line 85 of file EdgeFamily.h.
|
protected |
Definition at line 92 of file EdgeFamily.h.
|
protected |
Definition at line 88 of file EdgeFamily.h.
|
protected |
Definition at line 86 of file EdgeFamily.h.
|
protected |
Definition at line 90 of file EdgeFamily.h.
|
protected |
Definition at line 91 of file EdgeFamily.h.
|
private |
Node family associated with this family.
Definition at line 98 of file EdgeFamily.h.
|
protected |
Definition at line 87 of file EdgeFamily.h.