contrib/brl/bbas/btol/btol_vertex_algs.h
Go to the documentation of this file.
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