#include "Assumption.h" SimpleAssumption::SimpleAssumption(PtypeMask pm, JointType jt,double xx,double yy, int a,int h) :pmask(pm), jtype(jt), x(xx), y(yy), angle(a), hint(h){} AndAssumption& AndAssumption::add(const SimpleAssumption &sa){ saList.push_back(sa); return *this; } Assumption& Assumption::add(const AndAssumption &sa){ aaList.push_back(sa); return *this; } Assumption& Assumption::add(const SimpleAssumption &sa){ aaList.push_back(AndAssumption().add(sa)); return *this; } std::ostream& operator<<(std::ostream &os,const SimpleAssumption &sa){ os << "SimpleAssumption(pmask=" << (int)(sa.pmask) << ",jtype=" << (int)(sa.jtype) << ",x=" << sa.x << ",y=" << sa.y << ",angle=" << sa.angle << ",hint=" << sa.hint << ")"; return os; } std::ostream& operator<<(std::ostream &os,const AndAssumption &aa){ std::vector::const_iterator it; if(aa.saList.size()==1){ return os << *(aa.saList.begin()); } os << "AndAssumption("; for(it=aa.saList.begin(); it!=aa.saList.end(); it++){ os << *it << ' '; } os << ")"; return os; } std::ostream& operator<<(std::ostream &os,const Assumption &a){ std::vector::const_iterator it; if(a.aaList.size()==1){ return os << *(a.aaList.begin()); } os << "Assumption("; for(it=a.aaList.begin(); it!=a.aaList.end(); it++){ os << *it << ' '; } os << ")"; return os; }