diff --git a/MeshLib/Elements/PointRule1.cpp b/MeshLib/Elements/PointRule1.cpp index 8a952320f8f77c4c8d50f6e45143832b727b0a8f..c5f2bb68edaa72c11bfb2bf6beeee130ae5002f4 100644 --- a/MeshLib/Elements/PointRule1.cpp +++ b/MeshLib/Elements/PointRule1.cpp @@ -19,7 +19,7 @@ const unsigned PointRule1::edge_nodes[1][1] = {0} }; -double PointRule1::computeVolume(Node const* const* _nodes) +double PointRule1::computeVolume(Node const* const* /*_nodes*/) { return 0; } diff --git a/MeshLib/Elements/TemplateElement-impl.h b/MeshLib/Elements/TemplateElement-impl.h index 7c9f88b5d57ad076db08f29300cc4adf6c95038c..cba91a51bb326b423673efeec0c369ee5ed735e3 100644 --- a/MeshLib/Elements/TemplateElement-impl.h +++ b/MeshLib/Elements/TemplateElement-impl.h @@ -46,13 +46,35 @@ TemplateElement<ELEMENT_RULE>::TemplateElement(const TemplateElement &e) this->_content = e.getContent(); } + +namespace detail +{ + +template<unsigned N> +bool isEdge(unsigned const (&edge_nodes)[N], unsigned idx1, unsigned idx2) +{ + + if (edge_nodes[0]==idx1 && edge_nodes[1]==idx2) return true; + if (edge_nodes[1]==idx1 && edge_nodes[0]==idx2) return true; + + return false; +} + +inline bool +isEdge(unsigned const (&/*edge_nodes*/)[1], unsigned /*idx1*/, unsigned /*idx2*/) +{ + return false; +} + +} // namespace detail + + template <class ELEMENT_RULE> bool TemplateElement<ELEMENT_RULE>::isEdge(unsigned idx1, unsigned idx2) const { for (unsigned i(0); i<getNEdges(); i++) { - if (ELEMENT_RULE::edge_nodes[i][0]==idx1 && ELEMENT_RULE::edge_nodes[i][1]==idx2) return true; - if (ELEMENT_RULE::edge_nodes[i][1]==idx1 && ELEMENT_RULE::edge_nodes[i][0]==idx2) return true; + if (detail::isEdge(ELEMENT_RULE::edge_nodes[i], idx1, idx2)) return true; } return false; }