diff --git a/src/mesh/Connectivity.hpp b/src/mesh/Connectivity.hpp index dc2e0e890646b6e2a57a2d0e8d27eb1bbb4e1f4a..3ec986e8b710181643bfe02cbfdf8d7c55b52d7c 100644 --- a/src/mesh/Connectivity.hpp +++ b/src/mesh/Connectivity.hpp @@ -123,9 +123,10 @@ class Connectivity final : public IConnectivity friend class ConnectivityComputer; + public: PUGS_INLINE const ConnectivityMatrix& - _getMatrix(const ItemType& item_type_0, const ItemType& item_type_1) const + getMatrix(const ItemType& item_type_0, const ItemType& item_type_1) const final { const ConnectivityMatrix& connectivity_matrix = m_item_to_item_matrix[itemTId(item_type_0)][itemTId(item_type_1)]; if (not connectivity_matrix.isBuilt()) { @@ -135,7 +136,6 @@ class Connectivity final : public IConnectivity return connectivity_matrix; } - public: PUGS_INLINE CellValue<const CellType> cellType() const @@ -336,7 +336,7 @@ class Connectivity final : public IConnectivity PUGS_INLINE ItemToItemMatrix<source_item_type, target_item_type> getItemToItemMatrix() const { - return ItemToItemMatrix<source_item_type, target_item_type>(_getMatrix(source_item_type, target_item_type)); + return ItemToItemMatrix<source_item_type, target_item_type>(getMatrix(source_item_type, target_item_type)); } PUGS_INLINE diff --git a/src/mesh/ConnectivityComputer.cpp b/src/mesh/ConnectivityComputer.cpp index 3c4d1714fb5e7e091acb7c612c21ff025c930edf..7e8b32020843d9a1c8ea5ec1077dc34135e2dd88 100644 --- a/src/mesh/ConnectivityComputer.cpp +++ b/src/mesh/ConnectivityComputer.cpp @@ -15,7 +15,7 @@ ConnectivityComputer::computeConnectivityMatrix(const ConnectivityType& connecti { ConnectivityMatrix item_to_child_item_matrix; if (connectivity.isConnectivityMatrixBuilt(child_item_type, item_type)) { - const ConnectivityMatrix& child_to_item_matrix = connectivity._getMatrix(child_item_type, item_type); + const ConnectivityMatrix& child_to_item_matrix = connectivity.getMatrix(child_item_type, item_type); std::cout << "computing connectivity " << itemName(item_type) << " -> " << itemName(child_item_type) << '\n'; @@ -58,7 +58,7 @@ ConnectivityComputer::_computeInverse(const ConnectivityMatrix& item_to_child_ma size_t i = 0; for (const auto& [child_item_id, item_vector] : child_to_item_vector_map) { if (child_item_id != i) { - throw NotImplementedError("sparse item numerotation NIY\n"); + throw NotImplementedError("sparse item numerotation"); } ++i; } diff --git a/src/mesh/IConnectivity.hpp b/src/mesh/IConnectivity.hpp index 90c49e4d818e6caa6414992e9ebaf7bdf46f15cc..def3475c386a3e3b321ea640cdf378456f39fac6 100644 --- a/src/mesh/IConnectivity.hpp +++ b/src/mesh/IConnectivity.hpp @@ -9,16 +9,15 @@ class IConnectivity : public std::enable_shared_from_this<IConnectivity> { - protected: + public: template <typename DataType, typename ItemOfItem, typename ConnectivityPtr> friend class SubItemValuePerItem; template <typename DataType, typename ItemOfItem, typename ConnectivityPtr> friend class SubItemArrayPerItem; - virtual const ConnectivityMatrix& _getMatrix(const ItemType& item_type_0, const ItemType& item_type_1) const = 0; + virtual const ConnectivityMatrix& getMatrix(const ItemType& item_type_0, const ItemType& item_type_1) const = 0; - public: virtual size_t dimension() const = 0; std::shared_ptr<const IConnectivity> diff --git a/src/mesh/SubItemArrayPerItem.hpp b/src/mesh/SubItemArrayPerItem.hpp index 96a8edb56a1a2890e76128ab652ab7d0100b9201..318063f8a6ebf8485c0411897240b2d9aa92df06 100644 --- a/src/mesh/SubItemArrayPerItem.hpp +++ b/src/mesh/SubItemArrayPerItem.hpp @@ -197,7 +197,7 @@ class SubItemArrayPerItem static_assert(not std::is_const_v<DataType>, "Cannot allocate SubItemArrayPerItem of const data: only " "view is supported"); - ConnectivityMatrix connectivity_matrix = connectivity._getMatrix(item_type, sub_item_type); + ConnectivityMatrix connectivity_matrix = connectivity.getMatrix(item_type, sub_item_type); m_row_map = connectivity_matrix.rowsMap(); m_values = Table<std::remove_const_t<DataType>>(connectivity_matrix.numberOfValues(), size_of_arrays); diff --git a/src/mesh/SubItemValuePerItem.hpp b/src/mesh/SubItemValuePerItem.hpp index 8201176563de657a8e5af8245c38c0d5572a7531..865238539b3fe4a0ba3e90326c33f39bfa54d683 100644 --- a/src/mesh/SubItemValuePerItem.hpp +++ b/src/mesh/SubItemValuePerItem.hpp @@ -192,10 +192,10 @@ class SubItemValuePerItem static_assert(not std::is_const_v<DataType>, "Cannot allocate SubItemValuePerItem of const data: only " "view is supported"); - ConnectivityMatrix connectivity_matrix = connectivity._getMatrix(item_type, sub_item_type); + ConnectivityMatrix connectivity_matrix = connectivity.getMatrix(item_type, sub_item_type); m_row_map = connectivity_matrix.rowsMap(); - m_values = Array<std::remove_const_t<DataType>>(connectivity_matrix.numberOfValues()); + m_values = Array<DataType>(connectivity_matrix.numberOfValues()); } ~SubItemValuePerItem() = default;