mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-18 18:15:44 +00:00
remove unused contour unit test
This commit is contained in:
parent
d1fe1c3f38
commit
414effa8e8
@ -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);
|
||||
}
|
Loading…
Reference in New Issue
Block a user