/users/wolffm/guskov/Source/TileFaceIter.hh

Go to the documentation of this file.
00001 #ifndef DEF_TILEFACEITER_123
00002 #define DEF_TILEFACEITER_123
00003 
00004 #include "Common.hh"
00005 #include <list>
00006 
00007 class Tile;
00008 
00009 
00011 class Tile_Face_Iter
00012 {
00013   private:
00014     
00016     Tile* t;
00017 
00019     OriginalMesh* m;
00020 
00022     OpenMesh::FPropHandleT< bool >  fprop_face_visited;
00023 
00025     OpenMesh::VPropHandleT< unsigned int > vprop_tile;
00026 
00028     list<OriginalMesh::FaceHandle> unvisited_faces;
00029 
00031     Tile_Face_Iter(Tile* tile, OriginalMesh* mesh);
00032 
00034     Tile_Face_Iter(Tile* tile, OriginalMesh* mesh, OriginalMesh::FaceHandle& fh);
00035         
00037     void add_adjacent_faces(OriginalMesh::FaceHandle fh);
00038 
00039   public:
00040 
00041     
00042     friend class Tile;
00043  
00045     Tile_Face_Iter() {
00046         t = NULL;
00047         m = NULL;
00048         unvisited_faces.clear();
00049       };
00050 
00052     virtual ~Tile_Face_Iter()
00053     {
00054       if(m != NULL)
00055         m->remove_property(fprop_face_visited);
00056     };
00057 
00059     void operator++();
00060 
00062     Tile_Face_Iter& operator= (const Tile_Face_Iter& it);
00063 
00065     bool is_valid();
00066 
00068     OriginalMesh::FaceHandle operator *();
00069 
00070 };
00071 
00072 
00073 
00074 #endif

Generated on Fri Jun 15 17:24:59 2007 for GuskovRemeshing by  doxygen 1.5.2