diff --git a/IO/IOSS/vtkIOSSReader.cxx b/IO/IOSS/vtkIOSSReader.cxx index 7d0f0bd706e544d5ea0b8f575aa1d42d658cf449..8d2264cfcd20e3881dcfaa4a15af5e199990e292 100644 --- a/IO/IOSS/vtkIOSSReader.cxx +++ b/IO/IOSS/vtkIOSSReader.cxx @@ -76,7 +76,6 @@ #include <array> #include <cassert> -#include <functional> #include <iterator> #include <map> #include <memory> @@ -1291,8 +1290,10 @@ bool vtkIOSSReader::vtkInternals::GenerateOutput( vtkNew<vtkPartitionedDataSet> parts; output->SetPartitionedDataSet(pdsIdx, parts); output->GetMetaData(pdsIdx)->Set(vtkCompositeDataSet::NAME(), ename.second.c_str()); - output->GetMetaData(pdsIdx)->Set( - vtkIOSSReader::ENTITY_TYPE(), etype); // save for vtkIOSSReader use. + // save for vtkIOSSReader use. + output->GetMetaData(pdsIdx)->Set(vtkIOSSReader::ENTITY_TYPE(), etype); + // save for vtkIOSSWriter use. + output->GetMetaData(pdsIdx)->Set(vtkIOSSReader::ENTITY_ID(), ename.first); auto node = assembly->AddNode( vtkDataAssembly::MakeValidNodeName(ename.second.c_str()).c_str(), entity_node); assembly->SetAttribute(node, "label", ename.second.c_str()); @@ -1307,8 +1308,10 @@ bool vtkIOSSReader::vtkInternals::GenerateOutput( vtkNew<vtkPartitionedDataSet> parts; output->SetPartitionedDataSet(pdsIdx, parts); output->GetMetaData(pdsIdx)->Set(vtkCompositeDataSet::NAME(), mergedEntityName); - output->GetMetaData(pdsIdx)->Set( - vtkIOSSReader::ENTITY_TYPE(), etype); // save for vtkIOSSReader use. + // save for vtkIOSSReader use. + output->GetMetaData(pdsIdx)->Set(vtkIOSSReader::ENTITY_TYPE(), etype); + // save for vtkIOSSWriter use. + output->GetMetaData(pdsIdx)->Set(vtkIOSSReader::ENTITY_ID(), etype); auto node = assembly->AddNode( vtkDataAssembly::MakeValidNodeName(mergedEntityName).c_str(), entity_node); assembly->SetAttribute(node, "label", mergedEntityName); @@ -2682,6 +2685,7 @@ bool vtkIOSSReader::vtkInternals::GetGlobalFields( vtkStandardNewMacro(vtkIOSSReader); vtkCxxSetObjectMacro(vtkIOSSReader, Controller, vtkMultiProcessController); vtkInformationKeyMacro(vtkIOSSReader, ENTITY_TYPE, Integer); +vtkInformationKeyMacro(vtkIOSSReader, ENTITY_ID, Integer); //---------------------------------------------------------------------------- vtkIOSSReader::vtkIOSSReader() : Controller(nullptr) diff --git a/IO/IOSS/vtkIOSSReader.h b/IO/IOSS/vtkIOSSReader.h index 687da843d53497dff4e155918f11b9b01e0b0dda..367742869768ec202ec1f699cecca4ff9ebfca56 100644 --- a/IO/IOSS/vtkIOSSReader.h +++ b/IO/IOSS/vtkIOSSReader.h @@ -625,6 +625,8 @@ public: vtkTypeBool ProcessRequest( vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo) override; + static vtkInformationIntegerKey* ENTITY_ID(); + protected: vtkIOSSReader(); ~vtkIOSSReader() override;