11#ifndef facetteTracetypes_hh
12#define facetteTracetypes_hh
14#define FacetteTraceDeconstr_D 0
33 template<
class NormalVectorRule>
36 enum traceTypes { FIRST, MEAN, JUMP, PLUS, MINUS, BDD };
42 type_(
fttype.type_), normalVectorRule_(
fttype.normalVectorRule_->clone()){}
49 DEBUGL(FacetteTraceDeconstr_D,
"Delete done.")
55 normalVectorRule_.reset(
fttype.normalVectorRule_->clone());
63 case FIRST :
return "FIRST";
break;
64 case MEAN :
return "MEAN";
break;
65 case JUMP :
return "JUMP";
break;
66 case PLUS :
return "PLUS";
break;
67 case MINUS :
return "MINUS";
break;
68 default:
return "UNDEFINED";
72 enum traceTypes type()
const {
return type_; }
77 virtual std::ostream&
info(std::ostream&
os)
const{
82 enum traceTypes type_;
84 std::unique_ptr< NormalVectorRule> normalVectorRule_;
101 template<
class NormalVectorRule>
113 DEBUGL(FacetteTraceDeconstr_D,
"Delete done.")
124 typename std::map<uint,FacetteTraceType<NormalVectorRule> >::const_iterator i = facetteTraceTypes_.find(attrib.
attrib());
125 DEBUGL(FacetteTraceDeconstr_D,
"i = " << i->second)
126 assert( i != facetteTraceTypes_.end());
146 for( ;
iter != attrib.end();
iter++){
156 typename std::map<uint, FacetteTraceType<NormalVectorRule> >::const_iterator
iter = facetteTraceTypes_.begin();
157 for( ;
iter!= facetteTraceTypes_.end();
iter++){
164 virtual std::ostream&
info(std::ostream&
os)
const{
166 typename std::map<uint,FacetteTraceType<NormalVectorRule> >::const_iterator
iter = facetteTraceTypes_.begin();
167 for( ;
iter!= facetteTraceTypes_.end();
iter++){
168 os <<
"Attribute("<<
iter->first<<
") --> "<<(facetteTraceTypes_[
iter->first])<<std::endl;
176 mutable std::map<uint, FacetteTraceType<NormalVectorRule> > facetteTraceTypes_;
uint attrib() const
Returns the attribute.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
std::string typeStr() const
Return the type of the edgeTraceType as output string.
Set< uint > domain() const
virtual ~FacetteTraceTypes()
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
void add(const Attribute &attrib, const FacetteTraceType< NormalVectorRule > &fttObject)
virtual FacetteTraceType< NormalVectorRule > operator()(Attribute attrib) const
#define DEBUGL(doit, msg)
std::string typeOf(const T &t)
Set< F > makeSet(uint n, const F &first,...)