diff --git a/main.cpp b/main.cpp index 0ebd7042f13b155f88ea3dec11a9429d69ae7948..e8eff3c5ad53f8cb775b9073514f91bdd7102e70 100644 --- a/main.cpp +++ b/main.cpp @@ -18,7 +18,7 @@ #include <vtkNew.h> #include <vtkSmartPointer.h> #include <vtkOBJReader.h> -#include <ttkOFFReader.h> +#include "vtkOFFReader.h" #include <vtksys/SystemTools.hxx> #include <vtkPolyData.h> @@ -62,7 +62,7 @@ int main(int argc, char *argv[]) vtkObject::GlobalWarningDisplayOff(); if (argc != 2) { - std::cout << "Required arguments: Filename(.obj)" << std::endl; + std::cerr << "Required arguments: Filename(.obj)\n"; return EXIT_FAILURE; } @@ -80,9 +80,22 @@ int main(int argc, char *argv[]) reader->Update(); source = triangulate::buildValidTriangulation(reader->GetOutput()); } + else if (extension == ".off") + { + vtkNew<vtkOFFReader> reader; + reader->SetFileName(filename.c_str()); + reader->Update(); + source = reader->GetOutput(); + } else { - std::cout << "Required arguments: Filename(.obj)" << std::endl; + std::cerr << "Required arguments: Filename(.obj)\n"; + return EXIT_FAILURE; + } + + if (source->GetNumberOfCells() > 90000) // avoid segmentation fault + { + std::cerr << "Your mesh has too many polygones (" << source->GetNumberOfCells() << ") for this program to run properly.\n"; return EXIT_FAILURE; }