Skip to content

Commit

Permalink
Merge pull request #6918 from lcaraffa/Triangulation-is_valid-lc
Browse files Browse the repository at this point in the history
Triangulation_d: fix invalid triangulation after I/O
  • Loading branch information
lrineau committed Oct 7, 2022
2 parents 437dbf8 + 29d543c commit e5687eb
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 1 deletion.
1 change: 1 addition & 0 deletions Triangulation/include/CGAL/Triangulation_data_structure.h
Original file line number Diff line number Diff line change
Expand Up @@ -1364,6 +1364,7 @@ ::read_full_cells(std::istream & is, const std::vector<Vertex_handle> & vertices
else
read(is, index);
s->set_vertex(j, vertices[index]);
s->vertex(j)->set_full_cell(s);
}
// read other non-combinatorial information for the full_cells
is >> (*s);
Expand Down
3 changes: 2 additions & 1 deletion Triangulation/test/Triangulation/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,9 @@ if(TARGET CGAL::Eigen3_support)
create_single_source_cgal_program("test_tds.cpp")
create_single_source_cgal_program("test_torture.cpp")
create_single_source_cgal_program("test_insert_if_in_star.cpp")
create_single_source_cgal_program("simple_io_test.cpp")
foreach(target test_triangulation test_delaunay test_regular test_tds
test_torture test_insert_if_in_star)
test_torture test_insert_if_in_star simple_io_test)
target_link_libraries(${target} PUBLIC CGAL::Eigen3_support)
endforeach()

Expand Down
21 changes: 21 additions & 0 deletions Triangulation/test/Triangulation/simple_io_test.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#include <CGAL/Epick_d.h>
#include <CGAL/Delaunay_triangulation.h>
#include <sstream>

int main()
{
typedef CGAL::Delaunay_triangulation<CGAL::Epick_d<CGAL::Dimension_tag<2>>> T;
T dt1(2), dt2(2);

std::vector<T::Point> points;
points.emplace_back(1,0);
points.emplace_back(0,1);
points.emplace_back(2,2);
dt1.insert(points.begin(), points.end());

std::stringstream f;
f << dt1 << std::endl;
std::cout << f.str();
f >> dt2;
assert(dt2.is_valid(true));
}
1 change: 1 addition & 0 deletions Triangulation/test/Triangulation/test_tds.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ void test(const int d, const string & type)
CGAL::IO::set_binary_mode(fi);
TDS input_tds(d);
fi >> input_tds;
assert( input_tds.is_valid(true) );
fi.close();

// TEST Copy Constructor
Expand Down

0 comments on commit e5687eb

Please sign in to comment.