42 enum subdivTypes { NONE = 0, X = 1, Y = 2};
43 static const short MAXSHORT = 32767;
59 const int*
const p,
const uint subdiv = X | Y,
61 spc_(&spc), attribVtx_(attribVtx), attribEdge_(attribEdge),
62 attribCell_(nullptr), p_(p),
63 subdiv_(subdiv), level_(MAXSHORT) {
68 const int*
const p,
const uint subdiv = X | Y,
70 spc_(&spc), adj_(0), attribVtx_(0), attribEdge_(0), attribCell_(nullptr),
71 p_(p), subdiv_(subdiv), level_(level) {}
90 const int*
const p,
const uint subdiv = X | Y) :
91 spc_(0), adj_(&adj), attribVtx_(attribVtx), attribEdge_(attribEdge),
92 attribCell_(nullptr), p_(p), subdiv_(subdiv), level_(MAXSHORT) {}
97 virtual std::ostream&
info(std::ostream& os)
const;
107 std::unique_ptr<concepts::Attribute> attribCell_;
123 enum subdivTypes { NONE = 0, X = 1, Y = 2};
124 static const short MAXSHORT = 32767;
129 virtual std::ostream&
info(std::ostream& os)
const;
151 const int*
const p,
const uint subdiv = X | Y);
154 attribVtx_(rule.attribVtx_), attribEdge_(rule.attribEdge_),
155 p_(rule.p_), subdiv_(rule.subdiv_) {}
164 virtual std::ostream&
info(std::ostream& os)
const;
187 p_(p), subdiv_(subdiv) {}
190 p_(rule.p_), subdiv_(rule.subdiv_) {}
194 virtual std::ostream&
info(std::ostream& os)
const;
213 adj_(&adj), rule_(rule) {}
217 rules_[attrib] = rule;
219 std::map<uint, APrioriRefinementRule*>::
220 iterator i = rules_.find(attrib);
221 if (i != rules_.end()) rules_.erase(i);
233 std::map<uint, APrioriRefinementRule*> rules_;
concepts::Set< concepts::Attribute > & attribVtx()
Returns set of attributes to refine toward this vertices.
concepts::Set< concepts::Attribute > & attribEdge()
Returns set of attributes to refine toward this edge.
APrioriGeometricRefinement(const APrioriGeometricRefinement &rule)
Copy constructor.
APrioriGeometricRefinement(concepts::Attribute attribVtx, concepts::Attribute attribEdge, const int *const p, const uint subdiv=X|Y)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
void add(concepts::Attribute attrib, APrioriRefinementRule *rule)
Adds rule for a particular cell attribute.
APrioriRefinementNew(concepts::Adaptivity< concepts::Connector, concepts::AdaptiveAdjustP< 2 > > &adj, APrioriRefinementRule *rule=0)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
APrioriRefinement(concepts::Adaptivity< concepts::Connector, concepts::AdaptiveAdjustP< 2 > > &adj, concepts::Attribute attribVtx, concepts::Attribute attribEdge, const int *const p, const uint subdiv=X|Y)
APrioriRefinement(concepts::AdaptiveSpace< Real, concepts::AdaptiveAdjustP< 2 > > &spc, concepts::Attribute attribVtx, concepts::Attribute attribEdge, const int *const p, const uint subdiv=X|Y, const concepts::Attribute attribCell=0)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
APrioriRegularRefinement(const int *const p, const uint subdiv=X|Y)
APrioriRegularRefinement(const APrioriRegularRefinement &rule)
Copy constructor.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.