Class documentation of Concepts

Loading...
Searching...
No Matches
normalVector.hh
Go to the documentation of this file.
1
8#ifndef normalVector_hh
9#define normalVector_hh
10
11#include "basics/typedefs.hh"
12#include "basics/Zm.hh"
13#include "connectorSet.hh"
14#include "connector.hh"
15
16namespace concepts {
17
18 // forward declaration
19 class Cell2;
20 class Cell3;
21
22 // **************************************************** EdgeNormalVectorRule **
23
32 public:
33 virtual EdgeNormalVectorRule* clone() const {
34 return new EdgeNormalVectorRule();
35 }
36
37 virtual Z2 operator()(const Cell2& cell, uint k) const;
38 protected:
39 virtual std::ostream& info(std::ostream& os) const;
40 };
41
42 // ********************************************** EdgeNormalVectorRuleAttrib **
43
53 public:
61 : attrib_(attrib), outer_(outer) {}
62
63// EdgeNormalVectorRuleAttrib(const EdgeNormalVectorRuleAttrib& e)
64// : attrib_(e.attrib_), outer_(e.outer_) {}
65
66 virtual EdgeNormalVectorRuleAttrib* clone() const {
67 return new EdgeNormalVectorRuleAttrib(*this);
68 }
69
70 virtual Z2 operator()(const Cell2& cell, uint k) const;
71 protected:
72 virtual std::ostream& info(std::ostream& os) const;
73 private:
75 const Set<Attribute> attrib_;
79 bool outer_;
80 };
81
82 // ******************************************** EdgeNormalVectorRuleMidPoint **
83
94 public:
102 : midpoint_(midpoint), outer_(outer) {}
103
104 virtual EdgeNormalVectorRuleMidPoint* clone() const {
105 return new EdgeNormalVectorRuleMidPoint(*this);
106 }
107
108 virtual Z2 operator()(const Cell2& cell, uint k) const;
109 protected:
110 virtual std::ostream& info(std::ostream& os) const;
111 private:
113 const Real2d midpoint_;
117 bool outer_;
118 };
119
120 // **************************************************** FaceNormalVectorRule **
121
130 public:
131 virtual FaceNormalVectorRule* clone() const {
132 return new FaceNormalVectorRule();
133 }
134
135 virtual Z2 operator()(const Cell3& cell, uint k) const;
136 protected:
137 virtual std::ostream& info(std::ostream& os) const;
138
139 };
140
141} // namespace concepts
142
143#endif // normalVector_hh
Two dimensional cell.
Definition cell.hh:89
Three dimensional cell.
Definition cell.hh:112
EdgeNormalVectorRuleAttrib(const Set< Attribute > attrib, bool outer=true)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
EdgeNormalVectorRuleMidPoint(const Real2d midpoint, bool outer=true)
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 std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Set< F > makeSet(uint n, const F &first,...)
Definition set.hh:320