------------------------------------------------------------------------------
| 1095 | |
| 1096 | //------------------------------------------------------------------------------ |
| 1097 | void vtkCompositeDataPipeline::MarkOutputsGenerated( |
| 1098 | vtkInformation* request, vtkInformationVector** inInfoVec, vtkInformationVector* outInfoVec) |
| 1099 | { |
| 1100 | this->Superclass::MarkOutputsGenerated(request, inInfoVec, outInfoVec); |
| 1101 | |
| 1102 | for (int i = 0; i < outInfoVec->GetNumberOfInformationObjects(); ++i) |
| 1103 | { |
| 1104 | vtkInformation* outInfo = outInfoVec->GetInformationObject(i); |
| 1105 | vtkDataObject* data = outInfo->Get(vtkDataObject::DATA_OBJECT()); |
| 1106 | if (data && !outInfo->Get(DATA_NOT_GENERATED())) |
| 1107 | { |
| 1108 | if (outInfo->Has(UPDATE_COMPOSITE_INDICES())) |
| 1109 | { |
| 1110 | size_t count = outInfo->Length(UPDATE_COMPOSITE_INDICES()); |
| 1111 | int* indices = new int[count]; |
| 1112 | // assume the source produced the blocks it was asked for: |
| 1113 | // the indices received are what was requested |
| 1114 | outInfo->Get(UPDATE_COMPOSITE_INDICES(), indices); |
| 1115 | outInfo->Set(DATA_COMPOSITE_INDICES(), indices, static_cast<int>(count)); |
| 1116 | delete[] indices; |
| 1117 | } |
| 1118 | else |
| 1119 | { |
| 1120 | outInfo->Remove(DATA_COMPOSITE_INDICES()); |
| 1121 | } |
| 1122 | } |
| 1123 | } |
| 1124 | } |
| 1125 | |
| 1126 | //------------------------------------------------------------------------------ |
| 1127 | void vtkCompositeDataPipeline::PrintSelf(ostream& os, vtkIndent indent) |