Skip to content
Snippets Groups Projects
Commit dea59da4 authored by vr-group's avatar vr-group
Browse files

Screw VTK.

parent 81aed01c
Branches
No related tags found
No related merge requests found
#include <cstdint> #include <cstdint>
#include <iostream>
#include <string> #include <string>
#include <vtkDataObject.h> #include <vtkDataObject.h>
#include <vtkImageData.h>
#include <vtkResampleToImage.h> #include <vtkResampleToImage.h>
#include <vtkSmartPointer.h> #include <vtkSmartPointer.h>
#include <vtkXMLImageDataWriter.h> #include <vtkXMLImageDataWriter.h>
#include <vtkXMLUnstructuredGridReader.h> #include <vtkXMLUnstructuredGridReader.h>
#include <vtkUnstructuredGrid.h>
// Usage: ./vtu_to_vti_converter [VTU_FILEPATH] [X_RESOLUTION] [Y_RESOLUTION] [Z_RESOLUTION]. // Usage: ./vtu_to_vti_converter [VTU_FILEPATH] [X_RESOLUTION] [Y_RESOLUTION] [Z_RESOLUTION].
std::int32_t main(std::int32_t argc, char** argv) std::int32_t main(std::int32_t argc, char** argv)
...@@ -16,15 +19,23 @@ std::int32_t main(std::int32_t argc, char** argv) ...@@ -16,15 +19,23 @@ std::int32_t main(std::int32_t argc, char** argv)
auto converter = vtkSmartPointer<vtkResampleToImage> ::New(); auto converter = vtkSmartPointer<vtkResampleToImage> ::New();
auto writer = vtkSmartPointer<vtkXMLImageDataWriter> ::New(); auto writer = vtkSmartPointer<vtkXMLImageDataWriter> ::New();
std::cout << "Reading unstructured grid.\n";
reader ->SetFileName (filepath.c_str()); reader ->SetFileName (filepath.c_str());
reader ->SetInputArrayToProcess(0, 0, 0, vtkDataObject::FIELD_ASSOCIATION_CELLS, "Q"); reader ->SetInputArrayToProcess(0, 0, 0, vtkDataObject::FIELD_ASSOCIATION_CELLS, "Q");
reader ->Update ();
auto input_data = reader->GetOutput();
converter->SetInputConnection (reader->GetOutputPort()); std::cout << "Converting unstructured grid to structured grid.\n";
converter->SetInputDataObject (input_data);
converter->SetUseInputBounds (true); converter->SetUseInputBounds (true);
converter->SetSamplingDimensions (std::stoi(argv[2]), std::stoi(argv[3]), std::stoi(argv[4])); converter->SetSamplingDimensions (std::stoi(argv[2]), std::stoi(argv[3]), std::stoi(argv[4]));
converter->Update ();
auto output_data = converter->GetOutput();
writer ->SetInputConnection (converter->GetOutputPort()); std::cout << "Writing structured grid.\n";
writer ->SetInputData (output_data);
writer ->SetFileName ((filepath.substr(0, filepath.size() - 3) + std::string("vti")).c_str()); writer ->SetFileName ((filepath.substr(0, filepath.size() - 3) + std::string("vti")).c_str());
writer ->SetInputArrayToProcess(0, 0, 0, vtkDataObject::FIELD_ASSOCIATION_POINTS, "Q");
writer ->Update (); writer ->Update ();
return 0; return 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment