// **************************************************************************** // Method: avtTwoPassDatasetQuery::Execute // // Purpose: // Recursive method to traverse an avtDataTree, calling Execute on the leaf // nodes. // // Notes: Started as a direct copy of Execute() method of // avtDatasetQuery, added extensions for two passes // // Programmer: Jeremy Meredith // Creation: April 16, 2003 // // Modifications: // Kathleen Bonnell, Wed May 17 15:22:06 PDT 2006 // Remove call to SetSource(NULL) as it now removes information necessary // for the dataset. // // **************************************************************************** void avtTwoPassDatasetQuery::ExecuteNthPass(avtDataTree_p inDT, int pass) { if (*inDT == NULL) { return; } int nc = inDT->GetNChildren(); if (nc <= 0 && !inDT->HasData()) { return; } if ( nc == 0 ) { // // There is only one dataset to process. // vtkDataSet *in_ds = inDT->GetDataRepresentation().GetDataVTK(); int dom = inDT->GetDataRepresentation().GetDomain(); // // Setting the source to NULL for the input will break the // pipeline. // //in_ds->SetSource(NULL); if (pass==1) Execute1(in_ds, dom); if (pass==2) Execute2(in_ds, dom); currentNode++; UpdateProgress(currentNode, totalNodes); } else { // // There is more than one input dataset to process. // Recurse through the children. // for (int j = 0; j < nc; j++) { if (inDT->ChildIsPresent(j)) { ExecuteNthPass(inDT->GetChild(j), pass); } } } }
int CFunction::Execute(cell_t *result) { return Execute2(m_pRuntime->GetDefaultContext(), result); }