Class documentation of Concepts

Loading...
Searching...
No Matches
frmE_normalVector.hh
Go to the documentation of this file.
1
6#ifndef elemFormulaNormalTangentialVector_hh
7#define elemFormulaNormalTangentialVector_hh
8
9#include "basics/typedefs.hh"
11
12namespace concepts {
13
14
15 // ****************************************************** FrmE_NormalVector **
16
26 class FrmE_NormalVector : public ElementFormula<Real2d> {
27 public:
28 virtual Real2d operator() (const ElementWithCell<Real>& elm,
29 const Real p, const Real t = 0.0) const;
30 virtual Real2d operator() (const ElementWithCell<Real>& elm,
31 const Real2d& p,
32 const Real t = 0.0) const {
33 return (*this)(elm, p[0], t);
34 }
35 virtual Real2d operator() (const ElementWithCell<Real>& elm,
36 const Real3d& p,
37 const Real t = 0.0) const {
38 return (*this)(elm, p[0], t);
39 }
40
42 virtual FrmE_NormalVector* clone() const {
43 return new FrmE_NormalVector();
44 }
45 protected:
46 virtual std::ostream& info(std::ostream& os) const;
47 };
48
49 // ************************************************** FrmE_TangentialVector **
50
60 class FrmE_TangentialVector : public ElementFormula<Real2d> {
61 public:
62 virtual Real2d operator() (const ElementWithCell<Real>& elm,
63 const Real p, const Real t = 0.0) const;
64 virtual Real2d operator() (const ElementWithCell<Real>& elm,
65 const Real2d& p,
66 const Real t = 0.0) const {
67 return (*this)(elm, p[0], t);
68 }
69 virtual Real2d operator() (const ElementWithCell<Real>& elm,
70 const Real3d& p,
71 const Real t = 0.0) const {
72 return (*this)(elm, p[0], t);
73 }
74
76 virtual FrmE_TangentialVector* clone() const {
77 return new FrmE_TangentialVector();
78 }
79 protected:
80 virtual std::ostream& info(std::ostream& os) const;
81 };
82
83 // **************************************************** FrmE_NormalVector3d **
84
91 class FrmE_NormalVector3d : public ElementFormula<Real3d> {
92 public:
93 virtual Real3d operator() (const ElementWithCell<Real> &elm,
94 const Real2d &p, const Real t = 0.0) const;
95 virtual Real3d operator() (const ElementWithCell<Real> &elm,
96 const Real3d &p, const Real t = 0.0) const
97 {
98 return (*this)(elm, Real2d(p[0],p[1]),t);
99 }
100 virtual Real3d operator() (const ElementWithCell<Real> &elm,
101 const Real p, const Real t = 0.0) const;
102
103 virtual FrmE_NormalVector3d* clone() const {
104 return new FrmE_NormalVector3d();
105 }
106 protected:
107 virtual std::ostream& info(std::ostream& os) const;
108 };
109
110} // namespace concepts
111
112#endif // elemFormulaNormalTangentialVector_hh
113
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual FrmE_NormalVector3d * clone() const
Virtual copy constructor.
virtual FrmE_NormalVector * clone() const
Virtual copy constructor.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual FrmE_TangentialVector * clone() const
Virtual copy constructor.
double Real
Definition typedefs.hh:39
Set< F > makeSet(uint n, const F &first,...)
Definition set.hh:320