----------------------------------------------------------------------------
| 62 | |
| 63 | //---------------------------------------------------------------------------- |
| 64 | bool vtkXMLDataWriterHelper::AddGlobalFieldData(vtkCompositeDataSet* input) |
| 65 | { |
| 66 | // We want to avoid using appended data mode as it |
| 67 | // is not supported in meta formats. |
| 68 | int dataMode = this->DataMode; |
| 69 | if (dataMode == vtkXMLWriterBase::Appended) |
| 70 | { |
| 71 | this->DataMode = vtkXMLWriterBase::Binary; |
| 72 | } |
| 73 | |
| 74 | auto meta = input->GetInformation(); |
| 75 | const bool hasTime = meta->Has(vtkDataObject::DATA_TIME_STEP()) != 0; |
| 76 | auto fieldData = input->GetFieldData(); |
| 77 | if ((fieldData && fieldData->GetNumberOfArrays()) || (hasTime && this->GetWriteTimeValue())) |
| 78 | { |
| 79 | vtkNew<vtkFieldData> fieldDataCopy; |
| 80 | fieldDataCopy->ShallowCopy(fieldData); |
| 81 | if (hasTime && this->GetWriteTimeValue()) |
| 82 | { |
| 83 | vtkNew<vtkDoubleArray> time; |
| 84 | time->SetNumberOfTuples(1); |
| 85 | time->SetTypedComponent(0, 0, meta->Get(vtkDataObject::DATA_TIME_STEP())); |
| 86 | time->SetName("TimeValue"); |
| 87 | fieldDataCopy->AddArray(time); |
| 88 | } |
| 89 | this->WriteFieldDataInline(fieldDataCopy, vtkIndent().GetNextIndent()); |
| 90 | } |
| 91 | this->DataMode = dataMode; |
| 92 | return true; |
| 93 | } |
| 94 | |
| 95 | //---------------------------------------------------------------------------- |
| 96 | bool vtkXMLDataWriterHelper::AddXML(vtkXMLDataElement* xmlElement) |
no test coverage detected