int Protocol::getIntParameter(const std::wstring &name, int min, int max) const { std::wstring value = getStringParameter(name, L""); if (value == L"") { return min; } std::wstringstream st; st << value; int intValue = 0; st >> intValue; if (intValue < min) { return min; } if (intValue > max) { return max; } return intValue; }
MStatus PRTAttrs::doIt(const MArgList& args) { MStatus stat; MString prtNodeName = args.asString(0, &stat); MCHECK(stat); MSelectionList tempList; tempList.add(prtNodeName); MObject prtNode; MCHECK(tempList.getDependNode(0, prtNode)); MFnDependencyNode fNode(prtNode, &stat); MCHECK(stat); if(fNode.typeId().id() != PRT_TYPE_ID) return MS::kFailure; MString sRulePkg; updateRuleFiles(fNode, getStringParameter(prtNode, ((PRTNode*)fNode.userNode())->rulePkg, sRulePkg)); MGlobal::executeCommand(MString("refreshEditorTemplates")); return MS::kSuccess; }
void JavaScriptEvent::get(const WebRequest& request, const std::string& se) { std::string s = se; int seLength = se.length(); type = getStringParameter(request, concat(s, seLength, "type")); boost::to_lower(type); clientX = parseIntParameter(request, concat(s, seLength, "clientX"), 0); clientY = parseIntParameter(request, concat(s, seLength, "clientY"), 0); documentX = parseIntParameter(request, concat(s, seLength, "documentX"), 0); documentY = parseIntParameter(request, concat(s, seLength, "documentY"), 0); screenX = parseIntParameter(request, concat(s, seLength, "screenX"), 0); screenY = parseIntParameter(request, concat(s, seLength, "screenY"), 0); widgetX = parseIntParameter(request, concat(s, seLength, "widgetX"), 0); widgetY = parseIntParameter(request, concat(s, seLength, "widgetY"), 0); dragDX = parseIntParameter(request, concat(s, seLength, "dragdX"), 0); dragDY = parseIntParameter(request, concat(s, seLength, "dragdY"), 0); wheelDelta = parseIntParameter(request, concat(s, seLength, "wheel"), 0); /* if (widgetX == 0 && widgetY == 0) { const int signalLength = 7 + se.length(); const Http::ParameterMap& entries = request.getParameterMap(); for (Http::ParameterMap::const_iterator i = entries.begin(); i != entries.end(); ++i) { std::string name = i->first; if (name.substr(0, signalLength) == concat(s, seLength, "signal=") { std::string e = name.substr(name.length() - 2); if (e == ".x") { try { widgetX = boost::lexical_cast<int>(i->second[0]); } catch (const boost::bad_lexical_cast& ee) { } } else if (e == ".y") { try { widgetY = boost::lexical_cast<int>(i->second[0]); } catch (const boost::bad_lexical_cast& ee) { } } } } } */ modifiers = 0; if (request.getParameter(concat(s, seLength, "altKey")) != 0) modifiers |= AltModifier; if (request.getParameter(concat(s, seLength, "ctrlKey")) != 0) modifiers |= ControlModifier; if (request.getParameter(concat(s, seLength, "shiftKey")) != 0) modifiers |= ShiftModifier; if (request.getParameter(concat(s, seLength, "metaKey")) != 0) modifiers |= MetaModifier; keyCode = parseIntParameter(request, concat(s, seLength, "keyCode"), 0); charCode = parseIntParameter(request, concat(s, seLength, "charCode"), 0); button = parseIntParameter(request, concat(s, seLength, "button"), 0); scrollX = parseIntParameter(request, concat(s, seLength, "scrollX"), 0); scrollY = parseIntParameter(request, concat(s, seLength, "scrollY"), 0); viewportWidth = parseIntParameter(request, concat(s, seLength, "width"), 0); viewportHeight = parseIntParameter(request, concat(s, seLength, "height"), 0); response = getStringParameter(request, concat(s, seLength, "response")); int uean = parseIntParameter(request, concat(s, seLength, "an"), 0); userEventArgs.clear(); for (int i = 0; i < uean; ++i) { userEventArgs.push_back (getStringParameter(request, se + "a" + boost::lexical_cast<std::string>(i))); } decodeTouches(getStringParameter(request, concat(s, seLength, "touches")), touches); decodeTouches(getStringParameter(request, concat(s, seLength, "ttouches")), targetTouches); decodeTouches(getStringParameter(request, concat(s, seLength, "ctouches")), changedTouches); }
Control::Control( int argc, char** argv ) { // parse the command line options to set all vars if( ( argc % 2 == 0 ) || ( argc == 1 ) ) { cerr << "Parse error: Number of command line parameters incorrect\n"; cerr << "Usage:" << endl; cerr << argv[ 0 ] << " -i InputFile [-o OutputFile] [-n NumberOfTries] [-s RandomSeed] [-t TimeLimit] [-p ProblemType]" << endl; exit(1); } for( int i = 1; i < argc / 2 + 1; i++ ) { parameters[ argv[ i * 2 - 1 ] ] = argv[ i * 2 ]; } nrTry = 0; // check for input parameter if( parameterExists( "-i") ) { is = new ifstream( getStringParameter( "-i" ).c_str() ); } else { cerr << "Error: No input file given, exiting" << endl; cerr << "Usage:" << endl; cerr << argv[ 0 ] << " -i InputFile [-o OutputFile] [-n NumberOfTries] [-s RandomSeed] [-t TimeLimit] [-p ProblemType]" << endl; exit(1); } // check for ouput parameter if( parameterExists( "-o" ) ) { os = new ofstream( getStringParameter( "-o" ).c_str() ); } else { cerr << "Warning: No output file given, writing to stdout" << endl; os = &cout; } // check for number of tries parameter if( parameterExists( "-n" ) ) { maxTry = getIntParameter( "-n" ); cout << "Max number of tries " << maxTry << endl; } else { cerr << "Warning: Number of tries is set to default (10)" << endl; maxTry = 10; // default number of tries } // check for time limit parameter if( parameterExists( "-t" ) ) { timeLimit = getDoubleParameter( "-t" ); cout <<"Time limit " << timeLimit << endl; } else { cerr << "Warning: Time limit is set to default (90 sec)" << endl; timeLimit = 90; // default time limit } // check for problem instance type parameter for the local search if( parameterExists( "-p" ) ) { problemType = getIntParameter( "-p" ); cout <<"Problem instance type " << problemType << endl; } else { //cerr << "Warning: The problem instance type is set by default to 1 (easy)" << endl; problemType = 1; // default problem type } // check for maximum steps parameter for the local search if( parameterExists( "-m" ) ) { maxSteps = getIntParameter( "-m" ); cout <<"Max number of steps in the local search " << maxSteps << endl; } else { //cerr << "Warning: The maximum number of steps for the local search is set by default to 100" << endl; maxSteps = 100; // default max steps } // check for time limit parameter for the local search if( parameterExists( "-l" ) ) { LS_limit = getDoubleParameter( "-l" ); cout <<"Local search time limit " << LS_limit << endl; } else { cerr << "Warning: The local search time limit is set to default (99999 sec)" << endl; LS_limit = 99999; // default local search time limit } // check for probability parameter for each move in the local search if( parameterExists( "-p1" ) ) { prob1 = getDoubleParameter( "-p1" ); cout << "LS move 1 probability " << prob1 <<endl; } else { cerr << "Warning: The local search move 1 probability is set to default 1.0" << endl; prob1 = 1.0; // default local search probability for each move of type 1 to be performed } if( parameterExists( "-p2" ) ) { prob2 = getDoubleParameter( "-p2" ); cout <<"LS move 2 probability " << prob2 << endl; } else { cerr << "Warning: The local search move 2 probability is set to default 1.0" << endl; prob2 = 1.0; // default local search probability for each move to be performed } if( parameterExists( "-p3" ) ) { prob3 = getDoubleParameter( "-p3" ); cout <<"LS move 3 probability " << prob3 << endl; } else { cerr << "Warning: The local search move 3 probability is set to default 0.0" << endl; prob3 = 0.0; // default local search probability for each move to be performed } // check for random seed if( parameterExists( "-s" ) ) { seed = getIntParameter( "-s" ); srand( seed ); } else { seed = time( NULL ); cerr << "Warning: " << seed << " used as default random seed" << endl; srand( seed ); } }
Vec2f ParameterSource::getVec2fParameter(std::string aName) const { return boost::lexical_cast<Vec2f>(replaceCommasWithSpaces(getStringParameter(aName))); }
unsigned int ParameterSource::getUIntParameter(std::string aName) const { return boost::lexical_cast<unsigned int>(getStringParameter(aName)); }
bool ParameterSource::getBoolParameter(std::string aName) const { std::string strValue = getStringParameter(aName); return boost::lexical_cast<bool>(strValue); }