00001 #ifndef msm_reflect_shape_h_ 00002 #define msm_reflect_shape_h_ 00003 //: 00004 // \file 00005 // \brief Set of 2D points, stored in a vnl_vector (x0,y0,x1,y1...) 00006 // \author Tim Cootes 00007 00008 #include <msm/msm_points.h> 00009 00010 //: Reflect points in the line x=ax, then re-number 00011 // On exit, new_points[i] = points[sym_pts[i]] reflected in x=ax 00012 // \param sym_pts[i] defines the point symmetric with point i 00013 // Renumbering necessary for symmetric shapes. For instance, 00014 // if reflecting a face, the left eye becomes the right eye. 00015 // This would mangle a model, so we renumber. 00016 void msm_reflect_shape_along_x(const msm_points& points, 00017 const vcl_vector<unsigned>& sym_pts, 00018 msm_points& new_points, 00019 double ax=0.0); 00020 00021 #endif // msm_reflect_shape_h_