From 264a8a4b6c9c6f361cf085c427ea7cd47891fb25 Mon Sep 17 00:00:00 2001 From: Kenneth Moreland Date: Wed, 8 Sep 2021 08:54:15 -0600 Subject: [PATCH 1/2] Remove dependence of examples on testing files The testing files (even the headers) are not available if `VTKm_ENABLE_TESTING` is off. Mostly, the testing was used to generate example data sets. Instead, change the examples to load data files. --- examples/clipping/Clipping.cxx | 36 ++++++++++++++----- examples/hello_worklet/HelloWorklet.cxx | 34 ++++++++++++++---- examples/mesh_quality/MeshQuality.cxx | 1 - .../PolyLineArchimedeanHelix.cxx | 1 - examples/tetrahedra/Tetrahedralize.cxx | 30 ++++++++++++---- examples/tetrahedra/Triangulate.cxx | 29 +++++++++++---- 6 files changed, 101 insertions(+), 30 deletions(-) diff --git a/examples/clipping/Clipping.cxx b/examples/clipping/Clipping.cxx index d1671a974..c123b56b3 100644 --- a/examples/clipping/Clipping.cxx +++ b/examples/clipping/Clipping.cxx @@ -9,24 +9,44 @@ //============================================================================ #include -#include - +#include #include #include +#include +#include + int main(int argc, char* argv[]) { - vtkm::cont::Initialize(argc, argv, vtkm::cont::InitializeOptions::Strict); - - vtkm::cont::DataSet input = vtkm::cont::testing::MakeTestDataSet().Make3DExplicitDataSetCowNose(); + vtkm::cont::Initialize(argc, argv); + + if ((argc < 4) || (argc > 5)) + { + std::cerr << "Usage: " << argv[0] << " in_data.vtk field_name clip_value [out_data.vtk]\n\n"; + std::cerr << "For example, you could use the ucd3d.vtk that comes with the VTK-m source:\n\n"; + std::cerr << " " << argv[0] + << " /data/data/unstructured/ucd3d.vtk v 0.3\n"; + return 1; + } + std::string infilename = argv[1]; + std::string infield = argv[2]; + double fieldValue = std::atof(argv[3]); + std::string outfilename = "out_data.vtk"; + if (argc == 5) + { + outfilename = argv[4]; + } + + vtkm::io::VTKDataSetReader reader(infilename); + vtkm::cont::DataSet input = reader.ReadDataSet(); vtkm::filter::ClipWithField clipFilter; - clipFilter.SetActiveField("pointvar"); - clipFilter.SetClipValue(20.0); + clipFilter.SetActiveField(infield); + clipFilter.SetClipValue(fieldValue); vtkm::cont::DataSet output = clipFilter.Execute(input); - vtkm::io::VTKDataSetWriter writer("out_data.vtk"); + vtkm::io::VTKDataSetWriter writer(outfilename); writer.WriteDataSet(output); return 0; diff --git a/examples/hello_worklet/HelloWorklet.cxx b/examples/hello_worklet/HelloWorklet.cxx index 92b32033f..3f103cf48 100644 --- a/examples/hello_worklet/HelloWorklet.cxx +++ b/examples/hello_worklet/HelloWorklet.cxx @@ -13,14 +13,16 @@ #include #include +#include #include #include -#include - #include +#include +#include + namespace vtkm { namespace worklet @@ -81,16 +83,34 @@ public: int main(int argc, char** argv) { - vtkm::cont::Initialize(argc, argv, vtkm::cont::InitializeOptions::Strict); + vtkm::cont::Initialize(argc, argv); + + if ((argc < 3) || (argc > 4)) + { + std::cerr << "Usage: " << argv[0] << " in_data.vtk field_name [out_data.vtk]\n\n"; + std::cerr << "For example, you could use the simple_unstructured_bin.vtk that comes with the " + "VTK-m source:\n\n"; + std::cerr + << " " << argv[0] + << " /data/data/unstructured/simple_unstructured_bin.vtk vectors\n"; + return 1; + } + std::string infilename = argv[1]; + std::string infield = argv[2]; + std::string outfilename = "out_data.vtk"; + if (argc == 4) + { + outfilename = argv[3]; + } - vtkm::cont::testing::MakeTestDataSet testDataMaker; - vtkm::cont::DataSet inputData = testDataMaker.Make3DExplicitDataSetCowNose(); + vtkm::io::VTKDataSetReader reader(infilename); + vtkm::cont::DataSet inputData = reader.ReadDataSet(); vtkm::filter::HelloField helloField; - helloField.SetActiveField("point_vectors"); + helloField.SetActiveField(infield); vtkm::cont::DataSet outputData = helloField.Execute(inputData); - vtkm::io::VTKDataSetWriter writer("out_data.vtk"); + vtkm::io::VTKDataSetWriter writer(outfilename); writer.WriteDataSet(outputData); return 0; diff --git a/examples/mesh_quality/MeshQuality.cxx b/examples/mesh_quality/MeshQuality.cxx index 5df24a7f5..b60f99e68 100644 --- a/examples/mesh_quality/MeshQuality.cxx +++ b/examples/mesh_quality/MeshQuality.cxx @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include diff --git a/examples/polyline_archimedean_helix/PolyLineArchimedeanHelix.cxx b/examples/polyline_archimedean_helix/PolyLineArchimedeanHelix.cxx index 96ccd0665..59b4b9697 100644 --- a/examples/polyline_archimedean_helix/PolyLineArchimedeanHelix.cxx +++ b/examples/polyline_archimedean_helix/PolyLineArchimedeanHelix.cxx @@ -10,7 +10,6 @@ #include #include -#include #include #include diff --git a/examples/tetrahedra/Tetrahedralize.cxx b/examples/tetrahedra/Tetrahedralize.cxx index 37174b10b..8fbc0b4ae 100644 --- a/examples/tetrahedra/Tetrahedralize.cxx +++ b/examples/tetrahedra/Tetrahedralize.cxx @@ -9,23 +9,39 @@ //============================================================================ #include -#include - +#include #include #include +#include +#include + int main(int argc, char* argv[]) { - vtkm::cont::Initialize(argc, argv, vtkm::cont::InitializeOptions::Strict); - - vtkm::cont::DataSet input = - vtkm::cont::testing::MakeTestDataSet().Make3DUniformDataSet3(vtkm::Id3(25, 25, 25)); + vtkm::cont::Initialize(argc, argv); + + if ((argc < 2) || (argc > 3)) + { + std::cerr << "Usage: " << argv[0] << " in_data.vtk [out_data.vtk]\n\n"; + std::cerr << "For example, you could use the ucd3d.vtk that comes with the VTK-m source:\n\n"; + std::cerr << " " << argv[0] << " /data/data/unstructured/ucd3d.vtk\n"; + return 1; + } + std::string infilename = argv[1]; + std::string outfilename = "out_tets.vtk"; + if (argc == 3) + { + outfilename = argv[2]; + } + + vtkm::io::VTKDataSetReader reader(infilename); + vtkm::cont::DataSet input = reader.ReadDataSet(); vtkm::filter::Tetrahedralize tetrahedralizeFilter; vtkm::cont::DataSet output = tetrahedralizeFilter.Execute(input); - vtkm::io::VTKDataSetWriter writer("out_tets.vtk"); + vtkm::io::VTKDataSetWriter writer(outfilename); writer.WriteDataSet(output); return 0; diff --git a/examples/tetrahedra/Triangulate.cxx b/examples/tetrahedra/Triangulate.cxx index 1153a94cc..0818bb65c 100644 --- a/examples/tetrahedra/Triangulate.cxx +++ b/examples/tetrahedra/Triangulate.cxx @@ -9,22 +9,39 @@ //============================================================================ #include -#include - +#include #include #include +#include +#include + int main(int argc, char* argv[]) { - vtkm::cont::Initialize(argc, argv, vtkm::cont::InitializeOptions::Strict); - - vtkm::cont::DataSet input = vtkm::cont::testing::MakeTestDataSet().Make2DUniformDataSet2(); + vtkm::cont::Initialize(argc, argv); + + if ((argc < 2) || (argc > 3)) + { + std::cerr << "Usage: " << argv[0] << " in_data.vtk [out_data.vtk]\n\n"; + std::cerr << "For example, you could use the vanc.vtk that comes with the VTK-m source:\n\n"; + std::cerr << " " << argv[0] << " /data/data/rectilinear/vanc.vtk\n"; + return 1; + } + std::string infilename = argv[1]; + std::string outfilename = "out_tris.vtk"; + if (argc == 3) + { + outfilename = argv[2]; + } + + vtkm::io::VTKDataSetReader reader(infilename); + vtkm::cont::DataSet input = reader.ReadDataSet(); vtkm::filter::Triangulate triangulateFilter; vtkm::cont::DataSet output = triangulateFilter.Execute(input); - vtkm::io::VTKDataSetWriter writer("out_tris.vtk"); + vtkm::io::VTKDataSetWriter writer(outfilename); writer.WriteDataSet(output); return 0; -- GitLab From 32870353bc767f2ceb147dda8dcab800675eb2a5 Mon Sep 17 00:00:00 2001 From: Kenneth Moreland Date: Wed, 8 Sep 2021 08:57:13 -0600 Subject: [PATCH 2/2] Remove use of deprecated items from StreamlineMPI example --- examples/streamline_mpi/StreamlineMPI.cxx | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/examples/streamline_mpi/StreamlineMPI.cxx b/examples/streamline_mpi/StreamlineMPI.cxx index 51a0c79c9..2cc2ffe8a 100644 --- a/examples/streamline_mpi/StreamlineMPI.cxx +++ b/examples/streamline_mpi/StreamlineMPI.cxx @@ -65,11 +65,11 @@ void LoadData(std::string& fname, std::vector& dataSets, in { vtkm::cont::DataSet ds; std::string vtkFile = dir + "/" + buff; - vtkm::io::reader::VTKDataSetReader reader(vtkFile); + vtkm::io::VTKDataSetReader reader(vtkFile); ds = reader.ReadDataSet(); auto f = ds.GetField("grad").GetData(); vtkm::cont::ArrayHandle> fieldArray; - fieldArray = f.Cast>>(); + f.AsArrayHandle(fieldArray); int n = fieldArray.GetNumberOfValues(); auto portal = fieldArray.WritePortal(); for (int ii = 0; ii < n; ii++) @@ -102,11 +102,9 @@ int main(int argc, char** argv) vtkm::filter::ParticleAdvection pa; vtkm::cont::ArrayHandle seedArray; - std::vector seeds; - seeds.push_back(vtkm::Particle(vtkm::Vec3f(.1f, .1f, .9f), 0)); - seeds.push_back(vtkm::Particle(vtkm::Vec3f(.1f, .6f, .6f), 1)); - seeds.push_back(vtkm::Particle(vtkm::Vec3f(.1f, .9f, .1f), 2)); - seedArray = vtkm::cont::make_ArrayHandle(seeds); + seedArray = vtkm::cont::make_ArrayHandle({ vtkm::Particle(vtkm::Vec3f(.1f, .1f, .9f), 0), + vtkm::Particle(vtkm::Vec3f(.1f, .6f, .6f), 1), + vtkm::Particle(vtkm::Vec3f(.1f, .9f, .1f), 2) }); pa.SetStepSize(0.001f); pa.SetNumberOfSteps(10000); pa.SetSeeds(seedArray); -- GitLab