Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
MetadataToFieldData.cpp 998 B
#include "MantidVatesAPI/MetadataToFieldData.h"
#include "vtkCharArray.h"
#include "vtkFieldData.h"
#include "vtkNew.h"

namespace Mantid {
namespace VATES {

void MetadataToFieldData::operator()(vtkFieldData *fieldData,
                                     const std::string &metaData,
                                     const std::string &id) const {
  execute(fieldData, metaData, id);
}

void MetadataToFieldData::execute(vtkFieldData *fieldData,
                                  const std::string &metaData,
                                  const std::string &id) const {
  // clean out existing.
  vtkDataArray *array = fieldData->GetArray(id.c_str());
  if (array) {
    fieldData->RemoveArray(id.c_str());
  }
  // create new.
  vtkNew<vtkCharArray> newArray;
  newArray->SetNumberOfTuples(metaData.size());
  newArray->SetName(id.c_str());
  fieldData->AddArray(newArray.GetPointer());
  for (size_t i = 0; i < metaData.size(); i++) {
    newArray->SetValue(i, metaData[i]);
  }
}
}
}