remove unused contour unit test

This commit is contained in:
Li-Ta Lo 2019-08-17 19:26:32 -06:00
parent d1fe1c3f38
commit 414effa8e8
3 changed files with 1 additions and 181 deletions

@ -38,8 +38,7 @@ set(unit_tests
# UnitTestMagnitude.cxx
UnitTestMarchingCubes.cxx
# UnitTestMarchingSquares.cxx
UnitTestMarchingTetrahedra.cxx
# UnitTestMask.cxx
# UnitTestMask.cxx
# UnitTestMaskIndices.cxx
# UnitTestMaskPoints.cxx
# UnitTestMaskSelect.cxx

@ -1,86 +0,0 @@
//============================================================================
// 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 <vtkm/VectorAnalysis.h>
#include <vtkm/cont/DataSet.h>
#include <vtkm/cont/testing/Testing.h>
#include <vtkm/filter/Contour.h>
#include <vtkm/worklet/WorkletMapField.h>
class SineWave : public vtkm::worklet::WorkletMapField
{
public:
using ControlSignature = void(FieldIn coord, FieldOut v);
using ExecutionSignature = void(_1, _2);
using InputDomain = _1;
VTKM_EXEC
void operator()(const vtkm::Vec<vtkm::FloatDefault, 3> coord, vtkm::Float32& v) const
{
v = vtkm::MagnitudeSquared(coord);
}
};
vtkm::cont::DataSet MakeSineWaveDataSet(vtkm::Id3 dims)
{
vtkm::cont::DataSet dataset;
// create a point coordinate system
const vtkm::Id3 vdims{ dims[0] + 1, dims[1] + 1, dims[2] + 1 };
vtkm::cont::ArrayHandleUniformPointCoordinates coordinates{
vdims,
vtkm::Vec<vtkm::FloatDefault, 3>(-1.0, -1.0, 0),
vtkm::Vec<vtkm::FloatDefault, 3>(2.0f / vdims[0], 2.0f / vdims[1], 0.0)
};
dataset.AddCoordinateSystem(vtkm::cont::CoordinateSystem("coordinates", coordinates));
// generate point field from point coordinates.
vtkm::cont::ArrayHandle<vtkm::Float32> pointFieldArray;
vtkm::worklet::DispatcherMapField<SineWave> dispatcherMapField(SineWave{});
dispatcherMapField.Invoke(coordinates, pointFieldArray);
dataset.AddField(
vtkm::cont::Field("nodevar", vtkm::cont::Field::Association::POINTS, pointFieldArray));
// add cell set
vtkm::cont::CellSetStructured<2> cellSet("cells");
cellSet.SetPointDimensions({ vdims[0], vdims[1] });
dataset.AddCellSet(cellSet);
return dataset;
}
void TestMarchingSquares()
{
vtkm::cont::DataSet input = MakeSineWaveDataSet({ 2, 2, 0 });
vtkm::cont::ArrayHandle<vtkm::Float32> pointFieldArray;
input.GetField("nodevar").GetData().CopyTo(pointFieldArray);
vtkm::Float32 isoValue = 0.5;
vtkm::cont::ArrayHandle<vtkm::Vec<vtkm::Float32, 3>> verticesArray;
vtkm::cont::ArrayHandle<vtkm::Vec<vtkm::Float32, 3>> normalsArray;
vtkm::cont::ArrayHandle<vtkm::Float32> scalarsArray;
vtkm::worklet::MarchingCubes isosurfaceFilter;
isosurfaceFilter.SetMergeDuplicatePoints(false);
auto result = isosurfaceFilter.Run(&isoValue,
1,
input.GetCellSet(0),
input.GetCoordinateSystem(),
pointFieldArray,
verticesArray,
normalsArray);
}
int UnitTestMarchingSquares(int argc, char* argv[])
{
return vtkm::cont::testing::Testing::Run(TestMarchingSquares, argc, argv);
}

@ -1,93 +0,0 @@
//============================================================================
// 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 <vtkm/VectorAnalysis.h>
#include <vtkm/cont/DataSet.h>
#include <vtkm/cont/testing/Testing.h>
#include <vtkm/filter/Contour.h>
#include <vtkm/filter/Tetrahedralize.h>
#include <vtkm/worklet/WorkletMapField.h>
class Tangle : public vtkm::worklet::WorkletMapField
{
public:
using ControlSignature = void(FieldIn coord, FieldOut v);
using ExecutionSignature = void(_1, _2);
using InputDomain = _1;
VTKM_EXEC
void operator()(const vtkm::Vec<vtkm::FloatDefault, 3> coord, vtkm::Float32& v) const
{
v = vtkm::MagnitudeSquared(coord);
}
};
vtkm::cont::DataSet MakeTangleDataSet(vtkm::Id3 dims)
{
vtkm::cont::DataSet dataset;
// create a point coordinate system
const vtkm::Id3 vdims{ dims[0] + 1, dims[1] + 1, dims[2] + 1 };
vtkm::cont::ArrayHandleUniformPointCoordinates coordinates{
vdims,
vtkm::Vec<vtkm::FloatDefault, 3>(-1.0, -1.0, -1.0),
vtkm::Vec<vtkm::FloatDefault, 3>(2.0f / vdims[0], 2.0f / vdims[1], 2.0f / vdims[2])
};
dataset.AddCoordinateSystem(vtkm::cont::CoordinateSystem("coordinates", coordinates));
// generate point field from point coordinates.
vtkm::cont::ArrayHandle<vtkm::Float32> pointFieldArray;
vtkm::worklet::DispatcherMapField<Tangle> dispatcherMapField(Tangle{});
dispatcherMapField.Invoke(coordinates, pointFieldArray);
dataset.AddField(
vtkm::cont::Field("nodevar", vtkm::cont::Field::Association::POINTS, pointFieldArray));
// add cell set
vtkm::cont::CellSetStructured<3> cellSet("cells");
cellSet.SetPointDimensions(vdims);
dataset.AddCellSet(cellSet);
return dataset;
}
void TestMarchingTetrahedra()
{
vtkm::cont::DataSet input = MakeTangleDataSet({ 2, 2, 2 });
vtkm::filter::Tetrahedralize tetrahedralize;
vtkm::cont::DataSet tetra = tetrahedralize.Execute(input);
std::cout << "number of tetras: " << tetra.GetCellSet().GetNumberOfCells() << std::endl;
vtkm::cont::ArrayHandle<vtkm::Float32> pointFieldArray;
tetra.GetField("nodevar").GetData().CopyTo(pointFieldArray);
vtkm::Float32 isoValue = 0.5;
vtkm::cont::ArrayHandle<vtkm::Vec<vtkm::Float32, 3>> verticesArray;
vtkm::cont::ArrayHandle<vtkm::Vec<vtkm::Float32, 3>> normalsArray;
vtkm::cont::ArrayHandle<vtkm::Float32> scalarsArray;
vtkm::worklet::Contour isosurfaceFilter;
isosurfaceFilter.SetMergeDuplicatePoints(false);
auto result = isosurfaceFilter.Run(&isoValue,
1,
tetra.GetCellSet(0),
tetra.GetCoordinateSystem(),
pointFieldArray,
verticesArray,
normalsArray);
result.PrintSummary(std::cout);
}
int UnitTestMarchingTetrahedra(int argc, char* argv[])
{
return vtkm::cont::testing::Testing::Run(TestMarchingTetrahedra, argc, argv);
}