contrib/gel/gst/gst_face_2d.h
Go to the documentation of this file.
00001 // This is gel/gst/gst_face_2d.h
00002 #ifndef gst_face_2d_h_
00003 #define gst_face_2d_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 //:
00008 // \file
00009 // \author crossge@crd.ge.com
00010 
00011 #include <vcl_vector.h>
00012 #include "gst_polygon_2d_sptr.h"
00013 
00014 //: This class defines a simplified topology structure in 2D.
00015 // It is light weight, and all interfacing should be done through the
00016 // face class
00017 
00018 class gst_face_2d
00019 {
00020  public:
00021 
00022   gst_face_2d( gst_polygon_2d_sptr polygon);
00023   gst_face_2d( gst_polygon_2d_sptr polygon, const vcl_vector<gst_polygon_2d_sptr> &holes);
00024   ~gst_face_2d();
00025 
00026  protected:
00027 
00028   // outside edge list
00029   gst_polygon_2d_sptr outside_;
00030 
00031   // list of holes
00032   vcl_vector<gst_polygon_2d_sptr> holes_;
00033 };
00034 
00035 #endif // gst_face_2d_h_