Class documentation of Concepts

Loading...
Searching...
No Matches
element.hh
Go to the documentation of this file.
1
6#ifndef hpElement3d_h
7#define hpElement3d_h
8
9#include <cstring>
11#include "geometry/connector.hh"
12#include "geometry/cell.hh"
13#include "space/element.hh"
14#include "space/tmatrix.hh"
15
16namespace hp3D {
17
18 using concepts::Real;
19
20 // *************************************************************** Element **
21
28 template<class F>
30 public:
36 inline Element(concepts::TColumn<Real>* T, uint p) : T_(T) {
37 p_[0] = p_[1] = p_[2] = p;
38 }
39
45 inline Element(concepts::TColumn<Real>* T, const ushort* p) : T_(T) {
46 std::memcpy(p_, p, 3*sizeof(ushort));
47 }
48
51 inline const ushort* p() const { return p_; }
52
57 virtual const concepts::Connector3& support() const = 0;
58
59 virtual const concepts::TMatrix<Real>& T() const { return T_; }
60
63
68 virtual concepts::Real3d vertex(uint i) const = 0;
69
73 virtual const concepts::Cell3& cell() const = 0;
74
76 virtual bool operator<(const Element<F>& elm) const = 0;
77 protected:
78 virtual std::ostream& info(std::ostream& os) const;
79
82 private:
84 ushort p_[3];
85 };
86
87} // namespace hp3d
88
89#endif // hpElement3d_h
Three dimensional cell.
Definition cell.hh:112
void append(TColumn< F > *T)
virtual bool operator<(const Element< F > &elm) const =0
Comparison operator for elements.
void appendT(concepts::TColumn< Real > *T)
Appends the T columns to the T matrix.
Definition element.hh:62
virtual concepts::Real3d vertex(uint i) const =0
Element(concepts::TColumn< Real > *T, uint p)
Definition element.hh:36
Element(concepts::TColumn< Real > *T, const ushort *p)
Definition element.hh:45
const ushort * p() const
Definition element.hh:51
virtual const concepts::Cell3 & cell() const =0
virtual const concepts::Connector3 & support() const =0
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual const concepts::TMatrix< Real > & T() const
Returns the T matrix of the element.
Definition element.hh:59
concepts::TMatrix< Real > T_
T matrix of the element.
Definition element.hh:81
double Real
Definition typedefs.hh:39
Definition meshDX.hh:23