diff --git a/MeshLib/Elements/Hex.h b/MeshLib/Elements/Hex.h index f8f1ff5dabd666816fb4b2818ce3d6b488628097..41ff206ad277f0538d37fe67d658210f16c38358 100644 --- a/MeshLib/Elements/Hex.h +++ b/MeshLib/Elements/Hex.h @@ -19,7 +19,7 @@ #include "HexRule8.h" namespace MeshLib { -typedef TemplateElement<Element, HexRule8> Hex; +typedef TemplateElement<HexRule8> Hex; } #endif /* HEX_H_ */ diff --git a/MeshLib/Elements/Line.h b/MeshLib/Elements/Line.h index 8e6eea1199b9826a3ec7c8e6464801e33bebd3a9..5616c32120adc75ef77e1d6b6016ce553426a5dd 100644 --- a/MeshLib/Elements/Line.h +++ b/MeshLib/Elements/Line.h @@ -21,8 +21,8 @@ namespace MeshLib { -typedef TemplateElement<Element, LineRule2> Line; -typedef TemplateElement<Element, LineRule3> Line3; +typedef TemplateElement<LineRule2> Line; +typedef TemplateElement<LineRule3> Line3; } diff --git a/MeshLib/Elements/Prism.h b/MeshLib/Elements/Prism.h index ad6c2bf58c2077ea9f0fabdda65f765ea1a9fc90..74e27e10180df88470ed0045d57194aedd7216d7 100644 --- a/MeshLib/Elements/Prism.h +++ b/MeshLib/Elements/Prism.h @@ -20,7 +20,7 @@ namespace MeshLib { -typedef TemplateElement<Element, PrismRule6> Prism; +typedef TemplateElement<PrismRule6> Prism; } diff --git a/MeshLib/Elements/Pyramid.h b/MeshLib/Elements/Pyramid.h index 1e4421f500af9c3098a5963246a0da2a06760f51..3e64caca3d6369ef5c26c4b24543d61b10bdf20b 100644 --- a/MeshLib/Elements/Pyramid.h +++ b/MeshLib/Elements/Pyramid.h @@ -20,7 +20,7 @@ namespace MeshLib { -typedef TemplateElement<Element, PyramidRule5> Pyramid; +typedef TemplateElement<PyramidRule5> Pyramid; } diff --git a/MeshLib/Elements/Quad.h b/MeshLib/Elements/Quad.h index 6be29a91e1e774a63b0218b289b7710e536c6c2e..c8bdb1d05da63a1f1a654604c3d0ad5fab5c706a 100644 --- a/MeshLib/Elements/Quad.h +++ b/MeshLib/Elements/Quad.h @@ -23,9 +23,9 @@ namespace MeshLib { -typedef TemplateElement<Element, QuadRule4> Quad; -typedef TemplateElement<Element, QuadRule8> Quad8; -typedef TemplateElement<Element, QuadRule9> Quad9; +typedef TemplateElement<QuadRule4> Quad; +typedef TemplateElement<QuadRule8> Quad8; +typedef TemplateElement<QuadRule9> Quad9; } diff --git a/MeshLib/Elements/TemplateElement-impl.h b/MeshLib/Elements/TemplateElement-impl.h index 37018153acd2a61915fe5d417129c56608369239..abf632023af7f6d4548023bd655af04c5afcc61c 100644 --- a/MeshLib/Elements/TemplateElement-impl.h +++ b/MeshLib/Elements/TemplateElement-impl.h @@ -14,19 +14,19 @@ namespace MeshLib #ifndef WIN32 /// \todo Windows compiler does not accept this definition and issues a linking error. -template <class T_BASE, class ELEMENT_RULE> -const unsigned TemplateElement<T_BASE, ELEMENT_RULE>::n_all_nodes; +template <class ELEMENT_RULE> +const unsigned TemplateElement<ELEMENT_RULE>::n_all_nodes; -template <class T_BASE, class ELEMENT_RULE> -const unsigned TemplateElement<T_BASE, ELEMENT_RULE>::n_base_nodes; +template <class ELEMENT_RULE> +const unsigned TemplateElement<ELEMENT_RULE>::n_base_nodes; -template <class T_BASE, class ELEMENT_RULE> -const unsigned TemplateElement<T_BASE, ELEMENT_RULE>::dimension; +template <class ELEMENT_RULE> +const unsigned TemplateElement<ELEMENT_RULE>::dimension; #endif // WIN32 -template <class T_BASE, class ELEMENT_RULE> -TemplateElement<T_BASE, ELEMENT_RULE>::TemplateElement(Node* nodes[n_all_nodes], unsigned value, std::size_t id) -: T_BASE(value, id) +template <class ELEMENT_RULE> +TemplateElement<ELEMENT_RULE>::TemplateElement(Node* nodes[n_all_nodes], unsigned value, std::size_t id) +: Element(value, id) { this->_nodes = nodes; this->_neighbors = new Element*[getNNeighbors()]; @@ -34,9 +34,9 @@ TemplateElement<T_BASE, ELEMENT_RULE>::TemplateElement(Node* nodes[n_all_nodes], this->_content = ELEMENT_RULE::computeVolume(this->_nodes); } -template <class T_BASE, class ELEMENT_RULE> -TemplateElement<T_BASE, ELEMENT_RULE>::TemplateElement(std::array<Node*, n_all_nodes> const& nodes, unsigned value, std::size_t id) -: T_BASE(value, id) +template <class ELEMENT_RULE> +TemplateElement<ELEMENT_RULE>::TemplateElement(std::array<Node*, n_all_nodes> const& nodes, unsigned value, std::size_t id) +: Element(value, id) { this->_nodes = new Node*[n_all_nodes]; std::copy(nodes.begin(), nodes.end(), this->_nodes); @@ -45,9 +45,9 @@ TemplateElement<T_BASE, ELEMENT_RULE>::TemplateElement(std::array<Node*, n_all_n this->_content = ELEMENT_RULE::computeVolume(this->_nodes); } -template <class T_BASE, class ELEMENT_RULE> -TemplateElement<T_BASE, ELEMENT_RULE>::TemplateElement(const TemplateElement &e) -: T_BASE(e.getValue(), e.getID()) +template <class ELEMENT_RULE> +TemplateElement<ELEMENT_RULE>::TemplateElement(const TemplateElement &e) +: Element(e.getValue(), e.getID()) { this->_nodes = new Node*[n_all_nodes]; for (unsigned i=0; i<n_all_nodes; i++) @@ -58,8 +58,8 @@ TemplateElement<T_BASE, ELEMENT_RULE>::TemplateElement(const TemplateElement &e) this->_content = e.getContent(); } -template <class T_BASE, class ELEMENT_RULE> -bool TemplateElement<T_BASE, ELEMENT_RULE>::isEdge(unsigned idx1, unsigned idx2) const +template <class ELEMENT_RULE> +bool TemplateElement<ELEMENT_RULE>::isEdge(unsigned idx1, unsigned idx2) const { for (unsigned i(0); i<getNEdges(); i++) { diff --git a/MeshLib/Elements/TemplateElement.h b/MeshLib/Elements/TemplateElement.h index 367f1f3e160155cf9e6391d24ddfcd8ffbc9311e..6dc375660796b587b34fe5d0fd9403a7ebab44ae 100644 --- a/MeshLib/Elements/TemplateElement.h +++ b/MeshLib/Elements/TemplateElement.h @@ -28,8 +28,8 @@ namespace MeshLib * \tparam T_BASE Base element class, e.g. Face, Cell * \tparam ELEMENT_RULE Geometrical and topological rules of the element */ -template <class T_BASE, class ELEMENT_RULE> -class TemplateElement : public T_BASE +template <class ELEMENT_RULE> +class TemplateElement : public Element { public: /// Constant: The number of all nodes for this element diff --git a/MeshLib/Elements/Tet.h b/MeshLib/Elements/Tet.h index b8ce5281e18dc9e48a2c80aaf47ce4fab9e220be..f8c9eaeeecf805bfb16234905929faaa5bd3b428 100644 --- a/MeshLib/Elements/Tet.h +++ b/MeshLib/Elements/Tet.h @@ -20,7 +20,7 @@ namespace MeshLib { -typedef TemplateElement<Element,TetRule4> Tet; +typedef TemplateElement<TetRule4> Tet; } diff --git a/MeshLib/Elements/Tri.h b/MeshLib/Elements/Tri.h index 0a43e95c943bb93085f58f48aa13950ca75a87d6..7b7cc360329e31a1b5c57855d017050c2b9856a1 100644 --- a/MeshLib/Elements/Tri.h +++ b/MeshLib/Elements/Tri.h @@ -20,7 +20,7 @@ namespace MeshLib { -typedef TemplateElement<Element,TriRule3> Tri; +typedef TemplateElement<TriRule3> Tri; }