-------------------------------------------------------------------
| 1030 | |
| 1031 | //------------------------------------------------------------------- |
| 1032 | vtkAbstractArray* vtkValuePass::GetArrayFromCompositeData(vtkMapper* mapper, Parameters* arrayPar) |
| 1033 | { |
| 1034 | vtkAbstractArray* abstractArray = nullptr; |
| 1035 | vtkCompositePolyDataMapper* cpdm = vtkCompositePolyDataMapper::SafeDownCast(mapper); |
| 1036 | if (cpdm) |
| 1037 | { |
| 1038 | std::vector<vtkPolyData*> pdl = cpdm->GetRenderedList(); |
| 1039 | std::vector<vtkPolyData*>::iterator it; |
| 1040 | for (it = pdl.begin(); it != pdl.end(); ++it) |
| 1041 | { |
| 1042 | vtkPolyData* pd = *it; |
| 1043 | int cellFlag; |
| 1044 | vtkAbstractArray* blocksArray = vtkAbstractMapper::GetAbstractScalars(pd, arrayPar->ArrayMode, |
| 1045 | arrayPar->ArrayAccessMode, arrayPar->ArrayId, arrayPar->ArrayName.c_str(), cellFlag); |
| 1046 | |
| 1047 | if (blocksArray) |
| 1048 | { |
| 1049 | if (!abstractArray) |
| 1050 | { |
| 1051 | abstractArray = blocksArray->NewInstance(); |
| 1052 | abstractArray->DeepCopy(blocksArray); |
| 1053 | } |
| 1054 | else |
| 1055 | { |
| 1056 | abstractArray->InsertTuples( |
| 1057 | abstractArray->GetNumberOfTuples(), blocksArray->GetNumberOfTuples(), 0, blocksArray); |
| 1058 | } |
| 1059 | } |
| 1060 | } |
| 1061 | } |
| 1062 | |
| 1063 | return abstractArray; |
| 1064 | } |
| 1065 | VTK_ABI_NAMESPACE_END |
no test coverage detected