contrib/brl/bbas/imesh/algo/imesh_operations.h
Go to the documentation of this file.
00001 // This is brl/bbas/imesh/algo/imesh_operations.h
00002 #ifndef imesh_algo_operations_h_
00003 #define imesh_algo_operations_h_
00004 //:
00005 // \file
00006 // \brief Operations on meshes that have additional dependencies
00007 // \author Matt Leotta (mleotta@lems.brown.edu)
00008 // \date June 24, 2008
00009 //
00010 // \verbatim
00011 //  Modifications
00012 //   <none yet>
00013 // \endverbatim
00014 
00015 #include <imesh/imesh_mesh.h>
00016 
00017 
00018 //: Compute the dual mesh using vertex normals to compute dual vertices
00019 //  The old vertices are used as constraints when the solution is singular
00020 //  The singularity is enforced if a singular value is less than tau * max singular value
00021 imesh_mesh dual_mesh_with_normals(const imesh_mesh& mesh,
00022                                   const imesh_vertex_array_base& old_verts,
00023                                   double tau = 1e-2);
00024 
00025 
00026 //: Triangulate the faces of the mesh (in place)
00027 //  Uses mesh geometry to handle nonconvex faces
00028 void
00029 imesh_triangulate_nonconvex(imesh_mesh& mesh);
00030 
00031 
00032 #endif // imesh_algo_operations_h_