use pimpl pattern for osc worklet

This commit is contained in:
Li-Ta Lo 2021-10-12 12:17:58 -06:00
parent b4bb02830a
commit 6ffb75c5a5
2 changed files with 7 additions and 6 deletions

@ -24,7 +24,7 @@ Oscillator::Oscillator(vtkm::Id3 dims)
//-----------------------------------------------------------------------------
void Oscillator::SetTime(vtkm::Float64 time)
{
this->Worklet.SetTime(time);
this->Worklet->SetTime(time);
}
//-----------------------------------------------------------------------------
@ -35,7 +35,7 @@ void Oscillator::AddPeriodic(vtkm::Float64 x,
vtkm::Float64 omega,
vtkm::Float64 zeta)
{
this->Worklet.AddPeriodic(x, y, z, radius, omega, zeta);
this->Worklet->AddPeriodic(x, y, z, radius, omega, zeta);
}
//-----------------------------------------------------------------------------
@ -46,7 +46,7 @@ void Oscillator::AddDamped(vtkm::Float64 x,
vtkm::Float64 omega,
vtkm::Float64 zeta)
{
this->Worklet.AddDamped(x, y, z, radius, omega, zeta);
this->Worklet->AddDamped(x, y, z, radius, omega, zeta);
}
//-----------------------------------------------------------------------------
@ -57,7 +57,7 @@ void Oscillator::AddDecaying(vtkm::Float64 x,
vtkm::Float64 omega,
vtkm::Float64 zeta)
{
this->Worklet.AddDecaying(x, y, z, radius, omega, zeta);
this->Worklet->AddDecaying(x, y, z, radius, omega, zeta);
}
@ -85,7 +85,7 @@ vtkm::cont::DataSet Oscillator::Execute() const
vtkm::cont::ArrayHandle<vtkm::Float64> outArray;
//todo, we need to use the policy to determine the valid conversions
//that the dispatcher should do
this->Invoke(this->Worklet, coordinates, outArray);
this->Invoke(*(this->Worklet), coordinates, outArray);
dataSet.AddField(vtkm::cont::make_FieldPoint("oscillating", outArray));
return dataSet;

@ -64,7 +64,8 @@ public:
private:
vtkm::Id3 Dims;
vtkm::worklet::OscillatorSource Worklet;
//vtkm::worklet::OscillatorSource Worklet;
std::unique_ptr<vtkm::worklet::OscillatorSource> Worklet;
};
}
}