00001 00005 class FVPolygon 00006 00007 { 00008 protected: 00009 00010 static SetOfNo(int) buffer; 00011 static bool first_segment; 00012 00013 VecSimple(int) faces; 00014 00015 int id; 00016 int nsd; 00017 int nfaces; 00018 00019 public: 00020 00021 FVPolygon (); 00022 FVPolygon (int nsd_); 00023 00024 ~FVPolygon() {} 00025 00026 int getNoSpaceDim () const { return nsd; } 00027 int getId () const { return id; } 00028 00029 void open (int n); 00030 void addFace (const FVFaceSeg& f); 00031 void close (); 00032 00033 void getFaces (VecSimple(int)& f) const { f = faces; } 00034 00035 void print (Os& os) const; 00036 00037 FVPolygon& operator = (const FVPolygon& p); 00038 00039 friend Os& operator << (Os& out, const FVPolygon& p); 00040 friend Is& operator >> (Is& in, FVPolygon& p); 00041 }; 00042 00043