----------------------------------------------------------------------------
| 3764 | |
| 3765 | //---------------------------------------------------------------------------- |
| 3766 | void DeepCopyPolyhedrons( |
| 3767 | vtkUnstructuredGrid* ug, vtkUnstructuredGrid* clone, ::UnstructuredGridInformation& info) |
| 3768 | { |
| 3769 | vtkCellArray* ugFaceLocations = ug->GetPolyhedronFaceLocations(); |
| 3770 | vtkCellArray* ugFaces = ug->GetPolyhedronFaces(); |
| 3771 | vtkCellArray* cloneFaceLocations = clone->GetPolyhedronFaceLocations(); |
| 3772 | vtkCellArray* cloneFaces = clone->GetPolyhedronFaces(); |
| 3773 | |
| 3774 | vtkIdList* cellRedirectionMap = info.OutputToInputCellIdRedirectionMap; |
| 3775 | vtkIdList* pointRedirectionMap = info.OutputToInputPointIdRedirectionMap; |
| 3776 | |
| 3777 | // Protection against mismatch storage |
| 3778 | if (ugFaceLocations->IsStorage64Bit() != ugFaces->IsStorage64Bit()) |
| 3779 | { |
| 3780 | ugFaceLocations->ConvertTo64BitStorage(); |
| 3781 | ugFaces->ConvertTo64BitStorage(); |
| 3782 | } |
| 3783 | if (cloneFaceLocations->IsStorage64Bit() != cloneFaces->IsStorage64Bit()) |
| 3784 | { |
| 3785 | cloneFaceLocations->ConvertTo64BitStorage(); |
| 3786 | cloneFaces->ConvertTo64BitStorage(); |
| 3787 | } |
| 3788 | |
| 3789 | DeepCopyPolyhedronWorker worker; |
| 3790 | if (!vtkArrayDispatch::Dispatch2ByArrayWithSameValueType<vtkArrayDispatch::OffsetsArrays, |
| 3791 | vtkArrayDispatch::ConnectivityArrays>::Execute(ugFaceLocations->GetOffsetsArray(), |
| 3792 | ugFaceLocations->GetConnectivityArray(), worker, ugFaces->GetOffsetsArray(), |
| 3793 | ugFaces->GetConnectivityArray(), cloneFaceLocations->GetOffsetsArray(), |
| 3794 | cloneFaceLocations->GetConnectivityArray(), cloneFaces->GetOffsetsArray(), |
| 3795 | cloneFaces->GetConnectivityArray(), cellRedirectionMap, pointRedirectionMap)) |
| 3796 | { |
| 3797 | worker(ugFaceLocations->GetOffsetsArray(), ugFaceLocations->GetConnectivityArray(), |
| 3798 | ugFaces->GetOffsetsArray(), ugFaces->GetConnectivityArray(), |
| 3799 | cloneFaceLocations->GetOffsetsArray(), cloneFaceLocations->GetConnectivityArray(), |
| 3800 | cloneFaces->GetOffsetsArray(), cloneFaces->GetConnectivityArray(), cellRedirectionMap, |
| 3801 | pointRedirectionMap); |
| 3802 | } |
| 3803 | } |
| 3804 | |
| 3805 | //---------------------------------------------------------------------------- |
| 3806 | /** |
no test coverage detected