00001 // This is brl/bbas/imesh/algo/imesh_transform.h 00002 #ifndef imesh_transform_h_ 00003 #define imesh_transform_h_ 00004 //: 00005 // \file 00006 // \brief Functions for transforming meshes 00007 // \author Matt Leotta (mleotta@lems.brown.edu) 00008 // \date May 8, 2008 00009 00010 #include <imesh/imesh_mesh.h> 00011 #include <vgl/vgl_vector_3d.h> 00012 #include <vgl/algo/vgl_rotation_3d.h> 00013 00014 00015 //: Translate the vertices in place 00016 void imesh_transform_inplace(imesh_mesh& mesh, 00017 const vgl_vector_3d<double>& translation); 00018 00019 00020 //: Rotate the vertices in place 00021 void imesh_transform_inplace(imesh_mesh& mesh, 00022 const vgl_rotation_3d<double>& rotation); 00023 00024 00025 //: Rotate and translate the vertices in place 00026 void imesh_transform_inplace(imesh_mesh& mesh, 00027 const vgl_rotation_3d<double>& rotation, 00028 const vgl_vector_3d<double>& translation); 00029 00030 00031 #endif // imesh_transform_h_