----------------------------------------------------------------------------
| 2678 | |
| 2679 | //---------------------------------------------------------------------------- |
| 2680 | void FillUnstructuredDataTopologyBuffer(const std::map<vtkIdType, vtkIdType>& seedPointIdsWithIndex, |
| 2681 | const std::map<vtkIdType, vtkIdType>& pointIdsToSendWithIndex, |
| 2682 | ::UnstructuredGridBlockStructure& blockStructure, vtkUnstructuredGrid* input, |
| 2683 | vtkIdType maxPointId) |
| 2684 | { |
| 2685 | auto& buffer = blockStructure.SendBuffer; |
| 2686 | |
| 2687 | vtkCellArray* cellArray = buffer.CellArray; |
| 2688 | |
| 2689 | // We're being careful to account for different storage options in cell arrays |
| 2690 | #ifdef VTK_USE_64BIT_IDS |
| 2691 | if (!(maxPointId >> 31) || !(blockStructure.ConnectivitySize >> 31)) |
| 2692 | { |
| 2693 | cellArray->ConvertTo32BitStorage(); |
| 2694 | } |
| 2695 | #else |
| 2696 | (void)maxPointId; |
| 2697 | #endif |
| 2698 | |
| 2699 | FillUnstructuredDataTopologyBufferFunctor<vtkUnstructuredGrid> functor; |
| 2700 | if (!vtkArrayDispatch::Dispatch2ByArrayWithSameValueType<vtkArrayDispatch::OffsetsArrays, |
| 2701 | vtkArrayDispatch::ConnectivityArrays>::Execute(cellArray->GetOffsetsArray(), |
| 2702 | cellArray->GetConnectivityArray(), functor, seedPointIdsWithIndex, pointIdsToSendWithIndex, |
| 2703 | blockStructure, input)) |
| 2704 | { |
| 2705 | functor(cellArray->GetOffsetsArray(), cellArray->GetConnectivityArray(), seedPointIdsWithIndex, |
| 2706 | pointIdsToSendWithIndex, blockStructure, input); |
| 2707 | } |
| 2708 | } |
| 2709 | |
| 2710 | //---------------------------------------------------------------------------- |
| 2711 | void FillUnstructuredDataTopologyBuffer(const std::map<vtkIdType, vtkIdType>& seedPointIdsWithIndex, |
no test coverage detected