| 1586 | } |
| 1587 | |
| 1588 | vtkSmartPointer<vtkAbstractArray> vtkGenerateStatistics::FieldDataToSamples( |
| 1589 | vtkSmartPointer<vtkAbstractArray> fullArray, vtkDataObject* vtkNotUsed(data), |
| 1590 | const std::unordered_map<vtkIdType, vtkIdType>& subset, vtkIdType numberOfSamples) |
| 1591 | { |
| 1592 | auto* dataArray = vtkDataArray::SafeDownCast(fullArray); |
| 1593 | if (!dataArray) |
| 1594 | { |
| 1595 | vtkErrorMacro("Duplicate field data must be passed vtkDataArrays."); |
| 1596 | return vtkSmartPointer<vtkAbstractArray>(); |
| 1597 | } |
| 1598 | vtkIdType tableSize = subset.empty() ? numberOfSamples : static_cast<vtkIdType>(subset.size()); |
| 1599 | vtkSmartPointer<vtkConstantArray<double>> arr = vtkSmartPointer<vtkConstantArray<double>>::New(); |
| 1600 | double value; |
| 1601 | dataArray->GetTuple(0, &value); |
| 1602 | arr->SetBackend(std::make_shared<vtkConstantImplicitBackend<double>>(value)); |
| 1603 | arr->SetNumberOfComponents(1); |
| 1604 | arr->SetNumberOfTuples(tableSize); |
| 1605 | arr->SetName(dataArray->GetName()); |
| 1606 | |
| 1607 | return arr; |
| 1608 | } |
| 1609 | |
| 1610 | int vtkGenerateStatistics::MergeRemoteModels(vtkPartitionedDataSetCollection* modelTree) |
| 1611 | { |
no test coverage detected