mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-19 18:45:43 +00:00
allow requesting fields by name, and make test data set names more sensible.
This commit is contained in:
parent
21d31e6548
commit
019e30a263
@ -30,6 +30,7 @@
|
||||
#include <vtkm/cont/CellSet.h>
|
||||
#include <vtkm/cont/CellSetExplicit.h>
|
||||
#include <vtkm/cont/CellSetStructured.h>
|
||||
#include <vtkm/cont/ErrorControlBadValue.h>
|
||||
|
||||
namespace vtkm {
|
||||
namespace cont {
|
||||
@ -50,13 +51,25 @@ public:
|
||||
|
||||
vtkm::cont::Field &GetField(int index)
|
||||
{
|
||||
VTKM_ASSERT_CONT(index >= 0 && index <= int(Fields.size()));
|
||||
return Fields[index];
|
||||
}
|
||||
|
||||
vtkm::cont::Field &GetField(const std::string &n)
|
||||
{
|
||||
for (unsigned int i=0; i<Fields.size(); ++i)
|
||||
{
|
||||
if (Fields[i].GetName() == n)
|
||||
return Fields[i];
|
||||
}
|
||||
throw vtkm::cont::ErrorControlBadValue("No field with requested name");
|
||||
}
|
||||
|
||||
vtkm::Id x_idx, y_idx, z_idx;
|
||||
|
||||
vtkm::cont::CellSet *GetCellSet(int index=0)
|
||||
{
|
||||
VTKM_ASSERT_CONT(index >= 0 && index <= int(CellSets.size()));
|
||||
return CellSets[index];
|
||||
}
|
||||
|
||||
|
@ -61,7 +61,7 @@ MakeTestDataSet::Make2DRegularDataSet0()
|
||||
ds->AddField(Field("y", 1, vtkm::cont::Field::ASSOC_POINTS, yVals, nVerts));
|
||||
|
||||
//set node scalar.
|
||||
ds->AddField(Field("v", 1, vtkm::cont::Field::ASSOC_POINTS, vars, nVerts));
|
||||
ds->AddField(Field("nodevar", 1, vtkm::cont::Field::ASSOC_POINTS, vars, nVerts));
|
||||
|
||||
//create scalar.
|
||||
vtkm::Float32 cellvar[2] = {100.1, 200.1};
|
||||
@ -97,7 +97,7 @@ MakeTestDataSet::Make3DRegularDataSet0()
|
||||
ds->AddField(Field("z", 1, vtkm::cont::Field::ASSOC_POINTS, zVals, nVerts));
|
||||
|
||||
//Set node scalar
|
||||
ds->AddField(Field("v", 1, vtkm::cont::Field::ASSOC_POINTS, vars, nVerts));
|
||||
ds->AddField(Field("nodevar", 1, vtkm::cont::Field::ASSOC_POINTS, vars, nVerts));
|
||||
|
||||
//Set cell scalar
|
||||
vtkm::Float32 cellvar[4] = {100.1, 100.2, 100.3, 100.4};
|
||||
@ -133,7 +133,7 @@ MakeTestDataSet::Make3DExplicitDataSet0()
|
||||
ds->AddField(Field("z", 1, vtkm::cont::Field::ASSOC_POINTS, zVals, nVerts));
|
||||
|
||||
//Set node scalar
|
||||
ds->AddField(Field("v", 1, vtkm::cont::Field::ASSOC_POINTS, vars, nVerts));
|
||||
ds->AddField(Field("nodevar", 1, vtkm::cont::Field::ASSOC_POINTS, vars, nVerts));
|
||||
|
||||
//Set cell scalar
|
||||
vtkm::Float32 cellvar[2] = {100.1, 100.2};
|
||||
@ -190,7 +190,7 @@ MakeTestDataSet::Make3DExplicitDataSet1()
|
||||
ds->AddField(Field("z", 1, vtkm::cont::Field::ASSOC_POINTS, zVals, nVerts));
|
||||
|
||||
//Set node scalar
|
||||
ds->AddField(Field("v", 1, vtkm::cont::Field::ASSOC_POINTS, vars, nVerts));
|
||||
ds->AddField(Field("nodevar", 1, vtkm::cont::Field::ASSOC_POINTS, vars, nVerts));
|
||||
|
||||
//Set cell scalar
|
||||
vtkm::Float32 cellvar[2] = {100.1, 100.2};
|
||||
|
@ -146,10 +146,10 @@ TestMaxNodeOrCell()
|
||||
//a method that return the nodesOfCellsConnectivity / structure
|
||||
//for that derived type. ( talk to robert for how dax did this )
|
||||
vtkm::worklet::DispatcherMapTopology< ::test::MaxNodeOrCellValue > dispatcher;
|
||||
dispatcher.Invoke(ds->GetField(4).GetData(),
|
||||
ds->GetField(3).GetData(),
|
||||
dispatcher.Invoke(ds->GetField("cellvar").GetData(),
|
||||
ds->GetField("nodevar").GetData(),
|
||||
cse->GetNodeToCellConnectivity(),
|
||||
ds->GetField(5).GetData());
|
||||
ds->GetField("outcellvar").GetData());
|
||||
|
||||
//Make sure we got the right answer.
|
||||
vtkm::cont::ArrayHandle<vtkm::Float32> res;
|
||||
@ -190,9 +190,9 @@ TestAvgNodeToCell()
|
||||
VTKM_TEST_ASSERT(cse, "Expected an explicit cell set");
|
||||
|
||||
vtkm::worklet::DispatcherMapTopology< ::test::AvgNodeToCellValue > dispatcher;
|
||||
dispatcher.Invoke(ds->GetField(4).GetData(),
|
||||
dispatcher.Invoke(ds->GetField("nodevar").GetData(),
|
||||
cse->GetNodeToCellConnectivity(),
|
||||
ds->GetField(5).GetData());
|
||||
ds->GetField("outcellvar").GetData());
|
||||
std::cout<<__LINE__<<std::endl;
|
||||
|
||||
//make sure we got the right answer.
|
||||
|
@ -145,8 +145,8 @@ TestMaxNodeOrCell()
|
||||
//a method that return the nodesOfCellsConnectivity / structure
|
||||
//for that derived type. ( talk to robert for how dax did this )
|
||||
vtkm::worklet::DispatcherMapTopology< ::test::MaxNodeOrCellValue > dispatcher;
|
||||
dispatcher.Invoke(ds->GetField(3).GetData(),
|
||||
ds->GetField(2).GetData(),
|
||||
dispatcher.Invoke(ds->GetField("cellvar").GetData(),
|
||||
ds->GetField("nodevar").GetData(),
|
||||
cs->GetNodeToCellConnectivity(),
|
||||
ds->GetField(4).GetData());
|
||||
|
||||
@ -189,9 +189,9 @@ TestAvgNodeToCell()
|
||||
//a method that return the nodesOfCellsConnectivity / structure
|
||||
//for that derived type. ( talk to robert for how dax did this )
|
||||
vtkm::worklet::DispatcherMapTopology< ::test::AvgNodeToCellValue > dispatcher;
|
||||
dispatcher.Invoke(ds->GetField(2).GetData(),
|
||||
dispatcher.Invoke(ds->GetField("nodevar").GetData(),
|
||||
cs->GetNodeToCellConnectivity(),
|
||||
ds->GetField(4).GetData());
|
||||
ds->GetField("outcellvar").GetData());
|
||||
|
||||
//make sure we got the right answer.
|
||||
vtkm::cont::ArrayHandle<vtkm::Float32> res;
|
||||
|
Loading…
Reference in New Issue
Block a user