Path::Path() { ros::NodeHandle nh; XmlRpc::XmlRpcValue pathCfg; nh.getParam("/path", pathCfg); try { int i = 0; do { char pointName[256]; sprintf(pointName, "point%d", i); if (!pathCfg.hasMember(pointName)) break; XmlRpc::XmlRpcValue pointCfg = pathCfg[std::string(pointName)]; geometry_msgs::Point p; if (!(pointCfg.hasMember("x") && pointCfg.hasMember("y"))) continue; p.x = FLOAT_PARAM(pointCfg["x"]); p.y = FLOAT_PARAM(pointCfg["y"]); p.z = 0; points.push_back(p); } while ((++i) != 0); } catch (XmlRpc::XmlRpcException& e) { ROS_ERROR("Unable to parse path parameter. (%s)", e.getMessage().c_str()); } }
void SetupParams(int argc, char **argv) { char fname[STRLEN]; init_params(argc, argv); // PARAMETER DEFINITIONS GO HERE STRING_PARAM(FileBase); INT_PARAM(ElecNo); INT_PARAM(MinClusters); INT_PARAM(MaxClusters); INT_PARAM(MaxPossibleClusters); INT_PARAM(nStarts); INT_PARAM(RandomSeed); BOOLEAN_PARAM(Debug); INT_PARAM(Verbose); STRING_PARAM(UseFeatures); INT_PARAM(DistDump); FLOAT_PARAM(DistThresh); INT_PARAM(FullStepEvery); FLOAT_PARAM(ChangedThresh); BOOLEAN_PARAM(Log); BOOLEAN_PARAM(Screen); INT_PARAM(MaxIter); STRING_PARAM(StartCluFile); INT_PARAM(SplitEvery); FLOAT_PARAM(PenaltyMix); INT_PARAM(Subset); if (argc<3) { fprintf(stderr, "Usage: KlustaKwik FileBase ElecNo [Arguments]\n\n"); fprintf(stderr, "Default Parameters: \n"); print_params(stderr); exit(1); } strcpy(FileBase, argv[1]); ElecNo = atoi(argv[2]); if (Screen) print_params(stdout); // open log file, if required if (Log) { sprintf(fname, "%s.klg.%d", FileBase, ElecNo); logfp = fopen_safe(fname, "w"); print_params(logfp); } }