MCPcopy Create free account
hub / github.com/Kitware/VTK / DeepCopyPolyhedrons

Function DeepCopyPolyhedrons

Parallel/DIY/vtkDIYGhostUtilities.cxx:3766–3803  ·  view source on GitHub ↗

----------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

3764
3765//----------------------------------------------------------------------------
3766void 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/**

Callers 1

CloneUnstructuredGridFunction · 0.85

Calls 5

ConvertTo64BitStorageMethod · 0.80
GetConnectivityArrayMethod · 0.80
ExecuteFunction · 0.50
GetPolyhedronFacesMethod · 0.45

Tested by

no test coverage detected