Change of Field::Association names.

This commit is contained in:
Dave Pugmire 2022-08-29 06:40:42 -04:00
parent 00b6657689
commit f69e598225
20 changed files with 91 additions and 84 deletions

@ -354,7 +354,7 @@ public:
private: private:
std::vector<vtkm::cont::CoordinateSystem> CoordSystems; std::vector<vtkm::cont::CoordinateSystem> CoordSystems;
vtkm::cont::internal::FieldCollection Fields = vtkm::cont::internal::FieldCollection Fields =
vtkm::cont::internal::FieldCollection({ vtkm::cont::Field::Association::WholeMesh, vtkm::cont::internal::FieldCollection({ vtkm::cont::Field::Association::WholeDataSet,
vtkm::cont::Field::Association::Points, vtkm::cont::Field::Association::Points,
vtkm::cont::Field::Association::Cells }); vtkm::cont::Field::Association::Cells });

@ -88,8 +88,8 @@ void Field::PrintSummary(std::ostream& out) const
case Association::Any: case Association::Any:
out << "Any "; out << "Any ";
break; break;
case Association::WholeMesh: case Association::WholeDataSet:
out << "Mesh "; out << "WholeDataSet ";
break; break;
case Association::Points: case Association::Points:
out << "Points "; out << "Points ";
@ -97,8 +97,11 @@ void Field::PrintSummary(std::ostream& out) const
case Association::Cells: case Association::Cells:
out << "Cells "; out << "Cells ";
break; break;
case Association::AllPartitions: case Association::Partitions:
out << "AllPartitions "; out << "Partitions ";
break;
case Association::Global:
out << "Global ";
break; break;
} }
this->Data.PrintSummary(out); this->Data.PrintSummary(out);

@ -34,15 +34,18 @@ public:
enum struct Association enum struct Association
{ {
Any, Any,
WholeMesh, WholeDataSet,
Points, Points,
Cells, Cells,
Partitions, Partitions,
AllPartitions, Global,
ANY VTKM_DEPRECATED(1.8, "Use vtkm::cont::Field::Association::Any.") = Any, ANY VTKM_DEPRECATED(1.8, "Use vtkm::cont::Field::Association::Any.") = Any,
WHOLE_MESH VTKM_DEPRECATED(1.8, "Use vtkm::cont::Field::Association::WholeMesh.") = WholeMesh, WHOLE_MESH VTKM_DEPRECATED(1.8, "Use vtkm::cont::Field::Association::WholeMesh.") =
WholeDataSet,
POINTS VTKM_DEPRECATED(1.8, "Use vtkm::cont::Field::Association::Points.") = Points, POINTS VTKM_DEPRECATED(1.8, "Use vtkm::cont::Field::Association::Points.") = Points,
CELL_SET VTKM_DEPRECATED(1.8, "Use vtkm::cont::Field::Association::Cells.") = Cells CELL_SET VTKM_DEPRECATED(1.8, "Use vtkm::cont::Field::Association::Cells.") = Cells,
WholeMesh VTKM_DEPRECATED(1.9, "Use vtkm::cont::Field::Association::WholeDataSet.") =
WholeDataSet
}; };
VTKM_CONT VTKM_CONT
@ -69,7 +72,10 @@ public:
VTKM_CONT bool IsFieldCell() const { return this->FieldAssociation == Association::Cells; } VTKM_CONT bool IsFieldCell() const { return this->FieldAssociation == Association::Cells; }
VTKM_CONT bool IsFieldPoint() const { return this->FieldAssociation == Association::Points; } VTKM_CONT bool IsFieldPoint() const { return this->FieldAssociation == Association::Points; }
VTKM_CONT bool IsFieldGlobal() const { return this->FieldAssociation == Association::WholeMesh; } VTKM_CONT bool IsFieldGlobal() const
{
return this->FieldAssociation == Association::WholeDataSet;
}
/// Returns true if the array of the field has a value type that matches something in /// Returns true if the array of the field has a value type that matches something in
/// `VTKM_FIELD_TYPE_LIST` and a storage that matches something in `VTKM_FIELD_STORAGE_LIST`. /// `VTKM_FIELD_TYPE_LIST` and a storage that matches something in `VTKM_FIELD_STORAGE_LIST`.

@ -108,27 +108,24 @@ public:
VTKM_CONT void AddField(const Field& field) { this->Fields.AddField(field); } VTKM_CONT void AddField(const Field& field) { this->Fields.AddField(field); }
template <typename T, typename Storage> template <typename T, typename Storage>
VTKM_CONT void AddAllPartitionsField(const std::string& fieldName, VTKM_CONT void AddGlobalField(const std::string& fieldName,
const vtkm::cont::ArrayHandle<T, Storage>& field) const vtkm::cont::ArrayHandle<T, Storage>& field)
{
this->AddField(vtkm::cont::Field(fieldName, vtkm::cont::Field::Association::Global, field));
}
template <typename T>
VTKM_CONT void AddGlobalField(const std::string& fieldName, const std::vector<T>& field)
{ {
this->AddField( this->AddField(
vtkm::cont::Field(fieldName, vtkm::cont::Field::Association::AllPartitions, field)); make_Field(fieldName, vtkm::cont::Field::Association::Global, field, vtkm::CopyFlag::On));
} }
template <typename T> template <typename T>
VTKM_CONT void AddAllPartitionsField(const std::string& fieldName, const std::vector<T>& field) VTKM_CONT void AddGlobalField(const std::string& fieldName, const T* field, const vtkm::Id& n)
{ {
this->AddField(make_Field( this->AddField(
fieldName, vtkm::cont::Field::Association::AllPartitions, field, vtkm::CopyFlag::On)); make_Field(fieldName, vtkm::cont::Field::Association::Global, field, n, vtkm::CopyFlag::On));
}
template <typename T>
VTKM_CONT void AddAllPartitionsField(const std::string& fieldName,
const T* field,
const vtkm::Id& n)
{
this->AddField(make_Field(
fieldName, vtkm::cont::Field::Association::AllPartitions, field, n, vtkm::CopyFlag::On));
} }
template <typename T, typename Storage> template <typename T, typename Storage>
@ -175,9 +172,9 @@ public:
} }
VTKM_CONT VTKM_CONT
const vtkm::cont::Field& GetAllPartitionsField(const std::string& name) const const vtkm::cont::Field& GetGlobalField(const std::string& name) const
{ {
return this->GetField(name, vtkm::cont::Field::Association::AllPartitions); return this->GetField(name, vtkm::cont::Field::Association::Global);
} }
VTKM_CONT VTKM_CONT
@ -187,9 +184,9 @@ public:
} }
VTKM_CONT VTKM_CONT
vtkm::cont::Field& GetAllPartitionsField(const std::string& name) vtkm::cont::Field& GetGlobalField(const std::string& name)
{ {
return this->GetField(name, vtkm::cont::Field::Association::AllPartitions); return this->GetField(name, vtkm::cont::Field::Association::Global);
} }
VTKM_CONT VTKM_CONT
@ -206,9 +203,9 @@ public:
} }
VTKM_CONT VTKM_CONT
bool HasAllPartitionsField(const std::string& name) const bool HasGlobalField(const std::string& name) const
{ {
return (this->Fields.GetFieldIndex(name, vtkm::cont::Field::Association::AllPartitions) != -1); return (this->Fields.GetFieldIndex(name, vtkm::cont::Field::Association::Global) != -1);
} }
VTKM_CONT VTKM_CONT
@ -245,7 +242,7 @@ private:
std::vector<vtkm::cont::DataSet> Partitions; std::vector<vtkm::cont::DataSet> Partitions;
vtkm::cont::internal::FieldCollection Fields = vtkm::cont::internal::FieldCollection( vtkm::cont::internal::FieldCollection Fields = vtkm::cont::internal::FieldCollection(
{ vtkm::cont::Field::Association::Partitions, vtkm::cont::Field::Association::AllPartitions }); { vtkm::cont::Field::Association::Partitions, vtkm::cont::Field::Association::Global });
}; };
} }
} // namespace vtkm::cont } // namespace vtkm::cont

@ -43,7 +43,7 @@ static void PartitionedDataSetTest()
auto idsField = vtkm::cont::make_Field( auto idsField = vtkm::cont::make_Field(
"ids", vtkm::cont::Field::Association::Partitions, ids, vtkm::CopyFlag::On); "ids", vtkm::cont::Field::Association::Partitions, ids, vtkm::CopyFlag::On);
auto pdsVar = vtkm::cont::make_Field( auto pdsVar = vtkm::cont::make_Field(
"pds_var", vtkm::cont::Field::Association::AllPartitions, ids, vtkm::CopyFlag::On); "pds_var", vtkm::cont::Field::Association::Partitions, ids, vtkm::CopyFlag::On);
pds.AddField(idsField); pds.AddField(idsField);
pds.AddField(pdsVar); pds.AddField(pdsVar);
@ -110,7 +110,7 @@ static void PartitionedDataSetTest()
pdsVar.GetRange(&SourceRange); pdsVar.GetRange(&SourceRange);
pds.GetField("pds_var").GetRange(&TestRange); pds.GetField("pds_var").GetRange(&TestRange);
VTKM_TEST_ASSERT(TestRange == SourceRange, "AllPartitions field values incorrect"); VTKM_TEST_ASSERT(TestRange == SourceRange, "Global field values incorrect");
vtkm::cont::PartitionedDataSet testblocks1; vtkm::cont::PartitionedDataSet testblocks1;
std::vector<vtkm::cont::DataSet> partitions = pds.GetPartitions(); std::vector<vtkm::cont::DataSet> partitions = pds.GetPartitions();
@ -162,7 +162,7 @@ static void PartitionedDataSetFieldTest()
auto idField = vtkm::cont::make_Field( auto idField = vtkm::cont::make_Field(
"id", vtkm::cont::Field::Association::Partitions, ids, vtkm::CopyFlag::Off); "id", vtkm::cont::Field::Association::Partitions, ids, vtkm::CopyFlag::Off);
auto gScalar = vtkm::cont::make_Field( auto gScalar = vtkm::cont::make_Field(
"global_scalar", vtkm::cont::Field::Association::AllPartitions, gs, vtkm::CopyFlag::Off); "global_scalar", vtkm::cont::Field::Association::Global, gs, vtkm::CopyFlag::Off);
pds.AddField(idField); pds.AddField(idField);
pds.AddField(gScalar); pds.AddField(gScalar);
@ -170,26 +170,25 @@ static void PartitionedDataSetFieldTest()
else if (i == 1) //array handle else if (i == 1) //array handle
{ {
pds.AddPartitionsField("id", idsArr); pds.AddPartitionsField("id", idsArr);
pds.AddAllPartitionsField("global_scalar", gsArr); pds.AddGlobalField("global_scalar", gsArr);
} }
else if (i == 2) //std::vector else if (i == 2) //std::vector
{ {
pds.AddPartitionsField("id", ids); pds.AddPartitionsField("id", ids);
pds.AddAllPartitionsField("global_scalar", gs); pds.AddGlobalField("global_scalar", gs);
} }
else if (i == 3) //pointer else if (i == 3) //pointer
{ {
pds.AddPartitionsField("id", ids.data(), 2); pds.AddPartitionsField("id", ids.data(), 2);
pds.AddAllPartitionsField("global_scalar", gs.data(), 1); pds.AddGlobalField("global_scalar", gs.data(), 1);
} }
//Validate each method. //Validate each method.
VTKM_TEST_ASSERT(pds.GetNumberOfFields() == 2, "Wrong number of fields"); VTKM_TEST_ASSERT(pds.GetNumberOfFields() == 2, "Wrong number of fields");
//Make sure fields are there and of the right type. //Make sure fields are there and of the right type.
VTKM_TEST_ASSERT(pds.HasField("id") && pds.HasPartitionsField("id"), "id field misssing."); VTKM_TEST_ASSERT(pds.HasPartitionsField("id"), "id field misssing.");
VTKM_TEST_ASSERT(pds.HasField("global_scalar") && pds.HasAllPartitionsField("global_scalar"), VTKM_TEST_ASSERT(pds.HasGlobalField("global_scalar"), "global_scalar field misssing.");
"global_scalar field misssing.");
for (int j = 0; j < 2; j++) for (int j = 0; j < 2; j++)
{ {
@ -203,7 +202,7 @@ static void PartitionedDataSetFieldTest()
else else
{ {
f0 = pds.GetPartitionsField("id"); f0 = pds.GetPartitionsField("id");
f1 = pds.GetAllPartitionsField("global_scalar"); f1 = pds.GetGlobalField("global_scalar");
} }
//Check the values. //Check the values.

@ -44,7 +44,7 @@ public:
//From the field we can extract the association component //From the field we can extract the association component
// Association::Any -> unable to map // Association::Any -> unable to map
// Association::WholeMesh -> (I think this is points) // Association::WholeDataSet -> (I think this is points)
// Association::Points -> map using point mapping // Association::Points -> map using point mapping
// Association::Cells -> how do we map this? // Association::Cells -> how do we map this?
template <typename DerivedPolicy> template <typename DerivedPolicy>

@ -70,7 +70,7 @@ public:
//From the field we can extract the association component //From the field we can extract the association component
// Association::Any -> unable to map // Association::Any -> unable to map
// Association::WholeMesh -> (I think this is points) // Association::WholeDataSet -> (I think this is points)
// Association::Points -> map using point mapping // Association::Points -> map using point mapping
// Association::Cells -> how do we map this? // Association::Cells -> how do we map this?
template <typename DerivedPolicy> template <typename DerivedPolicy>

@ -93,8 +93,8 @@ vtkm::cont::DataSet GetTestDataSet()
vtkm::cont::DataSet ds = dsb.Create(points, shapes, numberofInd, connections); vtkm::cont::DataSet ds = dsb.Create(points, shapes, numberofInd, connections);
ds.AddField(vtkm::cont::Field("scatter_pos", vtkm::cont::Field::Association::Cells, offsets)); ds.AddField(vtkm::cont::Field("scatter_pos", vtkm::cont::Field::Association::Cells, offsets));
ds.AddField(vtkm::cont::Field("scatter_len", vtkm::cont::Field::Association::Cells, lengths)); ds.AddField(vtkm::cont::Field("scatter_len", vtkm::cont::Field::Association::Cells, lengths));
ds.AddField(vtkm::cont::Field("scatter_ids", vtkm::cont::Field::Association::WholeMesh, ids)); ds.AddField(vtkm::cont::Field("scatter_ids", vtkm::cont::Field::Association::WholeDataSet, ids));
ds.AddField(vtkm::cont::Field("scatter_vfs", vtkm::cont::Field::Association::WholeMesh, vfs)); ds.AddField(vtkm::cont::Field("scatter_vfs", vtkm::cont::Field::Association::WholeDataSet, vfs));
return ds; return ds;
} }
@ -201,9 +201,9 @@ void TestMIRVenn250()
data.AddField(vtkm::cont::Field("scatter_pos", vtkm::cont::Field::Association::Cells, offset)); data.AddField(vtkm::cont::Field("scatter_pos", vtkm::cont::Field::Association::Cells, offset));
data.AddField(vtkm::cont::Field("scatter_len", vtkm::cont::Field::Association::Cells, length)); data.AddField(vtkm::cont::Field("scatter_len", vtkm::cont::Field::Association::Cells, length));
data.AddField( data.AddField(
vtkm::cont::Field("scatter_ids", vtkm::cont::Field::Association::WholeMesh, matIds)); vtkm::cont::Field("scatter_ids", vtkm::cont::Field::Association::WholeDataSet, matIds));
data.AddField( data.AddField(
vtkm::cont::Field("scatter_vfs", vtkm::cont::Field::Association::WholeMesh, matVFs)); vtkm::cont::Field("scatter_vfs", vtkm::cont::Field::Association::WholeDataSet, matVFs));
vtkm::filter::contour::MIRFilter mir; vtkm::filter::contour::MIRFilter mir;
mir.SetIDWholeSetName("scatter_ids"); mir.SetIDWholeSetName("scatter_ids");

@ -42,7 +42,7 @@ VTKM_CONT vtkm::cont::DataSet Entropy::DoExecute(const vtkm::cont::DataSet& inDa
vtkm::cont::DataSet output; vtkm::cont::DataSet output;
output.AddField( output.AddField(
{ this->GetOutputFieldName(), vtkm::cont::Field::Association::WholeMesh, entropy }); { this->GetOutputFieldName(), vtkm::cont::Field::Association::WholeDataSet, entropy });
// The output is a "summary" of the input, no need to map fields // The output is a "summary" of the input, no need to map fields
return output; return output;

@ -215,7 +215,7 @@ VTKM_CONT vtkm::cont::DataSet Histogram::DoExecute(const vtkm::cont::DataSet& in
vtkm::cont::DataSet output; vtkm::cont::DataSet output;
output.AddField( output.AddField(
{ this->GetOutputFieldName(), vtkm::cont::Field::Association::WholeMesh, binArray }); { this->GetOutputFieldName(), vtkm::cont::Field::Association::WholeDataSet, binArray });
// The output is a "summary" of the input, no need to map fields // The output is a "summary" of the input, no need to map fields
return output; return output;
@ -265,7 +265,7 @@ VTKM_CONT void Histogram::PostExecute(const vtkm::cont::PartitionedDataSet&,
vtkm::cont::DataSet output; vtkm::cont::DataSet output;
vtkm::cont::Field rfield( vtkm::cont::Field rfield(
this->GetOutputFieldName(), vtkm::cont::Field::Association::WholeMesh, helper.ReduceAll()); this->GetOutputFieldName(), vtkm::cont::Field::Association::WholeDataSet, helper.ReduceAll());
output.AddField(rfield); output.AddField(rfield);
result = vtkm::cont::PartitionedDataSet(output); result = vtkm::cont::PartitionedDataSet(output);

@ -42,7 +42,7 @@ VTKM_CONT vtkm::cont::DataSet NDEntropy::DoExecute(const vtkm::cont::DataSet& in
entropyHandle.WritePortal().Set(0, entropy); entropyHandle.WritePortal().Set(0, entropy);
vtkm::cont::DataSet outputData; vtkm::cont::DataSet outputData;
outputData.AddField({ "Entropy", vtkm::cont::Field::Association::WholeMesh, entropyHandle }); outputData.AddField({ "Entropy", vtkm::cont::Field::Association::WholeDataSet, entropyHandle });
// The output is a "summary" of the input, no need to map fields // The output is a "summary" of the input, no need to map fields
return outputData; return outputData;
} }

@ -61,9 +61,9 @@ VTKM_CONT vtkm::cont::DataSet NDHistogram::DoExecute(const vtkm::cont::DataSet&
for (size_t i = 0; i < binIds.size(); i++) for (size_t i = 0; i < binIds.size(); i++)
{ {
outputData.AddField( outputData.AddField(
{ this->FieldNames[i], vtkm::cont::Field::Association::WholeMesh, binIds[i] }); { this->FieldNames[i], vtkm::cont::Field::Association::WholeDataSet, binIds[i] });
} }
outputData.AddField({ "Frequency", vtkm::cont::Field::Association::WholeMesh, freqs }); outputData.AddField({ "Frequency", vtkm::cont::Field::Association::WholeDataSet, freqs });
// The output is a "summary" of the input, no need to map fields // The output is a "summary" of the input, no need to map fields
return outputData; return outputData;
} }

@ -152,7 +152,7 @@ public:
: FieldValues(fieldValues) : FieldValues(fieldValues)
, Assoc(assoc) , Assoc(assoc)
{ {
if (assoc == Association::Any || assoc == Association::WholeMesh) if (assoc != Association::Points && assoc != Association::Cells)
throw("Unsupported field association"); throw("Unsupported field association");
} }

@ -96,7 +96,7 @@ vtkm::cont::DataSet ContourTreeMesh2D::DoExecute(const vtkm::cont::DataSet& inpu
this->CastAndCallScalarField(field, resolveType); this->CastAndCallScalarField(field, resolveType);
return this->CreateResultField( return this->CreateResultField(
input, this->GetOutputFieldName(), vtkm::cont::Field::Association::WholeMesh, saddlePeak); input, this->GetOutputFieldName(), vtkm::cont::Field::Association::WholeDataSet, saddlePeak);
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -132,7 +132,7 @@ vtkm::cont::DataSet ContourTreeMesh3D::DoExecute(const vtkm::cont::DataSet& inpu
this->CastAndCallScalarField(field, resolveType); this->CastAndCallScalarField(field, resolveType);
return this->CreateResultField( return this->CreateResultField(
input, this->GetOutputFieldName(), vtkm::cont::Field::Association::WholeMesh, saddlePeak); input, this->GetOutputFieldName(), vtkm::cont::Field::Association::WholeDataSet, saddlePeak);
} }
} // namespace scalar_topology } // namespace scalar_topology
} // namespace filter } // namespace filter

@ -189,10 +189,10 @@ vtkm::cont::DataSet ContourTreeAugmented::DoExecute(const vtkm::cont::DataSet& i
// DataSet without any coordinate system etc. // DataSet without any coordinate system etc.
result = this->CreateResultField(input, result = this->CreateResultField(input,
this->GetOutputFieldName(), this->GetOutputFieldName(),
vtkm::cont::Field::Association::WholeMesh, vtkm::cont::Field::Association::WholeDataSet,
sortedValues); sortedValues);
// vtkm::cont::Field rfield( // vtkm::cont::Field rfield(
// this->GetOutputFieldName(), vtkm::cont::Field::Association::WholeMesh, sortedValues); // this->GetOutputFieldName(), vtkm::cont::Field::Association::WholeDataSet, sortedValues);
// result.AddField(rfield); // result.AddField(rfield);
// return result; // return result;
} }
@ -446,7 +446,7 @@ VTKM_CONT void ContourTreeAugmented::DoPostExecute(const vtkm::cont::Partitioned
// TODO the result we return for the parallel and serial case are different right now. This should be made consistent. However, only in the parallel case are we useing the result output // TODO the result we return for the parallel and serial case are different right now. This should be made consistent. However, only in the parallel case are we useing the result output
vtkm::cont::DataSet temp; vtkm::cont::DataSet temp;
vtkm::cont::Field rfield(this->GetOutputFieldName(), vtkm::cont::Field rfield(this->GetOutputFieldName(),
vtkm::cont::Field::Association::WholeMesh, vtkm::cont::Field::Association::WholeDataSet,
contourTreeMeshOut.SortedValues); contourTreeMeshOut.SortedValues);
temp.AddField(rfield); temp.AddField(rfield);
output = vtkm::cont::PartitionedDataSet(temp); output = vtkm::cont::PartitionedDataSet(temp);

@ -784,10 +784,10 @@ inline VTKM_CONT void ContourTreeUniformDistributed::ComputeVolumeMetric(
hierarchical_hyper_sweep_master.foreach ( hierarchical_hyper_sweep_master.foreach (
[&](HyperSweepBlock* b, const vtkmdiy::Master::ProxyWithLink&) { [&](HyperSweepBlock* b, const vtkmdiy::Master::ProxyWithLink&) {
vtkm::cont::Field intrinsicVolumeField( vtkm::cont::Field intrinsicVolumeField(
"IntrinsicVolume", vtkm::cont::Field::Association::WholeMesh, b->IntrinsicVolume); "IntrinsicVolume", vtkm::cont::Field::Association::WholeDataSet, b->IntrinsicVolume);
hierarchicalTreeOutputDataSet[b->LocalBlockNo].AddField(intrinsicVolumeField); hierarchicalTreeOutputDataSet[b->LocalBlockNo].AddField(intrinsicVolumeField);
vtkm::cont::Field dependentVolumeField( vtkm::cont::Field dependentVolumeField(
"DependentVolume", vtkm::cont::Field::Association::WholeMesh, b->DependentVolume); "DependentVolume", vtkm::cont::Field::Association::WholeDataSet, b->DependentVolume);
hierarchicalTreeOutputDataSet[b->LocalBlockNo].AddField(dependentVolumeField); hierarchicalTreeOutputDataSet[b->LocalBlockNo].AddField(dependentVolumeField);
#ifdef DEBUG_PRINT #ifdef DEBUG_PRINT
VTKM_LOG_S(this->TreeLogLevel, "Block " << b->GlobalBlockId); VTKM_LOG_S(this->TreeLogLevel, "Block " << b->GlobalBlockId);
@ -1210,7 +1210,7 @@ VTKM_CONT void ContourTreeUniformDistributed::DoPostExecute(
auto vtkmGlobalBlockIdWP = vtkmGlobalBlockIdAH.WritePortal(); auto vtkmGlobalBlockIdWP = vtkmGlobalBlockIdAH.WritePortal();
vtkmGlobalBlockIdWP.Set(0, blockData->GlobalBlockId); vtkmGlobalBlockIdWP.Set(0, blockData->GlobalBlockId);
vtkm::cont::Field vtkmGlobalBlockIdField( vtkm::cont::Field vtkmGlobalBlockIdField(
"vtkmGlobalBlockId", vtkm::cont::Field::Association::WholeMesh, vtkmGlobalBlockIdAH); "vtkmGlobalBlockId", vtkm::cont::Field::Association::WholeDataSet, vtkmGlobalBlockIdAH);
hierarchicalTreeOutputDataSet[blockData->LocalBlockNo].AddField(vtkmGlobalBlockIdField); hierarchicalTreeOutputDataSet[blockData->LocalBlockNo].AddField(vtkmGlobalBlockIdField);
vtkm::cont::ArrayHandle<vtkm::Id> vtkmBlocksPerDimensionAH; vtkm::cont::ArrayHandle<vtkm::Id> vtkmBlocksPerDimensionAH;
vtkmBlocksPerDimensionAH.Allocate(3); vtkmBlocksPerDimensionAH.Allocate(3);
@ -1219,7 +1219,7 @@ VTKM_CONT void ContourTreeUniformDistributed::DoPostExecute(
vtkmBlocksPerDimensionWP.Set(1, this->BlocksPerDimension[1]); vtkmBlocksPerDimensionWP.Set(1, this->BlocksPerDimension[1]);
vtkmBlocksPerDimensionWP.Set(2, this->BlocksPerDimension[2]); vtkmBlocksPerDimensionWP.Set(2, this->BlocksPerDimension[2]);
vtkm::cont::Field vtkmBlocksPerDimensionField("vtkmBlocksPerDimension", vtkm::cont::Field vtkmBlocksPerDimensionField("vtkmBlocksPerDimension",
vtkm::cont::Field::Association::WholeMesh, vtkm::cont::Field::Association::WholeDataSet,
vtkmBlocksPerDimensionAH); vtkmBlocksPerDimensionAH);
hierarchicalTreeOutputDataSet[blockData->LocalBlockNo].AddField(vtkmBlocksPerDimensionField); hierarchicalTreeOutputDataSet[blockData->LocalBlockNo].AddField(vtkmBlocksPerDimensionField);

@ -263,7 +263,7 @@ VTKM_CONT vtkm::cont::PartitionedDataSet DistributedBranchDecompositionFilter::D
branch_decomposition_master.foreach ( branch_decomposition_master.foreach (
[&](BranchDecompositionBlock* b, const vtkmdiy::Master::ProxyWithLink&) { [&](BranchDecompositionBlock* b, const vtkmdiy::Master::ProxyWithLink&) {
vtkm::cont::Field branchRootField( vtkm::cont::Field branchRootField(
"BranchRoots", vtkm::cont::Field::Association::WholeMesh, b->BranchRoots); "BranchRoots", vtkm::cont::Field::Association::WholeDataSet, b->BranchRoots);
outputDataSets[b->LocalBlockNo].AddField(branchRootField); outputDataSets[b->LocalBlockNo].AddField(branchRootField);
}); });

@ -1001,38 +1001,40 @@ template <typename FieldType>
void HierarchicalContourTree<FieldType>::AddToVTKMDataSet(vtkm::cont::DataSet& ds) const void HierarchicalContourTree<FieldType>::AddToVTKMDataSet(vtkm::cont::DataSet& ds) const
{ {
// Create data set from output // Create data set from output
vtkm::cont::Field regularNodeGlobalIdsField( vtkm::cont::Field regularNodeGlobalIdsField("RegularNodeGlobalIds",
"RegularNodeGlobalIds", vtkm::cont::Field::Association::WholeMesh, this->RegularNodeGlobalIds); vtkm::cont::Field::Association::WholeDataSet,
this->RegularNodeGlobalIds);
ds.AddField(regularNodeGlobalIdsField); ds.AddField(regularNodeGlobalIdsField);
vtkm::cont::Field dataValuesField( vtkm::cont::Field dataValuesField(
"DataValues", vtkm::cont::Field::Association::WholeMesh, this->DataValues); "DataValues", vtkm::cont::Field::Association::WholeDataSet, this->DataValues);
ds.AddField(dataValuesField); ds.AddField(dataValuesField);
vtkm::cont::Field regularNodeSortOrderField( vtkm::cont::Field regularNodeSortOrderField("RegularNodeSortOrder",
"RegularNodeSortOrder", vtkm::cont::Field::Association::WholeMesh, this->RegularNodeSortOrder); vtkm::cont::Field::Association::WholeDataSet,
this->RegularNodeSortOrder);
ds.AddField(regularNodeSortOrderField); ds.AddField(regularNodeSortOrderField);
vtkm::cont::Field regular2SupernodeField( vtkm::cont::Field regular2SupernodeField(
"Regular2Supernode", vtkm::cont::Field::Association::WholeMesh, this->Regular2Supernode); "Regular2Supernode", vtkm::cont::Field::Association::WholeDataSet, this->Regular2Supernode);
ds.AddField(regular2SupernodeField); ds.AddField(regular2SupernodeField);
vtkm::cont::Field superparentsField( vtkm::cont::Field superparentsField(
"Superparents", vtkm::cont::Field::Association::WholeMesh, this->Superparents); "Superparents", vtkm::cont::Field::Association::WholeDataSet, this->Superparents);
ds.AddField(superparentsField); ds.AddField(superparentsField);
vtkm::cont::Field supernodesField( vtkm::cont::Field supernodesField(
"Supernodes", vtkm::cont::Field::Association::WholeMesh, this->Supernodes); "Supernodes", vtkm::cont::Field::Association::WholeDataSet, this->Supernodes);
ds.AddField(supernodesField); ds.AddField(supernodesField);
vtkm::cont::Field superarcsField( vtkm::cont::Field superarcsField(
"Superarcs", vtkm::cont::Field::Association::WholeMesh, this->Superarcs); "Superarcs", vtkm::cont::Field::Association::WholeDataSet, this->Superarcs);
ds.AddField(superarcsField); ds.AddField(superarcsField);
vtkm::cont::Field hyperparentsField( vtkm::cont::Field hyperparentsField(
"Hyperparents", vtkm::cont::Field::Association::WholeMesh, this->Hyperparents); "Hyperparents", vtkm::cont::Field::Association::WholeDataSet, this->Hyperparents);
ds.AddField(hyperparentsField); ds.AddField(hyperparentsField);
vtkm::cont::Field super2HypernodeField( vtkm::cont::Field super2HypernodeField(
"Super2Hypernode", vtkm::cont::Field::Association::WholeMesh, this->Super2Hypernode); "Super2Hypernode", vtkm::cont::Field::Association::WholeDataSet, this->Super2Hypernode);
ds.AddField(super2HypernodeField); ds.AddField(super2HypernodeField);
vtkm::cont::Field whichRoundField( vtkm::cont::Field whichRoundField(
"WhichRound", vtkm::cont::Field::Association::WholeMesh, this->WhichRound); "WhichRound", vtkm::cont::Field::Association::WholeDataSet, this->WhichRound);
ds.AddField(whichRoundField); ds.AddField(whichRoundField);
vtkm::cont::Field whichIterationField( vtkm::cont::Field whichIterationField(
"WhichIteration", vtkm::cont::Field::Association::WholeMesh, this->WhichIteration); "WhichIteration", vtkm::cont::Field::Association::WholeDataSet, this->WhichIteration);
ds.AddField(whichIterationField); ds.AddField(whichIterationField);
// TODO/FIXME: See what other fields we need to add // TODO/FIXME: See what other fields we need to add
vtkm::worklet::contourtree_augmented::IdArrayType firstSupernodePerIterationComponents; vtkm::worklet::contourtree_augmented::IdArrayType firstSupernodePerIterationComponents;
@ -1042,12 +1044,12 @@ void HierarchicalContourTree<FieldType>::AddToVTKMDataSet(vtkm::cont::DataSet& d
firstSupernodePerIterationOffsets); firstSupernodePerIterationOffsets);
vtkm::cont::Field firstSupernodePerIterationComponentsField( vtkm::cont::Field firstSupernodePerIterationComponentsField(
"FirstSupernodePerIterationComponents", "FirstSupernodePerIterationComponents",
vtkm::cont::Field::Association::WholeMesh, vtkm::cont::Field::Association::WholeDataSet,
firstSupernodePerIterationComponents); firstSupernodePerIterationComponents);
ds.AddField(firstSupernodePerIterationComponentsField); ds.AddField(firstSupernodePerIterationComponentsField);
vtkm::cont::Field firstSupernodePerIterationOffsetsField( vtkm::cont::Field firstSupernodePerIterationOffsetsField(
"FirstSupernodePerIterationOffsets", "FirstSupernodePerIterationOffsets",
vtkm::cont::Field::Association::WholeMesh, vtkm::cont::Field::Association::WholeDataSet,
firstSupernodePerIterationOffsets); firstSupernodePerIterationOffsets);
ds.AddField(firstSupernodePerIterationOffsetsField); ds.AddField(firstSupernodePerIterationOffsetsField);
// TODO/FIXME: It seems we may only need the counts for the first iteration, so check, which // TODO/FIXME: It seems we may only need the counts for the first iteration, so check, which

@ -130,7 +130,7 @@ void TestPartitionedDataSetFilters()
std::vector<vtkm::Id> ids = { 0, 1, 2 }; std::vector<vtkm::Id> ids = { 0, 1, 2 };
std::vector<vtkm::FloatDefault> scalar = { 10.0f }; std::vector<vtkm::FloatDefault> scalar = { 10.0f };
partitions.AddPartitionsField("ids", ids); partitions.AddPartitionsField("ids", ids);
partitions.AddAllPartitionsField("scalar", scalar); partitions.AddGlobalField("scalar", scalar);
//On second iteration, only allow "ids" to pass through. //On second iteration, only allow "ids" to pass through.
cellAverage.GetFieldsToPass().ClearFields(); cellAverage.GetFieldsToPass().ClearFields();
@ -161,7 +161,7 @@ void TestPartitionedDataSetFilters()
if (fields.empty() || std::find(fields.begin(), fields.end(), "scalar") != fields.end()) if (fields.empty() || std::find(fields.begin(), fields.end(), "scalar") != fields.end())
{ {
VTKM_TEST_ASSERT(result.HasAllPartitionsField("scalar"), "Missing field on result"); VTKM_TEST_ASSERT(result.HasGlobalField("scalar"), "Missing field on result");
auto field1 = result.GetField("scalar"); auto field1 = result.GetField("scalar");
auto portal1 = auto portal1 =
field1.GetData().AsArrayHandle<vtkm::cont::ArrayHandle<vtkm::FloatDefault>>().ReadPortal(); field1.GetData().AsArrayHandle<vtkm::cont::ArrayHandle<vtkm::FloatDefault>>().ReadPortal();
@ -171,7 +171,7 @@ void TestPartitionedDataSetFilters()
} }
else else
{ {
VTKM_TEST_ASSERT(!result.HasAllPartitionsField("scalar"), "Field should not be on result"); VTKM_TEST_ASSERT(!result.HasGlobalField("scalar"), "Field should not be on result");
} }
} }
} }

@ -499,7 +499,7 @@ void VTKDataSetReaderBase::AddField(const std::string& name,
switch (association) switch (association)
{ {
case vtkm::cont::Field::Association::Points: case vtkm::cont::Field::Association::Points:
case vtkm::cont::Field::Association::WholeMesh: case vtkm::cont::Field::Association::WholeDataSet:
this->DataSet.AddField(vtkm::cont::Field(name, association, data)); this->DataSet.AddField(vtkm::cont::Field(name, association, data));
break; break;
case vtkm::cont::Field::Association::Cells: case vtkm::cont::Field::Association::Cells: