Skip to content
Snippets Groups Projects
Commit 591e70c7 authored by Norihiro Watanabe's avatar Norihiro Watanabe
Browse files

remove unnecessary T_BASE template parameter from TemplateElement

parent b1693388
No related branches found
No related tags found
No related merge requests found
......@@ -19,7 +19,7 @@
#include "HexRule8.h"
namespace MeshLib {
typedef TemplateElement<Element, HexRule8> Hex;
typedef TemplateElement<HexRule8> Hex;
}
#endif /* HEX_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;
}
......
......@@ -20,7 +20,7 @@
namespace MeshLib {
typedef TemplateElement<Element, PrismRule6> Prism;
typedef TemplateElement<PrismRule6> Prism;
}
......
......@@ -20,7 +20,7 @@
namespace MeshLib {
typedef TemplateElement<Element, PyramidRule5> Pyramid;
typedef TemplateElement<PyramidRule5> Pyramid;
}
......
......@@ -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;
}
......
......@@ -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++)
{
......
......@@ -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
......
......@@ -20,7 +20,7 @@
namespace MeshLib {
typedef TemplateElement<Element,TetRule4> Tet;
typedef TemplateElement<TetRule4> Tet;
}
......
......@@ -20,7 +20,7 @@
namespace MeshLib {
typedef TemplateElement<Element,TriRule3> Tri;
typedef TemplateElement<TriRule3> Tri;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment