Class documentation of Concepts

Loading...
Searching...
No Matches
gridInfo.hh
Go to the documentation of this file.
1
9#ifndef hp2DgridInfo_hh
10#define hp2DgridInfo_hh
11
12#include "toolbox/hashMap.hh"
13#include "toolbox/sequence.hh"
14#include "space.hh"
15#include "geometry/connector.hh"
16#include "hp2D/element.hh"
17
18namespace hp2D {
19
20 // *************************************************************** GridInfo **
21
41 template<class F = Real>
43 public:
47
59 enum Type {
60 regular = 0, cIrregular = 1, sIrregular = 2
61 };
62
70 const concepts::Set<uint>& edgeAttr);
71
77 const EdgeToElms& get(Type type) const;
78
83 const CoarseToSuccessor& get() const;
84
87
88 protected:
90 virtual std::ostream& info(std::ostream& os) const;
91
92 private:
93
94 // copy to attribute to identify active edges
95 concepts::Set<uint> edgeAttr_;
96
101 void build_(const concepts::SpaceOnCells<F>& spc,
102 const concepts::Set<uint> edgeAttr);
103
113 EdgeToElms map_reg;
114
119 EdgeToElms map_cIrr;
120
125 EdgeToElms map_sIrr;
126
136 CoarseToSuccessor map_CtS;
137
138 //test for edge-attribute is in the Set of requested edgeAttributes
139 inline bool activeEdge_(const concepts::Set<uint>& edgeAttr,
140 const concepts::Connector1& edge) const {
141 return edgeAttr.exist(edge.attrib());
142 }
143
156 void get_sIrr_(const concepts::Connector1* edge, uint cE,
157 const std::set<uint>& edge_1, std::set<uint>& edge_s,
159
160 };
161
162} // namespace hp2D
163
164#endif // hp2DgridInfo_hh
bool exist(F val) const
Returns true, if a value is in the set.
Definition set.hh:296
const Attribute & attrib() const
Returns the attribute of the connector.
Definition connector.hh:108
GridInfo(const concepts::SpaceOnCells< F > &spc, const concepts::Set< uint > &edgeAttr)
const concepts::Set< uint > & attribute() const
Returns the setted attributes.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
const EdgeToElms & get(Type type) const
const CoarseToSuccessor & get() const