Change interface to DataSetBuilderRegular::Create to better match the VTKM philosophy. Modify the MakeTestDataSet class to use the new interface.

This commit is contained in:
Dave Pugmire 2015-12-24 11:46:07 -05:00
parent 665427dbb0
commit acd4dae229
2 changed files with 23 additions and 33 deletions

@ -36,52 +36,40 @@ public:
//2D regular grids. //2D regular grids.
VTKM_CONT_EXPORT VTKM_CONT_EXPORT
vtkm::cont::DataSet vtkm::cont::DataSet
Create(vtkm::Id nx, vtkm::Id ny, Create(const vtkm::Id2 &dimensions,
const vtkm::Vec<vtkm::FloatDefault,2> &origin = vtkm::Vec<vtkm::FloatDefault,2>(0.0f),
const vtkm::Vec<vtkm::FloatDefault,2> &spacing = vtkm::Vec<vtkm::FloatDefault,2>(1.0f),
std::string coordNm="coords", std::string cellNm="cells") std::string coordNm="coords", std::string cellNm="cells")
{ {
return Create(2, nx, ny, 1, 0,0,0, 1,1,1, coordNm, cellNm); return CreateDS(2,
} dimensions[0],dimensions[1],1, origin[0],origin[1],0.0f,
spacing[0],spacing[1],1.0f,
template<typename T> coordNm, cellNm);
VTKM_CONT_EXPORT
vtkm::cont::DataSet
Create(vtkm::Id nx, vtkm::Id ny,
T originX, T originY, T spacingX, T spacingY,
std::string coordNm="coords", std::string cellNm="cells")
{
return Create(2, nx,ny,1, originX,originY,0,
spacingX,spacingY,1,
coordNm, cellNm);
} }
//3D regular grids. //3D regular grids.
VTKM_CONT_EXPORT VTKM_CONT_EXPORT
vtkm::cont::DataSet vtkm::cont::DataSet
Create(vtkm::Id nx, vtkm::Id ny, vtkm::Id nz, Create(const vtkm::Id3 &dimensions,
const vtkm::Vec<vtkm::FloatDefault,3> &origin = vtkm::Vec<vtkm::FloatDefault,3>(0.0f),
const vtkm::Vec<vtkm::FloatDefault,3> &spacing = vtkm::Vec<vtkm::FloatDefault,3>(1.0f),
std::string coordNm="coords", std::string cellNm="cells") std::string coordNm="coords", std::string cellNm="cells")
{ {
return Create(3, nx, ny, nz, 0,0,0, 1,1,1, coordNm, cellNm); return CreateDS(3,
} dimensions[0],dimensions[1],dimensions[2],
origin[0],origin[1],origin[2],
template<typename T> spacing[0],spacing[1],spacing[2],
VTKM_CONT_EXPORT coordNm, cellNm);
vtkm::cont::DataSet
Create(vtkm::Id nx, vtkm::Id ny, vtkm::Id nz,
T originX, T originY, T originZ, T spacingX, T spacingY, T spacingZ,
std::string coordNm="coords", std::string cellNm="cells")
{
return Create(3, nx,ny,nz, originX,originY,originZ,
spacingX,spacingY,spacingZ,
coordNm, cellNm);
} }
private: private:
template<typename T> template<typename T>
VTKM_CONT_EXPORT VTKM_CONT_EXPORT
vtkm::cont::DataSet vtkm::cont::DataSet
Create(int dim, vtkm::Id nx, vtkm::Id ny, vtkm::Id nz, CreateDS(int dim, vtkm::Id nx, vtkm::Id ny, vtkm::Id nz,
T originX, T originY, T originZ, T spacingX, T spacingY, T spacingZ, T originX, T originY, T originZ,
std::string coordNm, std::string cellNm) T spacingX, T spacingY, T spacingZ,
std::string coordNm, std::string cellNm)
{ {
VTKM_ASSERT_CONT(nx>1 && ny>1 && ((dim==2 && nz==1)||(dim==3 && nz>=1))); VTKM_ASSERT_CONT(nx>1 && ny>1 && ((dim==2 && nz==1)||(dim==3 && nz>=1)));
vtkm::cont::DataSet dataSet; vtkm::cont::DataSet dataSet;

@ -60,7 +60,8 @@ inline vtkm::cont::DataSet
MakeTestDataSet::Make2DRegularDataSet0() MakeTestDataSet::Make2DRegularDataSet0()
{ {
vtkm::cont::DataSetBuilderRegular dsb; vtkm::cont::DataSetBuilderRegular dsb;
vtkm::cont::DataSet dataSet = dsb.Create(3,2); vtkm::Id2 dimensions(3,2);
vtkm::cont::DataSet dataSet = dsb.Create(dimensions);
vtkm::cont::DataSetFieldAdd dsf; vtkm::cont::DataSetFieldAdd dsf;
const vtkm::Id nVerts = 6; const vtkm::Id nVerts = 6;
@ -78,7 +79,8 @@ inline vtkm::cont::DataSet
MakeTestDataSet::Make3DRegularDataSet0() MakeTestDataSet::Make3DRegularDataSet0()
{ {
vtkm::cont::DataSetBuilderRegular dsb; vtkm::cont::DataSetBuilderRegular dsb;
vtkm::cont::DataSet dataSet = dsb.Create(3,2,3); vtkm::Id3 dimensions(3,2,3);
vtkm::cont::DataSet dataSet = dsb.Create(dimensions);
vtkm::cont::DataSetFieldAdd dsf; vtkm::cont::DataSetFieldAdd dsf;
const int nVerts = 18; const int nVerts = 18;