46 return _data[node_id].size();
50 std::size_t
const node_id)
const
52 return _data[node_id];
58 if (
_data.size() != nodes.size())
60 _data.resize(nodes.size());
63 auto const& connections =
65 for (
auto const* node : nodes)
67 auto const node_id = node->getID();
68 auto const& connected_nodes = connections[node_id];
69 std::vector<std::size_t>& row =
_data[node_id];
70 row.reserve(connected_nodes.size());
71 std::transform(connected_nodes.cbegin(), connected_nodes.cend(),
72 std::back_inserter(row),
73 [](
Node const*
const n) { return n->getID(); });
78 std::vector<std::vector<std::size_t>>
_data;
Definition of the Mesh class.
std::vector< Node * > const & getNodes() const
Get the nodes-vector for the mesh.
void createTable(Mesh const &mesh)
std::size_t getNodeDegree(std::size_t const node_id) const
std::vector< std::vector< std::size_t > > _data
NodeAdjacencyTable(Mesh const &mesh)
std::vector< std::size_t > const & getAdjacentNodes(std::size_t const node_id) const
std::vector< std::vector< Node * > > calculateNodesConnectedByElements(Mesh const &mesh)