79 edge(
const Quad<F>& elm,
const ushort k,
bool emptyElm =
true,
82 virtual std::ostream&
info(std::ostream& os)
const;
112 void transferDof_(
const ushort* p,
const ushort k,
const bool rho,
113 const bool first,
const Z2 dir,
125 bool edgeDof_(
const ushort* p,
const ushort k,
const bool rho,
126 const uint dofQuad, uint& dofEdge);
137 virtual std::ostream&
info(std::ostream& os)
const;
139 virtual Real weight_(
bool first,
Z2 dir)
const;
150 virtual std::ostream&
info(std::ostream& os)
const;
152 virtual Real weight_(
bool first,
Z2 dir)
const;
163 virtual std::ostream&
info(std::ostream& os)
const;
165 virtual Real weight_(
bool first,
Z2 dir)
const;
194 : normalVectorRule_(normalVectorRule.clone())
217edge(
const Quad<F>& elm,
const ushort k,
bool emptyElm =
true,
220virtual std::ostream& info(std::ostream& os)
const;
223std::unique_ptr<const concepts::EdgeNormalVectorRule> normalVectorRule_;
235virtual Real weight_(
bool first, Z2 dir)
const = 0;
250void transferDof_(
const ushort* p,
const ushort k,
const bool rho,
251 const bool first,
const Z2 dir,
258class QuadEdgeFirst :
public QuadEdgeBase {
262: QuadEdgeBase(normalVectorRule) {}
264virtual std::ostream& info(std::ostream& os)
const;
266virtual Real weight_(
bool first, Z2 dir)
const;
271class QuadEdgeMean :
public QuadEdgeBase {
275: QuadEdgeBase(normalVectorRule) {}
277virtual std::ostream& info(std::ostream& os)
const;
279virtual Real weight_(
bool first, Z2 dir)
const;
284class QuadEdgeJump :
public QuadEdgeBase {
288: QuadEdgeBase(normalVectorRule) {}
290virtual std::ostream& info(std::ostream& os)
const;
292virtual Real weight_(
bool first, Z2 dir)
const;
std::unique_ptr< const concepts::EdgeNormalVectorRule > normalVectorRule_
Rule for defining the direction of the normal vector for new edges.
virtual Real weight_(bool first, Z2 dir) const =0
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
QuadEdgeBase(const concepts::EdgeNormalVectorRule &normalVectorRule=concepts::EdgeNormalVectorRule())
std::pair< hp1D::Element< F > *, concepts::Edge2d * > edge(const Quad< F > &elm, const ushort k, bool emptyElm=true, hp1D::Element< F > *edge=0)
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.