diff --git a/MeshLib/Mesh.cpp b/MeshLib/Mesh.cpp index 01167a0b30be55ac14739cf3306b2e12e825849d..0fa2682353d83c54c979cadb5d346d4127435ab2 100644 --- a/MeshLib/Mesh.cpp +++ b/MeshLib/Mesh.cpp @@ -60,7 +60,6 @@ Mesh::Mesh(std::string name, } this->setDimension(); this->setElementsConnectedToNodes(); - //this->setNodesConnectedByEdges(); this->setNodesConnectedByElements(); this->setElementNeighbors(); @@ -99,7 +98,6 @@ Mesh::Mesh(const Mesh &mesh) this->setDimension(); } this->setElementsConnectedToNodes(); - //this->setNodesConnectedByEdges(); //this->setNodesConnectedByElements(); this->setElementNeighbors(); } @@ -247,80 +245,6 @@ void Mesh::setElementNeighbors() } } -void Mesh::setNodesConnectedByEdges() -{ - const std::size_t nNodes (this->_nodes.size()); - for (unsigned i=0; i<nNodes; ++i) - { - MeshLib::Node* node (_nodes[i]); - std::vector<MeshLib::Node*> conn_set; - const std::vector<MeshLib::Element*> &conn_elems (node->getElements()); - const std::size_t nConnElems (conn_elems.size()); - for (unsigned j=0; j<nConnElems; ++j) - { - MeshLib::Element* conn_ele = conn_elems[j]; - const unsigned idx (conn_ele->getNodeIDinElement(node)); - const unsigned nElemNodes (conn_ele->getNumberOfBaseNodes()); - for (unsigned k(0); k<nElemNodes; ++k) - { - MeshLib::Node const* node_k = conn_ele->getNode(k); - bool is_in_vector (false); - const std::size_t nConnNodes (conn_set.size()); - for (unsigned l(0); l < nConnNodes; ++l) - { - if (node_k == conn_set[l]) - { - is_in_vector = true; - } - } - if (is_in_vector) - { - continue; - } - - if (conn_ele->getNumberOfBaseNodes() == conn_ele->getNumberOfNodes()) - { - if (conn_ele->isEdge(idx, k)) - { - conn_set.push_back(const_cast<MeshLib::Node*>(node_k)); - } - } - else - { - for (unsigned l=0; l<conn_ele->getNumberOfEdges(); l++) - { - std::unique_ptr<Element const> edge(conn_ele->getEdge(l)); - unsigned match = 0; - for (unsigned m=0; m<edge->getNumberOfBaseNodes(); m++) - { - auto edge_node = edge->getNode(m); - if (edge_node == node || edge_node == node_k) - { - match++; - } - } - if (match != 2) - { - continue; - } - conn_set.push_back(const_cast<MeshLib::Node*>(node_k)); - for (unsigned m = edge->getNumberOfBaseNodes(); - m < edge->getNumberOfNodes(); - m++) - { - conn_set.push_back( - const_cast<MeshLib::Node*>(edge->getNode(m))); - } - break; - } - } - - } - } - node->setConnectedNodes(conn_set); - } -} - void Mesh::setNodesConnectedByElements() { // Allocate temporary space for adjacent nodes. diff --git a/MeshLib/Mesh.h b/MeshLib/Mesh.h index d602e3b67d9a7dab688b84a7c4caab784dcff042..375af0258a2b8806de7f20d453e3466acd82f820 100644 --- a/MeshLib/Mesh.h +++ b/MeshLib/Mesh.h @@ -160,8 +160,6 @@ protected: /// Note: Using this implementation, an element e can only have neighbors that have the same dimensionality as e. void setElementNeighbors(); - void setNodesConnectedByEdges(); - /// Computes the element-connectivity of nodes. Two nodes i and j are /// connected if they are shared by an element. void setNodesConnectedByElements(); diff --git a/MeshLib/Node.h b/MeshLib/Node.h index b3a0733ea39bf8db15edc09a8f7f4b5aa2b341dc..ccd519139c3a58d89b3dda8b36d0ce2d3175707e 100644 --- a/MeshLib/Node.h +++ b/MeshLib/Node.h @@ -90,8 +90,7 @@ protected: void clearElements() { _elements.clear(); } /// Resets the connected nodes of this node. The connected nodes are - /// generated by Mesh::setNodesConnectedByEdges() and - /// Mesh::setNodesConnectedByElements(). + /// generated by Mesh::setNodesConnectedByElements(). void setConnectedNodes(std::vector<Node*> &connected_nodes) { _connected_nodes = connected_nodes;