void avtLocateAndPickNodeQuery::SetInputParams(const MapNode ¶ms) { if (params.HasEntry("vars")) { const stringVector &v = params.GetEntry("vars")->AsStringVector(); if (v.empty()) EXCEPTION2(QueryArgumentException, "vars", 1); timeCurveSpecs["nResultsToStore"] = (int)v.size(); pickAtts.SetVariables(v); } else EXCEPTION1(QueryArgumentException, "vars"); if (params.HasNumericVectorEntry("ray_start_point")) { doubleVector v; params.GetEntry("ray_start_point")->ToDoubleVector(v); if (v.size() != 3) EXCEPTION2(QueryArgumentException, "ray_start_point", 3); pickAtts.SetRayPoint1(v); } else EXCEPTION1(QueryArgumentException, "ray_start_point"); if (params.HasNumericVectorEntry("ray_end_point")) { doubleVector v; params.GetEntry("ray_end_point")->ToDoubleVector(v); if (v.size() != 3) EXCEPTION2(QueryArgumentException, "ray_end_point", 3); pickAtts.SetRayPoint2(v); } else EXCEPTION1(QueryArgumentException, "ray_end_point"); if (params.HasNumericEntry("domain")) domain = params.GetEntry("domain")->ToInt(); else EXCEPTION1(QueryArgumentException, "domain"); if (params.HasNumericEntry("element")) node = params.GetEntry("element")->ToInt(); else EXCEPTION1(QueryArgumentException, "element"); }