contrib/gel/gst/gst_polygon_2d_operators.h
Go to the documentation of this file.
00001 // This is gel/gst/gst_polygon_2d_operators.h
00002 #ifndef gst_polygon_2d_operators_h_
00003 #define gst_polygon_2d_operators_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 
00013 #include "gst_edge_2d_sptr.h"
00014 #include "gst_polygon_2d_sptr.h"
00015 
00016 //: Turn a list of edges into a list of polygons.
00017 // This is not necessarily efficient, and not unique if the topology
00018 // is complicated.  If there are shared edges, beware... it might be ok, though.
00019 //
00020 //  The edges must be correctly oriented (which makes possible shared edges
00021 //  difficult).
00022 vcl_vector<gst_polygon_2d_sptr> gst_make_polygons_2d( const vcl_vector<gst_edge_2d_sptr> edges);
00023 
00024 //: Turn a list of edges into a list of polygons.
00025 // Each edge can only be used  once, BUT orientation is not important.
00026 vcl_vector<gst_polygon_2d_sptr> gst_make_polygons_2d_unoriented( const vcl_vector<gst_edge_2d_sptr> edges);
00027 
00028 #endif // gst_polygon_2d_operators_h_