mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-19 02:25:42 +00:00
Validate the data format for the UniformGridEvaluate.
This commit is contained in:
parent
69c1f946c5
commit
33150365eb
@ -74,15 +74,14 @@ void RunTest(const std::string& fname,
|
||||
vtkm::io::reader::BOVDataSetReader rdr(fname);
|
||||
vtkm::cont::DataSet ds = rdr.ReadDataSet();
|
||||
|
||||
vtkm::worklet::particleadvection::RegularGridEvaluate<FieldPortalConstType, FieldType> eval(ds);
|
||||
|
||||
typedef vtkm::worklet::particleadvection::RegularGridEvaluate<FieldPortalConstType, FieldType>
|
||||
typedef vtkm::worklet::particleadvection::UniformGridEvaluate<FieldPortalConstType, FieldType>
|
||||
RGEvalType;
|
||||
typedef vtkm::worklet::particleadvection::RK4Integrator<RGEvalType,
|
||||
FieldType,
|
||||
FieldPortalConstType>
|
||||
RK4RGType;
|
||||
|
||||
RGEvalType eval(ds);
|
||||
RK4RGType rk4(eval, stepSize);
|
||||
|
||||
std::vector<vtkm::Vec<FieldType, 3>> seeds;
|
||||
|
@ -112,17 +112,23 @@ private:
|
||||
vtkm::Bounds bounds;
|
||||
};
|
||||
|
||||
//Regular Grid Evaluator
|
||||
//Uniform Grid Evaluator
|
||||
template <typename PortalType, typename FieldType>
|
||||
class RegularGridEvaluate
|
||||
class UniformGridEvaluate
|
||||
{
|
||||
public:
|
||||
VTKM_CONT
|
||||
RegularGridEvaluate() {}
|
||||
UniformGridEvaluate() {}
|
||||
|
||||
VTKM_CONT
|
||||
RegularGridEvaluate(const vtkm::cont::DataSet& ds)
|
||||
UniformGridEvaluate(const vtkm::cont::DataSet& ds)
|
||||
{
|
||||
typedef vtkm::cont::ArrayHandleUniformPointCoordinates UniformType;
|
||||
|
||||
vtkm::cont::DynamicArrayHandleCoordinateSystem coordArray = ds.GetCoordinateSystem().GetData();
|
||||
if (!coordArray.IsSameType(UniformType()))
|
||||
throw vtkm::cont::ErrorInternal("Given dataset is was not uniform.");
|
||||
|
||||
bounds = ds.GetCoordinateSystem(0).GetBounds();
|
||||
vtkm::cont::CellSetStructured<3> cells;
|
||||
ds.GetCellSet(0).CopyTo(cells);
|
||||
@ -234,7 +240,7 @@ private:
|
||||
vtkm::Id rowSize;
|
||||
vtkm::Vec<FieldType, 3> spacing;
|
||||
vtkm::Vec<FieldType, 3> oldMin;
|
||||
}; //RegularGridEvaluate
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
@ -126,15 +126,14 @@ void TestParticleAdvection()
|
||||
}
|
||||
vtkm::cont::DataSet ds = dataSetBuilder.Create(dims);
|
||||
|
||||
vtkm::worklet::particleadvection::RegularGridEvaluate<FieldPortalConstType, FieldType> eval(ds);
|
||||
|
||||
typedef vtkm::worklet::particleadvection::RegularGridEvaluate<FieldPortalConstType, FieldType>
|
||||
typedef vtkm::worklet::particleadvection::UniformGridEvaluate<FieldPortalConstType, FieldType>
|
||||
RGEvalType;
|
||||
typedef vtkm::worklet::particleadvection::RK4Integrator<RGEvalType,
|
||||
FieldType,
|
||||
FieldPortalConstType>
|
||||
RK4RGType;
|
||||
|
||||
RGEvalType eval(ds);
|
||||
RK4RGType rk4(eval, stepSize);
|
||||
|
||||
std::vector<vtkm::Vec<FieldType, 3>> pts;
|
||||
|
Loading…
Reference in New Issue
Block a user