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

Method ProcessRequest

Common/ExecutionModel/vtkStreamingDemandDrivenPipeline.cxx:121–373  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

119
120//------------------------------------------------------------------------------
121vtkTypeBool vtkStreamingDemandDrivenPipeline ::ProcessRequest(
122 vtkInformation* request, vtkInformationVector** inInfoVec, vtkInformationVector* outInfoVec)
123{
124 // The algorithm should not invoke anything on the executive.
125 if (!this->CheckAlgorithm("ProcessRequest", request))
126 {
127 return 0;
128 }
129
130 // Look for specially supported requests.
131 if (request->Has(REQUEST_UPDATE_TIME()))
132 {
133 int result = 1;
134 int outputPort = -1;
135 if (request->Has(FROM_OUTPUT_PORT()))
136 {
137 outputPort = request->Get(FROM_OUTPUT_PORT());
138 }
139
140 int N2E = this->Superclass::NeedToExecuteData(outputPort, inInfoVec, outInfoVec);
141 if (!N2E && outputPort >= 0)
142 {
143 vtkInformation* outInfo = outInfoVec->GetInformationObject(outputPort);
144 vtkDataObject* dataObject = outInfo->Get(vtkDataObject::DATA_OBJECT());
145 if (outInfo->Has(TIME_DEPENDENT_INFORMATION()))
146 {
147 N2E = this->NeedToExecuteBasedOnTime(outInfo, dataObject);
148 }
149 else
150 {
151 N2E = 0;
152 }
153 }
154
155 if (N2E)
156 {
157 vtkLogF(TRACE, "%s execute-update-time", vtkLogIdentifier(this->Algorithm));
158 result = this->CallAlgorithm(request, vtkExecutive::RequestUpstream, inInfoVec, outInfoVec);
159
160 // Propagate the update time to all inputs.
161 if (result)
162 {
163 result = this->ForwardUpstream(request);
164 }
165 result = 1;
166 }
167 return result;
168 }
169
170 // Look for specially supported requests.
171 if (request->Has(REQUEST_TIME_DEPENDENT_INFORMATION()))
172 {
173 int result = 1;
174 int outputPort = -1;
175 if (request->Has(FROM_OUTPUT_PORT()))
176 {
177 outputPort = request->Get(FROM_OUTPUT_PORT());
178 }

Callers 3

PropagateUpdateExtentMethod · 0.45
PropagateTimeMethod · 0.45

Calls 15

NeedToExecuteDataMethod · 0.95
CheckAlgorithmMethod · 0.80
GetInformationObjectMethod · 0.80
InputCountIsValidMethod · 0.80
minFunction · 0.50
maxFunction · 0.50
HasMethod · 0.45
GetMethod · 0.45
CallAlgorithmMethod · 0.45
ForwardUpstreamMethod · 0.45

Tested by

no test coverage detected