[wadalabfont-kit] / jis2prim / Assumption.h  

Diff of /jis2prim/Assumption.h

Parent Directory | Revision Log

version 1.1, Thu Feb 21 11:57:39 2002 UTC version 1.4, Tue Aug 20 11:10:36 2002 UTC
Line 1 
Line 1 
 #ifndef _ASSUMPTION_H  #ifndef _ASSUMPTION_H
 #define _ASSUMPTION_H  #define _ASSUMPTION_H
   #include <vector>
   #include <iostream>
   
 enum PtypeMask{  enum PtypeMask{
   TenMask=1<<0,    TenMask=1<<0,
   YokoMask=1<<1,    YokoMask=1<<1,
   TateMask=1<<2,    TateMask=1<<2,
     HidariMask=1<<3,
     TatehaneMask=1<<4,
     TatehidariMask=1<<5,
 };  };
 enum JointType{  enum JointType{
   Start,    Start,
Line 15 
Line 20 
 };  };
   
 class SimpleAssumption{  class SimpleAssumption{
   friend ostream& operator<<(ostream &os,const SimpleAssumption &sa);    friend std::ostream& operator<<(std::ostream &os,const SimpleAssumption &sa);
  protected:   protected:
   PtypeMask pmask;    PtypeMask pmask;
   JointType jtype;    JointType jtype;
   int x, y;    double x, y;
   int angle;    int angle;
     int hint;
  public:   public:
   SimpleAssumption(PtypeMask pm, JointType jt,int xx,int yy, int a)    SimpleAssumption(PtypeMask pm, JointType jt,double xx,double yy, int a,int h);
     :pmask(pm), jtype(jt), x(xx), y(yy), angle(a){}  
 };  };
 class AndAssumption{  class AndAssumption{
   friend ostream& operator<<(ostream &os,const AndAssumption &aa);    friend std::ostream& operator<<(std::ostream &os,const AndAssumption &aa);
  protected:   protected:
   vector<SimpleAssumption> saList;    std::vector<SimpleAssumption> saList;
  public:   public:
   AndAssumption& add(const SimpleAssumption &sa){    AndAssumption& add(const SimpleAssumption &sa);
     saList.push_back(sa);  
     return *this;  
   }  
 };  };
 class Assumption{  class Assumption{
   friend ostream& operator<<(ostream &os,const Assumption &as);    friend std::ostream& operator<<(std::ostream &os,const Assumption &as);
  private:   private:
   vector<AndAssumption> aaList;    std::vector<AndAssumption> aaList;
  public:   public:
   Assumption& add(const AndAssumption &sa){    Assumption& add(const AndAssumption &sa);
     aaList.push_back(sa);    Assumption& add(const SimpleAssumption &sa);
     return *this;  
   }  
 };  };
 ostream& operator<<(ostream &os,const SimpleAssumption &sa){  std::ostream& operator<<(std::ostream &os,const SimpleAssumption &sa);
   os << "SimpleAssumption(pmask=" << (int)(sa.pmask) << ",jtype=" << (int)(sa.jtype)  std::ostream& operator<<(std::ostream &os,const AndAssumption &aa);
      << ",x=" << sa.x << ",y=" << sa.y << ",angle=" << sa.angle << ")";  std::ostream& operator<<(std::ostream &os,const Assumption &a);
   return os;  
 }  
 ostream& operator<<(ostream &os,const AndAssumption &aa){  
   vector<SimpleAssumption>::const_iterator it;  
   os << "AndAssumption(";  
   for(it=aa.saList.begin(); it!=aa.saList.end(); it++){  
     os << *it << ' ';  
   }  
   os << ")";  
   return os;  
 }  
 ostream& operator<<(ostream &os,const Assumption &a){  
   vector<AndAssumption>::const_iterator it;  
   os << "Assumption(";  
   for(it=a.aaList.begin(); it!=a.aaList.end(); it++){  
     os << *it << ' ';  
   }  
   os << ")";  
   return os;  
 }  
   
 #endif /* _ASSUMPTION_H */  #endif /* _ASSUMPTION_H */


Generate output suitable for use with a patch program
Legend:
Removed from v.1.1  
changed lines
  Added in v.1.4

ktanaka

Powered by ViewCVS 1.0-dev

ViewCVS and CVS Help