8#ifndef hp2dedge_traces_hh
9#define hp2dedge_traces_hh
15#include "geometry/cellConditions.hh"
25 class EdgeNormalVectorRule;
57 enum traceTypes { FIRST, MEAN, JUMP };
66 enum traceTypes
type = FIRST,
80 enum traceTypes
type = FIRST,
85 enum traceTypes
type = FIRST,
91 virtual uint
dim()
const {
return dim_; }
94 virtual uint
nelm()
const {
return nelm_; }
107 const_iterator i = uelm_.find(edge.
key());
108 if (i == uelm_.end())
127 virtual std::ostream&
info(std::ostream& os)
const;
144 std::unique_ptr<QuadEdgeBase> quadEdge_;
146 bool warn_edgeBuildMissElem_;
148 void constructType_(
enum traceTypes
type,
155 bool build_(
const Quad<Real>* elm, F condition);
const Key & key() const
Returns the key of the connector.
const concepts::HashMap< concepts::Sequence< UnderlyingElement > > uelm() const
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
TraceSpace(const concepts::SpaceOnCells< Real > &spc, const concepts::Set< uint > edgeAttr, enum traceTypes type=FIRST, const concepts::EdgeNormalVectorRule &normalVectorRule=concepts::EdgeNormalVectorRule())
virtual void recomputeShapefunctions()
const concepts::Sequence< UnderlyingElement > uelm(const concepts::Edge edge) const
Returns the underlying 2D elements.
virtual Scan * scan() const
Returns a scanner to iterate over the elements of the space.
TraceSpace(concepts::SpaceOnCells< Real > &spc, const concepts::CellConditions *cc=0, enum traceTypes type=FIRST, const concepts::EdgeNormalVectorRule normalVectorRule=concepts::EdgeNormalVectorRule())
virtual uint dim() const
Returns the dimension of the space.
virtual uint nelm() const
Returns the number of elements in the space.
Set< F > makeSet(uint n, const F &first,...)