mirror of https://github.com/CGAL/cgal
Fix readers and add misisng tests
This commit is contained in:
parent
6a36213a80
commit
b2419e5f98
|
|
@ -144,7 +144,8 @@ bool read_VTP(const char* fname, FaceGraph& g, const CGAL_BGL_NP_CLASS& np)
|
||||||
vtkSmartPointer<IO::internal::ErrorObserverVtk>::New();
|
vtkSmartPointer<IO::internal::ErrorObserverVtk>::New();
|
||||||
|
|
||||||
data = vtkPolyData::SafeDownCast(IO::internal::read_vtk_file<vtkXMLPolyDataReader>(fname, obs)->GetOutput());
|
data = vtkPolyData::SafeDownCast(IO::internal::read_vtk_file<vtkXMLPolyDataReader>(fname, obs)->GetOutput());
|
||||||
|
if (obs->GetError())
|
||||||
|
return false;
|
||||||
return IO::internal::vtkPointSet_to_polygon_mesh(data, g, np);
|
return IO::internal::vtkPointSet_to_polygon_mesh(data, g, np);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -571,6 +571,8 @@ void test_bgl_PLY(const std::string filename,
|
||||||
assert(!ok);
|
assert(!ok);
|
||||||
ok = CGAL::read_PLY("data/invalid_nv.ply", fg); // broken formatting
|
ok = CGAL::read_PLY("data/invalid_nv.ply", fg); // broken formatting
|
||||||
assert(!ok);
|
assert(!ok);
|
||||||
|
ok = CGAL::read_PLY("data/binary_cut.ply", fg); // broken binary
|
||||||
|
assert(!ok);
|
||||||
ok = CGAL::read_PLY("data/cube.off", fg);
|
ok = CGAL::read_PLY("data/cube.off", fg);
|
||||||
assert(!ok);
|
assert(!ok);
|
||||||
ok = CGAL::read_PLY("data/pig.stl", fg);
|
ok = CGAL::read_PLY("data/pig.stl", fg);
|
||||||
|
|
@ -826,17 +828,30 @@ void test_bgl_VTP(const char* filename, // @fixme not finished
|
||||||
}
|
}
|
||||||
|
|
||||||
// test wrong inputs
|
// test wrong inputs
|
||||||
|
std::cerr<<"Error text is expected to follow."<<std::endl;
|
||||||
ok = CGAL::read_VTP("data/mesh_that_doesnt_exist.vtp", fg);
|
ok = CGAL::read_VTP("data/mesh_that_doesnt_exist.vtp", fg);
|
||||||
assert(!ok);
|
assert(!ok);
|
||||||
//@todo misisng tests here
|
ok = CGAL::read_VTP("data/invalid_cut.vtp", fg); // cut in half
|
||||||
assert(!ok);
|
assert(!ok);
|
||||||
|
ok = CGAL::read_VTP("data/invalid_header.vtp", fg); // missing header
|
||||||
|
assert(!ok);
|
||||||
|
ok = CGAL::read_VTP("data/wrong_nb_points.vtp", fg); // wrong number of points
|
||||||
|
assert(!ok);
|
||||||
|
ok = CGAL::read_VTP("data/sphere.obj", fg);
|
||||||
|
assert(!ok);
|
||||||
|
ok = CGAL::read_VTP("data/full.off", fg);
|
||||||
|
assert(!ok);
|
||||||
|
ok = CGAL::read_VTP("corrupted_bin.vtp", fg);
|
||||||
|
assert(!ok);
|
||||||
|
std::cerr<<"No more error text from here."<<std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#endif // CGAL_USE_VTK
|
#endif // CGAL_USE_VTK
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
int main(int argc, char** argv)
|
||||||
{/*
|
{
|
||||||
|
|
||||||
// OFF
|
// OFF
|
||||||
const char* off_file = (argc > 1) ? argv[1] : "data/prim.off";
|
const char* off_file = (argc > 1) ? argv[1] : "data/prim.off";
|
||||||
test_bgl_OFF<Polyhedron>(off_file);
|
test_bgl_OFF<Polyhedron>(off_file);
|
||||||
|
|
@ -854,6 +869,8 @@ int main(int argc, char** argv)
|
||||||
#ifdef CGAL_USE_OPENMESH
|
#ifdef CGAL_USE_OPENMESH
|
||||||
test_bgl_OBJ<OMesh>(obj_file);
|
test_bgl_OBJ<OMesh>(obj_file);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
// PLY
|
// PLY
|
||||||
const char* ply_file_ascii = (argc > 3) ? argv[3] : "data/colored_tetra.ply";
|
const char* ply_file_ascii = (argc > 3) ? argv[3] : "data/colored_tetra.ply";
|
||||||
test_bgl_PLY<Polyhedron>(ply_file_ascii, false);
|
test_bgl_PLY<Polyhedron>(ply_file_ascii, false);
|
||||||
|
|
@ -871,7 +888,6 @@ int main(int argc, char** argv)
|
||||||
#ifdef CGAL_USE_OPENMESH
|
#ifdef CGAL_USE_OPENMESH
|
||||||
test_bgl_STL<OMesh>(stl_file);
|
test_bgl_STL<OMesh>(stl_file);
|
||||||
#endif
|
#endif
|
||||||
*/
|
|
||||||
|
|
||||||
// GOCAD
|
// GOCAD
|
||||||
const char* gocad_file = (argc > 5) ? argv[5] : "data/2016206_MHT_surface.ts";
|
const char* gocad_file = (argc > 5) ? argv[5] : "data/2016206_MHT_surface.ts";
|
||||||
|
|
@ -881,7 +897,7 @@ int main(int argc, char** argv)
|
||||||
#ifdef CGAL_USE_OPENMESH
|
#ifdef CGAL_USE_OPENMESH
|
||||||
test_bgl_GOCAD<OMesh>(gocad_file);
|
test_bgl_GOCAD<OMesh>(gocad_file);
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
|
||||||
// VTP
|
// VTP
|
||||||
#ifdef CGAL_USE_VTK
|
#ifdef CGAL_USE_VTK
|
||||||
const char* vtp_file = (argc > 6) ? argv[6] : "data/bones.vtp";
|
const char* vtp_file = (argc > 6) ? argv[6] : "data/bones.vtp";
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,8 @@ bool read_VTP(const char* fname,
|
||||||
vtkSmartPointer<IO::internal::ErrorObserverVtk>::New();
|
vtkSmartPointer<IO::internal::ErrorObserverVtk>::New();
|
||||||
|
|
||||||
data = vtkPolyData::SafeDownCast(IO::internal::read_vtk_file<vtkXMLPolyDataReader>(fname, obs)->GetOutput());
|
data = vtkPolyData::SafeDownCast(IO::internal::read_vtk_file<vtkXMLPolyDataReader>(fname, obs)->GetOutput());
|
||||||
|
if (obs->GetError())
|
||||||
|
return false;
|
||||||
return IO::internal::vtkPointSet_to_polygon_soup(data, points, polygons, np);
|
return IO::internal::vtkPointSet_to_polygon_soup(data, points, polygons, np);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue