//============================================================================ // Copyright (c) Kitware, Inc. // All rights reserved. // See LICENSE.txt for details. // // This software is distributed WITHOUT ANY WARRANTY; without even // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR // PURPOSE. See the above copyright notice for more information. //============================================================================ #include #include #include #include #include #include #include "RedistributePoints.h" #include using std::cout; using std::endl; int main(int argc, char* argv[]) { // Process vtk-m general args auto opts = vtkm::cont::InitializeOptions::DefaultAnyDevice; auto config = vtkm::cont::Initialize(argc, argv, opts); vtkmdiy::mpi::environment env(argc, argv); vtkmdiy::mpi::communicator comm; vtkm::cont::EnvironmentTracker::SetCommunicator(comm); if (argc != 3) { cout << "Usage: " << endl << "$ " << argv[0] << " [options] " << endl; cout << config.Usage << endl; return EXIT_FAILURE; } vtkm::cont::DataSet input; if (comm.rank() == 0) { vtkm::io::VTKDataSetReader reader(argv[1]); input = reader.ReadDataSet(); } example::RedistributePoints redistributor; auto output = redistributor.Execute(input); std::ostringstream str; str << argv[2] << "-" << comm.rank() << ".vtk"; vtkm::io::VTKDataSetWriter writer(str.str()); writer.WriteDataSet(output); return EXIT_SUCCESS; }