case for border edges

This commit is contained in:
Christina Vaz 2018-06-26 18:43:11 -04:00
parent 9304dfa106
commit 88958acc33
2 changed files with 7 additions and 2 deletions

View File

@ -24,7 +24,7 @@
#define CGAL_INTRINSIC_DELAUNAY_TRIANGULATION_3_H
#include <CGAL/license/Heat_method_3.h>
#include <CGAL/Surface_mesh.h>
#include <CGAL/disable_warnings.h>
#include <set>
@ -217,6 +217,8 @@ namespace Intrinsic_Delaunay_Triangulation_3 {
//if the edge itself is not locally delaunay, go back
if(!(is_edge_locally_delaunay(ed))) // && !CGAL::is_boundary(ed,tm)) need to fix this
{
if(!(is_border(ed,tm)))
{
a++;
change_edge_length(edge_i,ed);
halfedge_descriptor hd = (halfedge(ed, tm));
@ -252,6 +254,7 @@ namespace Intrinsic_Delaunay_Triangulation_3 {
stack.push(next_edge);
marked_edges(next_edge_i,0) = 1;
}
}
//then go back to top of the stack
}
}
@ -286,6 +289,8 @@ namespace Intrinsic_Delaunay_Triangulation_3 {
}
loop_over_edges(stack, mark_edges);
}
//todo:: determine which can be const
TriangleMesh tm;

View File

@ -27,7 +27,7 @@ int main()
Mesh sm;
Vertex_distance_map vertex_distance_map = get(Vertex_distance_tag(),sm);
std::ifstream in("data/spot_badmesh.off");
std::ifstream in("data/camel_not_delaunay.off");
in >> sm;
if(!in || num_vertices(sm) == 0) {
std::cerr << "Problem loading the input data" << std::endl;