------------------------------------------------------------------------------
| 130 | |
| 131 | //------------------------------------------------------------------------------ |
| 132 | void vtkFieldDataSerializer::SerializeTuples( |
| 133 | vtkIdList* tupleIds, vtkFieldData* fieldData, vtkMultiProcessStream& bytestream) |
| 134 | { |
| 135 | if (fieldData == nullptr) |
| 136 | { |
| 137 | vtkGenericWarningMacro("Field data is nullptr!"); |
| 138 | return; |
| 139 | } |
| 140 | |
| 141 | // STEP 0: Write the number of arrays |
| 142 | bytestream << fieldData->GetNumberOfArrays(); |
| 143 | |
| 144 | if (fieldData->GetNumberOfArrays() == 0) |
| 145 | { |
| 146 | return; |
| 147 | } |
| 148 | |
| 149 | // STEP 1: Loop through each array, extract the data on the selected tuples |
| 150 | // and serialize it |
| 151 | for (int array = 0; array < fieldData->GetNumberOfArrays(); ++array) |
| 152 | { |
| 153 | vtkDataArray* dataArray = fieldData->GetArray(array); |
| 154 | |
| 155 | // STEP 2: For each array extract only the selected tuples, i.e., a subset |
| 156 | vtkDataArray* subSet = vtkFieldDataSerializer::ExtractSelectedTuples(tupleIds, dataArray); |
| 157 | assert("pre: subset array is nullptr!" && (subSet != nullptr)); |
| 158 | |
| 159 | // STEP 3: Serialize only a subset of the data |
| 160 | bytestream.Push(subSet); |
| 161 | subSet->Delete(); |
| 162 | } // END for all arrays |
| 163 | } |
| 164 | |
| 165 | //------------------------------------------------------------------------------ |
| 166 | void vtkFieldDataSerializer::SerializeSubExtent( |
nothing calls this directly
no test coverage detected