Classes | |
| class | CellInfoProxy |
Public Member Functions | |
| OneMeshItemAdder (DynamicMeshIncrementalBuilder *mesh_builder) | |
| ItemInternal * | addOneNode (Int64 node_uid, Int32 owner) |
| ItemInternal * | addOneFace (ItemTypeId type_id, Int64 face_uid, Int32 owner_rank, Int64ConstArrayView nodes_uid) |
| Adds a face. | |
| ItemInternal * | addOneEdge (Int64 edge_uid, Int32 sub_domain_id, Int64ConstArrayView nodes_uid) |
| ItemInternal * | addOneCell (ItemTypeId type_id, Int64 cell_uid, Int32 sub_domain_id, Int64ConstArrayView nodes_uid, bool allow_build_face) |
| Adds a cell. | |
| ItemInternal * | addOneParentItem (const Item &item, const eItemKind submesh_kind, const bool fatal_on_existing_item=true) |
| Adds a parent item. | |
| ItemInternal * | addOneCell (const FullCellInfo &cell_info) |
| Adds a cell. | |
| ItemInternal * | addOneItem (IItemFamily *family, IItemFamilyModifier *family_modifier, ItemTypeId type_id, Int64 item_uid, Int32 item_owner, Int32 sub_domain_id, Integer nb_connected_family, Int64ConstArrayView connectivity_info) |
| ItemInternal * | addOneItem2 (IItemFamily *family, IItemFamilyModifier *family_modifier, ItemTypeId type_id, Int64 item_uid, Int32 item_owner, Int32 sub_domain_id, Integer nb_connected_family, Int64ConstArrayView connectivity_info) |
| Integer | nbNode () const |
| Integer | nbFace () const |
| Integer | nbCell () const |
| Integer | nbEdge () const |
| void | setNextFaceUid (Int64 face_uid) |
| void | setNextEdgeUid (Int64 edge_uid) |
| Int64 | nextFaceUid () const |
| Int64 | nextEdgeUid () const |
| void | resetAfterDeallocate () |
| Resets the structures to allow for re-allocation. | |
| void | setUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId (bool v) |
| Positions the uniqueId() numbering mechanism. | |
| template<> | |
| Face | _findInternalFace (Integer i_face, const FullCellInfo &cell_info, bool &is_add) |
| template<> | |
| Face | _findInternalFace (Integer i_face, const CellInfoProxy &cell_info, bool &is_add) |
| template<> | |
| Edge | _findInternalEdge (Integer i_edge, const FullCellInfo &cell_info, Int64 first_node, Int64 second_node, bool &is_add) |
| template<> | |
| Edge | _findInternalEdge (Integer i_edge, const CellInfoProxy &cell_info, Int64 first_node, Int64 second_node, bool &is_add) |
| template<> | |
| void | _AMR_Patch (Cell new_cell, const FullCellInfo &cell_info) |
| template<> | |
| void | _AMR_Patch (Cell cell, const CellInfoProxy &cell_info) |
| 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 |
Private Member Functions | |
| template<typename CellInfo> | |
| ItemInternal * | _addOneCell (const CellInfo &cell_info) |
| Adds a cell. | |
| template<typename CellInfo> | |
| void | _addNodesToCell (Cell cell, const CellInfo &cell_info) |
| Adds the nodes nodes_uid to the cell cell. | |
| template<typename CellInfo> | |
| bool | _isReorder (Integer i_face, const ItemTypeInfo::LocalFace &lf, const CellInfo &cell_info) |
| template<typename CellInfo> | |
| Face | _findInternalFace (Integer i_face, const CellInfo &cell_info, bool &is_add) |
| template<typename CellInfo> | |
| Edge | _findInternalEdge (Integer i_edge, const CellInfo &cell_info, Int64 first_node, Int64 second_node, bool &is_add) |
| template<typename CellInfo> | |
| void | _AMR_Patch (Cell cell, const CellInfo &cell_info) |
| void | _clearConnectivity (ItemLocalId item, IIncrementalItemConnectivity *connectivity) |
| void | _clearReverseConnectivity (ItemLocalId item, IIncrementalItemConnectivity *connectivity, IIncrementalItemConnectivity *reverse_connectivity) |
| void | _printRelations (ItemInternal *item) |
| void | _checkSameItemCoherency (ItemWithNodes item, ConstArrayView< Int64 > nodes_uid) |
| Checks the coherence of nodes for an already added item. | |
| Int64 | _checkGenerateFaceUniqueId (Int64 uid, ConstArrayView< Int64 > nodes_uid) |
| Generates a uniqueId() for the face if uid is null. | |
Private Attributes | |
| DynamicMesh * | m_mesh = nullptr |
| DynamicMeshIncrementalBuilder * | m_mesh_builder = nullptr |
| CellFamily & | m_cell_family |
| NodeFamily & | m_node_family |
| FaceFamily & | m_face_family |
| EdgeFamily & | m_edge_family |
| ItemTypeMng * | m_item_type_mng = nullptr |
| MeshInfos | m_mesh_info |
| General information about the mesh (sub-domain number, number of items...). | |
| Int64 | m_next_face_uid = 0 |
| Next uniqueId() number used for generating faces. | |
| Int64 | m_next_edge_uid = 0 |
| Next uniqueId() number used for generating edges. | |
| NodesOfItemReorderer | m_face_reorderer |
| Work arrays. | |
| UniqueArray< Int64 > | m_work_face_orig_nodes_uid |
| UniqueArray< Int64 > | m_work_edge_sorted_nodes |
| UniqueArray< Int64 > | m_work_edge_orig_nodes_uid |
| bool | m_use_hash_for_edge_and_face_unique_id = false |
| If true, generates face uniqueIds from node uniqueIds. | |
Additional Inherited Members | |
| Protected Member Functions inherited from Arcane::TraceAccessor | |
| void | _setLocalVerboseLevel (Int32 v) |
| Int32 | _localVerboseLevel () const |
Definition at line 45 of file OneMeshItemAdder.h.
|
explicit |
Definition at line 82 of file OneMeshItemAdder.cc.
|
inline |
Definition at line 57 of file OneMeshItemAdder.h.
|
inlineprivate |
Adds the nodes nodes_uid to the cell cell.
Definition at line 1109 of file OneMeshItemAdder.cc.
References m_mesh_info, and Arcane::MutableItemBase::setOwner().
Referenced by _addOneCell().
|
private |
Adds a cell.
| true | if the cell was actually added |
Maps the uniqueId() table to ItemInternal*
AMR
Definition at line 635 of file OneMeshItemAdder.cc.
References _addNodesToCell(), Arcane::MutableItemBase::addFlags(), ARCANE_FATAL, Arcane::arcaneIsCheck(), Arcane::ItemTypeInfo::LocalEdge::beginNode(), Arcane::ItemTypeInfo::dimension(), Arcane::Cell::edge(), Arcane::ItemTypeInfo::LocalFace::edge(), Arcane::ItemTypeInfo::LocalEdge::endNode(), Arcane::mesh::ItemInternalMap::findItem(), Arcane::TraceAccessor::info(), Arcane::MeshKind::isMonoDimension(), Arcane::ItemTypeInfo::isValidForCell(), Arcane::ItemTypeInfo::itemTypeId(), Arcane::ItemTypeInfo::linearTypeInfo(), Arcane::ItemTypeInfo::localEdge(), Arcane::ItemTypeInfo::localFace(), Arcane::Item::localId(), m_face_reorderer, m_mesh_info, Arcane::Item::mutableItemBase(), Arcane::Face::nbCell(), Arcane::ItemTypeInfo::LocalFace::nbEdge(), Arcane::Cell::nbFace(), Arcane::ItemTypeInfo::nbLocalFace(), Arcane::ItemTypeInfo::nbLocalNode(), Arcane::ItemTypeInfo::LocalFace::nbNode(), Arcane::ItemWithNodes::nbNode(), Arcane::ItemWithNodes::node(), Arcane::MutableItemBase::setOwner(), Arcane::ItemTypeInfo::LocalFace::typeId(), Arcane::ItemTypeInfo::typeName(), and Arcane::Item::uniqueId().
Referenced by addOneCell(), and addOneCell().
| void Arcane::mesh::OneMeshItemAdder::_AMR_Patch | ( | Cell | cell, |
| const CellInfoProxy & | cell_info ) |
Definition at line 620 of file OneMeshItemAdder.cc.
| void Arcane::mesh::OneMeshItemAdder::_AMR_Patch | ( | Cell | new_cell, |
| const FullCellInfo & | cell_info ) |
AMR
Definition at line 601 of file OneMeshItemAdder.cc.
References Arcane::ItemTypeId::fromInteger(), and Arcane::mesh::FullCellInfo::level().
|
private |
Generates a uniqueId() for the face if uid is null.
If uid equals NULL_ITEM_UNIQUE_ID, a uniqueId() is generated for the face.
Definition at line 153 of file OneMeshItemAdder.cc.
References m_next_face_uid, and m_use_hash_for_edge_and_face_unique_id.
Referenced by addOneFace().
|
private |
Checks the coherence of nodes for an already added item.
When attempting to add an item that already exists, checks that the nodes provided for the addition are the same as those of the already existing item.
Definition at line 123 of file OneMeshItemAdder.cc.
References ARCANE_FATAL, Arcane::Item::kind(), Arcane::ItemWithNodes::nbNode(), Arcane::ItemWithNodes::node(), Arcane::ConstArrayView< T >::size(), and Arcane::Item::uniqueId().
Referenced by addOneFace().
|
private |
Definition at line 576 of file OneMeshItemAdder.cc.
|
private |
Definition at line 589 of file OneMeshItemAdder.cc.
| Edge Arcane::mesh::OneMeshItemAdder::_findInternalEdge | ( | Integer | i_edge, |
| const CellInfoProxy & | cell_info, | ||
| Int64 | first_node, | ||
| Int64 | second_node, | ||
| bool & | is_add ) |
Definition at line 332 of file OneMeshItemAdder.cc.
| Edge Arcane::mesh::OneMeshItemAdder::_findInternalEdge | ( | Integer | i_edge, |
| const FullCellInfo & | cell_info, | ||
| Int64 | first_node, | ||
| Int64 | second_node, | ||
| bool & | is_add ) |
Definition at line 317 of file OneMeshItemAdder.cc.
| Face Arcane::mesh::OneMeshItemAdder::_findInternalFace | ( | Integer | i_face, |
| const CellInfoProxy & | cell_info, | ||
| bool & | is_add ) |
Definition at line 263 of file OneMeshItemAdder.cc.
| Face Arcane::mesh::OneMeshItemAdder::_findInternalFace | ( | Integer | i_face, |
| const FullCellInfo & | cell_info, | ||
| bool & | is_add ) |
Definition at line 249 of file OneMeshItemAdder.cc.
|
private |
Definition at line 1132 of file OneMeshItemAdder.cc.
|
private |
Definition at line 559 of file OneMeshItemAdder.cc.
| ItemInternal * Arcane::mesh::OneMeshItemAdder::addOneCell | ( | const FullCellInfo & | cell_info | ) |
Adds a cell.
| true | if the cell was actually added |
Definition at line 405 of file OneMeshItemAdder.cc.
References _addOneCell().
| ItemInternal * Arcane::mesh::OneMeshItemAdder::addOneCell | ( | ItemTypeId | type_id, |
| Int64 | cell_uid, | ||
| Int32 | sub_domain_id, | ||
| Int64ConstArrayView | nodes_uid, | ||
| bool | allow_build_face ) |
Adds a cell.
When adding a cell, the nodes and faces belonging to it are automatically added to the mesh if they are not already present.
| type | type of the cell |
| cell_uid | unique ID of the cell. If a cell with this ID exists already, it means the cell is already present. In this case, this method performs no operation. |
| sub_domain_id | ID of the sub-domain to which the cell belongs |
| nodes_uid | list of unique IDs of the cell. The number of elements in this array must correspond to the cell type. |
| true | if the cell is actually added |
Definition at line 386 of file OneMeshItemAdder.cc.
References _addOneCell().
| ItemInternal * Arcane::mesh::OneMeshItemAdder::addOneEdge | ( | Int64 | edge_uid, |
| Int32 | sub_domain_id, | ||
| Int64ConstArrayView | nodes_uid ) |
Definition at line 218 of file OneMeshItemAdder.cc.
| ItemInternal * Arcane::mesh::OneMeshItemAdder::addOneFace | ( | ItemTypeId | type_id, |
| Int64 | face_uid, | ||
| Int32 | owner_rank, | ||
| Int64ConstArrayView | nodes_uid ) |
Adds a face.
This method is called when one wishes to directly create a face that may not necessarily be connected to a cell. Generally, faces are created automatically when meshes are added.
Adds a face by providing the face's unique_id and the unique_ids of the nodes to connect.
If face_uid is equal to NULL_ITEM_UNIQUE_ID, the identifier is generated.
Definition at line 179 of file OneMeshItemAdder.cc.
References _checkGenerateFaceUniqueId(), _checkSameItemCoherency(), Arcane::arcaneIsCheck(), m_face_reorderer, m_mesh_info, Arcane::Item::mutableItemBase(), Arcane::MutableItemBase::setOwner(), and Arcane::ConstArrayView< T >::size().
| ItemInternal * Arcane::mesh::OneMeshItemAdder::addOneItem | ( | IItemFamily * | family, |
| IItemFamilyModifier * | family_modifier, | ||
| ItemTypeId | type_id, | ||
| Int64 | item_uid, | ||
| Int32 | item_owner, | ||
| Int32 | sub_domain_id, | ||
| Integer | nb_connected_family, | ||
| Int64ConstArrayView | connectivity_info ) |
Definition at line 414 of file OneMeshItemAdder.cc.
| ItemInternal * Arcane::mesh::OneMeshItemAdder::addOneItem2 | ( | IItemFamily * | family, |
| IItemFamilyModifier * | family_modifier, | ||
| ItemTypeId | type_id, | ||
| Int64 | item_uid, | ||
| Int32 | item_owner, | ||
| Int32 | sub_domain_id, | ||
| Integer | nb_connected_family, | ||
| Int64ConstArrayView | connectivity_info ) |
Definition at line 471 of file OneMeshItemAdder.cc.
| ItemInternal * Arcane::mesh::OneMeshItemAdder::addOneNode | ( | Int64 | node_uid, |
| Int32 | owner ) |
Definition at line 102 of file OneMeshItemAdder.cc.
| ItemInternal * Arcane::mesh::OneMeshItemAdder::addOneParentItem | ( | const Item & | item, |
| const eItemKind | submesh_kind, | ||
| const bool | fatal_on_existing_item = true ) |
Adds a parent item.
The provided item serves as a description for the item to be added to the submesh (at the level of its decomposition into sub-items). The submesh_kind argument determines the expected kind of item in the submesh.
This method allows an item to be added consistently to a submesh from a parent item. The added item will only be connected to items of a lower kind.
The item/parent item relationship is materialized by the conserved uid.
| the | added item |
Type la table de hashage uniqueId()->ItemInternal*
Definition at line 825 of file OneMeshItemAdder.cc.
References ARCANE_CHECK_POINTER, ARCANE_FATAL, Arcane::ItemTypeInfo::LocalEdge::beginNode(), Arcane::ItemTypeInfo::LocalFace::edge(), Arcane::ItemTypeInfo::LocalEdge::endNode(), Arcane::Cell::face(), Arcane::mesh::ItemTools::findEdgeInNode2(), Arcane::mesh::ItemInternalMap::findItem(), Arcane::ItemTypeId::fromInteger(), Arcane::IK_Cell, Arcane::IK_Edge, Arcane::IK_Face, Arcane::IK_Node, Arcane::TraceAccessor::info(), Arcane::Face::isSubDomainBoundary(), Arcane::Item::itemBase(), Arcane::Item::kind(), Arcane::MeshToMeshTransposer::kindTranspose(), Arcane::Item::localId(), Arcane::ItemBase::localId(), m_face_reorderer, m_mesh_info, Arcane::Item::mutableItemBase(), Arcane::ItemTypeInfo::LocalFace::nbEdge(), Arcane::ItemTypeInfo::LocalFace::nbNode(), Arcane::ItemTypeInfo::LocalFace::node(), Arcane::ItemWithNodes::node(), Arcane::Item::null(), Arcane::Item::owner(), Arcane::MutableItemBase::setOwner(), Arcane::MutableItemBase::setParent(), Arcane::Item::toCell(), Arcane::Item::toEdge(), Arcane::Item::toFace(), Arcane::Item::toItemWithNodes(), Arcane::Item::type(), Arcane::ItemTypeMng::typeFromId(), Arcane::ItemTypeInfo::LocalFace::typeId(), Arcane::Item::uniqueId(), and Arcane::ItemBase::uniqueId().
|
inline |
Definition at line 106 of file OneMeshItemAdder.h.
|
inline |
Definition at line 107 of file OneMeshItemAdder.h.
|
inline |
Definition at line 105 of file OneMeshItemAdder.h.
|
inline |
Definition at line 104 of file OneMeshItemAdder.h.
|
inline |
Definition at line 113 of file OneMeshItemAdder.h.
|
inline |
Definition at line 112 of file OneMeshItemAdder.h.
| void Arcane::mesh::OneMeshItemAdder::resetAfterDeallocate | ( | ) |
Resets the structures to allow for re-allocation.
Resets structures to allow for another allocation.
Definition at line 1154 of file OneMeshItemAdder.cc.
References m_mesh_info, m_next_edge_uid, and m_next_face_uid.
|
inline |
Definition at line 110 of file OneMeshItemAdder.h.
|
inline |
Definition at line 109 of file OneMeshItemAdder.h.
| void Arcane::mesh::OneMeshItemAdder::setUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId | ( | bool | v | ) |
Positions the uniqueId() numbering mechanism.
Definition at line 1165 of file OneMeshItemAdder.cc.
References ARCANE_FATAL, Arcane::TraceAccessor::info(), m_next_edge_uid, m_next_face_uid, and m_use_hash_for_edge_and_face_unique_id.
|
private |
Definition at line 163 of file OneMeshItemAdder.h.
|
private |
Definition at line 166 of file OneMeshItemAdder.h.
|
private |
Definition at line 165 of file OneMeshItemAdder.h.
|
private |
Work arrays.
Definition at line 176 of file OneMeshItemAdder.h.
Referenced by _addOneCell(), addOneFace(), and addOneParentItem().
|
private |
Definition at line 168 of file OneMeshItemAdder.h.
|
private |
Definition at line 160 of file OneMeshItemAdder.h.
|
private |
Definition at line 161 of file OneMeshItemAdder.h.
|
private |
General information about the mesh (sub-domain number, number of items...).
Definition at line 170 of file OneMeshItemAdder.h.
Referenced by _addNodesToCell(), _addOneCell(), addOneFace(), addOneParentItem(), and resetAfterDeallocate().
|
private |
Next uniqueId() number used for generating edges.
Definition at line 173 of file OneMeshItemAdder.h.
Referenced by resetAfterDeallocate(), and setUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId().
|
private |
Next uniqueId() number used for generating faces.
Definition at line 172 of file OneMeshItemAdder.h.
Referenced by _checkGenerateFaceUniqueId(), resetAfterDeallocate(), and setUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId().
|
private |
Definition at line 164 of file OneMeshItemAdder.h.
|
private |
If true, generates face uniqueIds from node uniqueIds.
Definition at line 183 of file OneMeshItemAdder.h.
Referenced by _checkGenerateFaceUniqueId(), and setUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId().
|
private |
Definition at line 180 of file OneMeshItemAdder.h.
|
private |
Definition at line 179 of file OneMeshItemAdder.h.
|
private |
Definition at line 178 of file OneMeshItemAdder.h.