Class documentation of Concepts

Loading...
Searching...
No Matches
buildDofsBase.hh
Go to the documentation of this file.
1
8#ifndef buildDofsBase_hh
9#define buildDofsBase_hh
10
11#include "hp3D/space.hh"
12
13namespace hp3D {
14
15 // forward declaration
16 class Space;
17
18 // ********************************************************* BuildDofsBase **
19
32 public:
38 BuildDofsBase(Space& spc) : spc_(&spc) {}
44 virtual void operator()(concepts::Hexahedron& cntr,
54 virtual BuildDofsBase* clone(Space* spc = 0) const = 0;
56 Space* space() { return spc_; }
57 protected:
59 inline concepts::AdaptiveControl<>& ctrl0_(uint idx);
61 inline concepts::AdaptiveControlP<1>& ctrl1_(uint idx);
63 inline concepts::AdaptiveControlP<2>& ctrl2_(uint idx);
65 inline concepts::AdaptiveControlP<3>& ctrl3_(uint idx);
67 inline std::map<uint, concepts::VertexData>::const_iterator
68 vertexListFind(uint idx) const;
70 inline std::map<uint, concepts::VertexData>::const_iterator
71 vertexListEnd() const;
73 inline std::map<uint, concepts::EdgeData>::const_iterator
74 edgeListFind(uint idx) const;
76 inline std::map<uint, concepts::EdgeData>::const_iterator
77 edgeListEnd() const;
79 inline std::map<uint, concepts::FaceData>::const_iterator
80 faceListFind(uint idx) const;
82 inline std::map<uint, concepts::FaceData>::const_iterator
83 faceListEnd() const;
85 uint& dim_() { return spc_->dim_; }
87 inline void deactivate_(const concepts::Connector0& vtx);
90 inline void deactivate_(const concepts::Connector1& edg);
93 inline void deactivate_(const concepts::Connector2& face);
97 inline void computePmax_(const concepts::Hexahedron& cntr,
98 ushort Pmax[3]) const;
101 inline void getPmax_(const concepts::Hexahedron& cntr,
102 ushort Pmax[3]) const;
105 };
106
111
114 return spc_->ctrl1_->operator[](idx);
115 }
116
119 return spc_->ctrl2_->operator[](idx);
120 }
121
126
127 std::map<uint, concepts::VertexData>::const_iterator
130 return spc_->vertexList_.find(idx);
131 }
132
133 std::map<uint, concepts::VertexData>::const_iterator
136 return spc_->vertexList_.end();
137 }
138
139 std::map<uint, concepts::EdgeData>::const_iterator
142 return spc_->edgeList_.find(idx);
143 }
144
145 std::map<uint, concepts::EdgeData>::const_iterator
148 return spc_->edgeList_.end();
149 }
150
151 std::map<uint, concepts::FaceData>::const_iterator
154 return spc_->faceList_.find(idx);
155 }
156
157 std::map<uint, concepts::FaceData>::const_iterator
160 return spc_->faceList_.end();
161 }
162
165 spc_->deactivate_(vtx);
166 }
167
170 spc_->deactivate_(edg);
171 }
172
175 spc_->deactivate_(face);
176 }
177
179 ushort Pmax[3]) const {
181 spc_->computePmax_(cntr, Pmax);
182 }
183
185 ushort Pmax[3]) const {
187 spc_->getPmax_(cntr, Pmax);
188 }
189
190} // namespace hp3D
191
192#endif // buildDofsBase_hh
concepts::AdaptiveControlP< 2 > & ctrl2_(uint idx)
Returns face tag of face with key idx.
Space * spc_
Space to build the vertex degrees of freedom from.
BuildDofsBase()
Default constructor.
Space * space()
Returns the space.
concepts::AdaptiveControlP< 1 > & ctrl1_(uint idx)
Returns edge tag of edge with key idx.
std::map< uint, concepts::VertexData >::const_iterator vertexListEnd() const
Returns the end of the list with vertex data.
virtual void operator()(concepts::Hexahedron &cntr, concepts::TColumn< Real > *&T1)=0
concepts::AdaptiveControlP< 3 > & ctrl3_(uint idx)
Returns cell tag of cell with key idx.
std::map< uint, concepts::EdgeData >::const_iterator edgeListEnd() const
Returns the end of the list with edge data.
BuildDofsBase(Space &spc)
void computePmax_(const concepts::Hexahedron &cntr, ushort Pmax[3]) const
std::map< uint, concepts::FaceData >::const_iterator faceListEnd() const
Returns the end of the list with face data.
uint & dim_()
Returns a reference to the dimension of the space.
std::map< uint, concepts::VertexData >::const_iterator vertexListFind(uint idx) const
Returns the iterator to the vertex data of the vertex with key idx.
void deactivate_(const concepts::Connector0 &vtx)
Deactivates the children of the vertex vtx.
std::map< uint, concepts::FaceData >::const_iterator faceListFind(uint idx) const
Returns the iterator to the face data of the face with key idx.
std::map< uint, concepts::EdgeData >::const_iterator edgeListFind(uint idx) const
Returns the iterator to the edge data of the edge with key idx.
void getPmax_(const concepts::Hexahedron &cntr, ushort Pmax[3]) const
virtual BuildDofsBase * clone(Space *spc=0) const =0
concepts::AdaptiveControl & ctrl0_(uint idx)
Returns vertex tag of vertex with key idx.
#define conceptsAssert(cond, exc)
Definition meshDX.hh:23