/* Append the geometry and function information onto the outgoing vtkDataSet. @param visualDataSet : outgoing dataset on which to append metadata. @param wsName : name of the workspace. */ void MDEWLoadingPresenter::appendMetadata(vtkDataSet *visualDataSet, const std::string &wsName) { using namespace Mantid::API; vtkNew<vtkFieldData> outputFD; // Serialize metadata VatesKnowledgeSerializer serializer; serializer.setWorkspaceName(wsName); serializer.setGeometryXML(xmlBuilder.create()); serializer.setImplicitFunction( boost::make_shared<Mantid::Geometry::NullImplicitFunction>()); std::string xmlString = serializer.createXMLString(); // Serialize Json metadata std::string jsonString = m_metadataJsonManager->getSerializedJson(); // Add metadata to dataset. MetadataToFieldData convert; convert(outputFD.GetPointer(), xmlString, XMLDefinitions::metaDataId().c_str()); convert(outputFD.GetPointer(), jsonString, m_vatesConfigurations->getMetadataIdJson().c_str()); visualDataSet->SetFieldData(outputFD.GetPointer()); }
/* Append the geometry and function information onto the outgoing vtkDataSet. @param visualDataSet : outgoing dataset on which to append metadata. @param wsName : name of the workspace. */ void MDHWLoadingPresenter::appendMetadata(vtkDataSet *visualDataSet, const std::string &wsName) { using namespace Mantid::API; vtkFieldData *outputFD = vtkFieldData::New(); // Serialize metadata VatesKnowledgeSerializer serializer; serializer.setWorkspaceName(wsName); serializer.setGeometryXML(xmlBuilder.create()); serializer.setImplicitFunction(Mantid::Geometry::MDImplicitFunction_sptr( new Mantid::Geometry::NullImplicitFunction())); std::string xmlString = serializer.createXMLString(); // Serialize Json metadata std::string jsonString = m_metadataJsonManager->getSerializedJson(); // Add metadata to dataset. MetadataToFieldData convert; convert(outputFD, xmlString, XMLDefinitions::metaDataId().c_str()); convert(outputFD, jsonString, m_vatesConfigurations->getMetadataIdJson().c_str()); visualDataSet->SetFieldData(outputFD); outputFD->Delete(); }