#include "imesh_operations.h"
#include <vgl/vgl_plane_3d.h>
#include <vgl/vgl_area.h>
#include <vgl/vgl_polygon.h>
#include <vgl/vgl_triangle_test.h>
#include <vnl/vnl_matrix.h>
#include <vnl/vnl_double_3.h>
#include <vnl/algo/vnl_svd.h>
#include <vcl_cassert.h>
#include <vcl_list.h>
#include <vcl_iostream.h>
Go to the source code of this file.
Functions | |
imesh_mesh | dual_mesh_with_normals (const imesh_mesh &mesh, const imesh_vertex_array_base &old_verts, double tau) |
Compute the dual mesh using vertex normals to compute dual vertices. | |
void | imesh_triangulate_face (const vcl_vector< vgl_point_2d< double > > &face_v, const vcl_vector< unsigned int > &face_i, imesh_regular_face_array< 3 > &tris) |
triangulate the 2-d polygon and add triangles to tris. | |
void | imesh_triangulate_nonconvex (imesh_mesh &mesh) |
Triangulate the faces of the mesh (in place). |
Definition in file imesh_operations.cxx.
imesh_mesh dual_mesh_with_normals | ( | const imesh_mesh & | mesh, |
const imesh_vertex_array_base & | old_verts, | ||
double | tau = 1e-2 |
||
) |
Compute the dual mesh using vertex normals to compute dual vertices.
The old vertices are used as constraints when the solution is singular The singularity is enforced if a singular value is less than tau * max singular value
Definition at line 20 of file imesh_operations.cxx.
void imesh_triangulate_face | ( | const vcl_vector< vgl_point_2d< double > > & | face_v, |
const vcl_vector< unsigned int > & | face_i, | ||
imesh_regular_face_array< 3 > & | tris | ||
) |
triangulate the 2-d polygon and add triangles to tris.
Definition at line 82 of file imesh_operations.cxx.
void imesh_triangulate_nonconvex | ( | imesh_mesh & | mesh | ) |
Triangulate the faces of the mesh (in place).
Uses mesh geometry to handle nonconvex faces
Definition at line 160 of file imesh_operations.cxx.