00001 #ifndef btol_vertex_algs_h_ 00002 #define btol_vertex_algs_h_ 00003 //----------------------------------------------------------------------------- 00004 //: 00005 // \file 00006 // \author J.L. Mundy 00007 // \brief topology algorithms involving vertices or vertex-centric routines 00008 // \verbatim 00009 // Initial version November 25, 2002 00010 // \endverbatim 00011 // 00012 //----------------------------------------------------------------------------- 00013 #include <vnl/vnl_matrix_fixed.h> 00014 #include <vtol/vtol_vertex_sptr.h> 00015 #include <vtol/vtol_vertex_2d_sptr.h> 00016 #include <vcl_vector.h> 00017 00018 class btol_vertex_algs 00019 { 00020 public: 00021 ~btol_vertex_algs(); 00022 00023 //: 00024 // Replaces va by vb on all the edges connected to va. 00025 // The result is that vb has the union of the sets of 00026 // edges incident on va and vb as superiors. 00027 static bool merge_superiors(vtol_vertex_sptr& va, 00028 vtol_vertex_sptr& vb); 00029 00030 static void vertex_erase(vcl_vector<vtol_vertex>& verts, 00031 vtol_vertex_sptr& v); 00032 00033 static vtol_vertex_2d_sptr transform(vtol_vertex_2d_sptr const& v, 00034 vnl_matrix_fixed<double, 3, 3> const& T); 00035 private: 00036 btol_vertex_algs(); 00037 }; 00038 00039 #endif