MCPcopy Create free account
hub / github.com/Kitware/VTK / LoadDataFile

Method LoadDataFile

Examples/Emscripten/Cxx/GeometryViewer/GeometryViewer.cxx:335–418  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

333
334//------------------------------------------------------------------------------
335void GeometryViewer::LoadDataFile(const std::string& filename)
336{
337
338 std::cout << __func__ << "(" << filename << ")" << std::endl;
339
340 auto mapper = vtk::TakeSmartPointer(vtkPolyDataMapper::New());
341 vtkSmartPointer<vtkDataObject> mesh;
342
343 using systools = vtksys::SystemTools;
344 if (systools::StringEndsWith(filename, ".vtp"))
345 {
346 auto xmlreader = vtk::TakeSmartPointer(vtkXMLPolyDataReader::New());
347 xmlreader->SetFileName(filename.c_str());
348 xmlreader->Update();
349 mesh = xmlreader->GetOutput();
350 }
351 else if (systools::StringEndsWith(filename, ".vtu"))
352 {
353 auto xmlreader = vtk::TakeSmartPointer(vtkXMLUnstructuredGridReader::New());
354 xmlreader->SetFileName(filename.c_str());
355 auto surface = vtk::TakeSmartPointer(vtkGeometryFilter::New());
356 surface->SetInputConnection(xmlreader->GetOutputPort());
357 surface->Update();
358 mesh = surface->GetOutput();
359 }
360 else if (systools::StringEndsWith(filename, ".vtk"))
361 {
362 auto polydataReader = vtk::TakeSmartPointer(vtkPolyDataReader::New());
363 polydataReader->SetFileName(filename.c_str());
364 polydataReader->Update();
365 mesh = polydataReader->GetOutput();
366 }
367 else if (systools::StringEndsWith(filename, ".glb") ||
368 systools::StringEndsWith(filename, ".gltf"))
369 {
370 // TODO: Hangs.
371 // auto gltfreader = vtk::TakeSmartPointer(vtkGLTFReader::New());
372 // mapper = vtk::TakeSmartPointer(vtkPolyDataMapper::New());
373 // gltfreader->SetFileName(filename.c_str());
374 // reader = gltfreader;
375 }
376 else if (systools::StringEndsWith(filename, ".obj"))
377 {
378 auto objreader = vtk::TakeSmartPointer(vtkOBJReader::New());
379 objreader->SetFileName(filename.c_str());
380 objreader->Update();
381 mesh = objreader->GetOutput();
382 }
383 else if (systools::StringEndsWith(filename, ".ply"))
384 {
385 auto plyreader = vtk::TakeSmartPointer(vtkPLYReader::New());
386 plyreader->SetFileName(filename.c_str());
387 plyreader->Update();
388 mesh = plyreader->GetOutput();
389 }
390 else if (systools::StringEndsWith(filename, ".vtpc"))
391 {
392 mapper = vtk::TakeSmartPointer(vtkCompositePolyDataMapper::New());

Callers

nothing calls this directly

Calls 15

SetColorByArrayMethod · 0.95
StringEndsWithFunction · 0.85
UpdateLUTMethod · 0.80
RenderMethod · 0.65
NewFunction · 0.50
SetFileNameMethod · 0.45
c_strMethod · 0.45
UpdateMethod · 0.45
GetOutputMethod · 0.45
SetInputConnectionMethod · 0.45
GetOutputPortMethod · 0.45

Tested by

no test coverage detected