void avtOriginalDataSpatialExtentsQuery::PerformQuery(QueryAttributes *qA) { queryAtts = *qA; Init(); std::string floatFormat = queryAtts.GetFloatFormat(); std::string format =""; UpdateProgress(0, 0); avtDataObject_p dob = ApplyFilters(GetInput()); SetTypedInput(dob); avtDataset_p input = GetTypedInput(); double extents[6] = {0., 0., 0., 0., 0., 0.}; char msg[1024]; avtDatasetExaminer::GetSpatialExtents(input, extents); UnifyMinMax(extents, 6); int dim = input->GetInfo().GetAttributes().GetSpatialDimension(); if (dim == 1) { format = "The original extents are (" + floatFormat + ", " + floatFormat + ")"; SNPRINTF(msg, 1024,format.c_str(), extents[0], extents[1]); } else if (dim == 2) { format = "The original extents are (" + floatFormat + ", " + floatFormat + ", " + floatFormat + ", " + floatFormat + ")"; SNPRINTF(msg, 1024, format.c_str(), extents[0], extents[1], extents[2], extents[3]); } else if (dim == 3) { format = "The original extents are (" + floatFormat + ", " + floatFormat + ", " + floatFormat + ", " + floatFormat + ", " + floatFormat + ", " + floatFormat + ")"; SNPRINTF(msg, 1024, format.c_str(), extents[0], extents[1], extents[2], extents[3], extents[4], extents[5]); } doubleVector d; for (int i = 0 ; i < 2*dim ; i++) d.push_back(extents[i]); qA->SetResultsMessage(msg); qA->SetResultsValue(d); UpdateProgress(1, 0); }
void avtDatasetQuery::PerformQuery(QueryAttributes *qA) { queryAtts = *qA; Init(); UpdateProgress(0, 0); // // Allow derived types to apply any necessary filters. // avtDataObject_p dob = ApplyFilters(GetInput()); // // Reset the input so that we have access to the data tree. // SetTypedInput(dob); avtDataTree_p tree = GetInputDataTree(); int validInputTree = 0; if (*tree != NULL && !tree->IsEmpty()) { validInputTree = 1; totalNodes = tree->GetNumberOfLeaves(); } else { validInputTree |= 0; totalNodes = 0; debug4 << "Query encountered EMPTY InputDataTree after ApplyFilters. " << "This may be a valid state if running parallel and there " << "are more processors than domains." << endl; } bool hadError = false; PreExecute(); TRY { Execute(tree); } CATCH2(VisItException, e) { debug1 << "Exception occurred in " << GetType() << endl; debug1 << "Going to keep going to prevent a parallel hang." << endl; queryAtts.SetResultsMessage(e.Message()); hadError = true; }
void avtDataObjectSink::SetInput(avtDataObject_p in) { avtDataObject_p currentInput = GetInput(); if (*in == *currentInput) { debug1 << "A data object sink's current input was fed back into " << "itself, ignoring..." << endl; return; } // // This will throw an exception if any problems occur, so we can just // assume that it works. // SetTypedInput(in); ChangedInput(); }