use NewFilterField
This commit is contained in:
parent
a9d569f79c
commit
3d07503af1
@ -20,7 +20,6 @@ set(headers
|
||||
set(device_sources
|
||||
Amr.cxx
|
||||
Oscillator.cxx
|
||||
Source.cxx
|
||||
Tangle.cxx
|
||||
Wavelet.cxx
|
||||
PerlinNoise.cxx
|
||||
|
@ -11,7 +11,7 @@
|
||||
#include <random>
|
||||
|
||||
#include <vtkm/VectorAnalysis.h>
|
||||
#include <vtkm/filter/FilterField.h>
|
||||
#include <vtkm/filter/NewFilterField.h>
|
||||
#include <vtkm/source/PerlinNoise.h>
|
||||
#include <vtkm/worklet/WorkletMapTopology.h>
|
||||
|
||||
@ -124,7 +124,7 @@ struct PerlinNoiseWorklet : public vtkm::worklet::WorkletVisitPointsWithCells
|
||||
vtkm::Id Repeat;
|
||||
};
|
||||
|
||||
class PerlinNoiseField : public vtkm::filter::FilterField<PerlinNoiseField>
|
||||
class PerlinNoiseField : public vtkm::filter::NewFilterField
|
||||
{
|
||||
public:
|
||||
VTKM_CONT PerlinNoiseField(vtkm::IdComponent tableSize, vtkm::Id seed)
|
||||
@ -135,22 +135,16 @@ public:
|
||||
this->SetUseCoordinateSystemAsField(true);
|
||||
}
|
||||
|
||||
template <typename FieldType, typename DerivedPolicy>
|
||||
VTKM_CONT vtkm::cont::DataSet DoExecute(
|
||||
const vtkm::cont::DataSet& input,
|
||||
const FieldType& vtkmNotUsed(field),
|
||||
const vtkm::filter::FieldMetadata& fieldMetadata,
|
||||
vtkm::filter::PolicyBase<DerivedPolicy> vtkmNotUsed(policy))
|
||||
private:
|
||||
VTKM_CONT vtkm::cont::DataSet DoExecute(const vtkm::cont::DataSet& input) override
|
||||
{
|
||||
vtkm::cont::ArrayHandle<vtkm::FloatDefault> noise;
|
||||
PerlinNoiseWorklet worklet{ this->TableSize };
|
||||
this->Invoke(
|
||||
worklet, input.GetCellSet(), input.GetCoordinateSystem(), this->Permutations, noise);
|
||||
|
||||
return vtkm::filter::CreateResult(input, noise, this->GetOutputFieldName(), fieldMetadata);
|
||||
return this->CreateResultFieldPoint(input, this->GetOutputFieldName(), noise);
|
||||
}
|
||||
|
||||
private:
|
||||
VTKM_CONT void GeneratePermutations()
|
||||
{
|
||||
std::mt19937_64 rng;
|
||||
|
@ -1,24 +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/source/Source.h>
|
||||
|
||||
namespace vtkm
|
||||
{
|
||||
namespace source
|
||||
{
|
||||
|
||||
//Fix the vtable for Source to be in the vtkm_source library
|
||||
Source::Source() = default;
|
||||
Source::~Source() = default;
|
||||
|
||||
|
||||
} // namespace source
|
||||
} // namespace vtkm
|
@ -14,6 +14,7 @@
|
||||
#include <vtkm/cont/DataSet.h>
|
||||
#include <vtkm/cont/Invoker.h>
|
||||
#include <vtkm/source/vtkm_source_export.h>
|
||||
|
||||
namespace vtkm
|
||||
{
|
||||
namespace source
|
||||
@ -23,14 +24,13 @@ class VTKM_SOURCE_EXPORT Source
|
||||
{
|
||||
public:
|
||||
VTKM_CONT
|
||||
Source();
|
||||
virtual ~Source() = default;
|
||||
|
||||
VTKM_CONT
|
||||
virtual ~Source();
|
||||
|
||||
vtkm::cont::DataSet Execute() const { return this->DoExecute(); }
|
||||
|
||||
protected:
|
||||
VTKM_CONT
|
||||
virtual vtkm::cont::DataSet DoExecute() const = 0;
|
||||
|
||||
vtkm::cont::Invoker Invoke;
|
||||
|
Loading…
Reference in New Issue
Block a user