本文整理汇总了C++中tclap::ValueArg类的典型用法代码示例。如果您正苦于以下问题:C++ ValueArg类的具体用法?C++ ValueArg怎么用?C++ ValueArg使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ValueArg类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: test
int test(int argc, char ** argv)
{
NUKLEI_TRACE_BEGIN();
/* Parse command line arguments */
TCLAP::CmdLine cmd(INFOSTRING + "Test App." );
/* Standard arguments */
TCLAP::ValueArg<int> niceArg
("", "nice",
"Proccess priority.",
false, NICEINC, "int", cmd);
/* Custom arguments */
TCLAP::UnlabeledValueArg<std::string> fileArg
("file",
"Nuklei file.",
false, "", "filename", cmd);
cmd.parse( argc, argv );
NUKLEI_ASSERT(setpriority(PRIO_PROCESS, 0, niceArg.getValue()) == 0);
Quaternion q(1, 0, 0, 0);
{
Quaternion r;
r.FromAxisAngle(Vector3::UNIT_Z, M_PI/2);
q = r * q;
std::cout << la::normalized(q) << std::endl;
}
{
Quaternion r;
r.FromAxisAngle(Vector3::UNIT_Z, M_PI);
std::cout << la::normalized(r*q) << std::endl;
}
{
Quaternion r;
r.FromAxisAngle(Vector3::UNIT_Y, 90. / 180*M_PI);
std::cout << la::normalized(r*q) << std::endl;
}
{
Quaternion r;
r.FromAxisAngle(Vector3::UNIT_Y, -90. / 180*M_PI);
std::cout << la::normalized(r*q) << std::endl;
}
return 0;
NUKLEI_TRACE_END();
}
示例2: getArgValue
bool getArgValue(TCLAP::CmdLine &cmdline, const std::string &arg_name, T &out_val)
{
using namespace TCLAP;
std::list<Arg*>& args = cmdline.getArgList();
for (std::list<Arg*>::iterator it=args.begin();it!=args.end();++it)
{
if ( (*it)->getName() == arg_name)
{
// Is it set? Return the default value anyway:
TCLAP::ValueArg<T> *arg = static_cast<TCLAP::ValueArg<T> *>(*it);
out_val = arg->getValue();
return (*it)->isSet();
}
}
return false;
}
示例3: main
int main(int argc, char* argv[])
{
try
{
// init comandline parser
TCLAP::CmdLine cmd("Command description message", ' ', "1.0");
TCLAP::ValueArg<string> argOutputFile ("o", "output", "Output file", true, "", "string");
TCLAP::ValueArg<string> argFilter ("f", "filter", "Filter files according to pattern", false, ".SIFTComparison.feat.xml.gz","string");
TCLAP::ValueArg<int> argPRECLUSTER ("p", "precluster", "Number of descriptors to select in precluster-preprocessing (0 = no preclustering)",false,0 ,"int");
TCLAP::ValueArg<int> argBOWSIZE ("b", "bowsize", "Size of the BoW Dictionary", false, 1000, "int");
TCLAP::SwitchArg argBinaryInput ("i", "binary", "Read descriptors from binary archives", false);
TCLAP::SwitchArg argVerbose ("v", "verbose", "Provide additional debugging output", false);
TCLAP::UnlabeledValueArg<string> dirArg ( "directory", "Directory containing files with extracted features", true, "directory","string");
cmd.add( argOutputFile );
cmd.add( argFilter );
cmd.add( argPRECLUSTER );
cmd.add( argBOWSIZE );
cmd.add( argBinaryInput );
cmd.add( argVerbose );
cmd.add( dirArg );
// parse arguments
cmd.parse( argc, argv );
// enable/disable verbose output
VerboseOutput::verbose = argVerbose.getValue();
VerboseOutput::println(string("train"), "Create BoW of size %d", argBOWSIZE.getValue());
TermCriteria tcrit;
tcrit.epsilon = 10;
tcrit.maxCount = 10;
tcrit.type = 1;
BOWKMeansTrainer bowtrainer(argBOWSIZE.getValue(),tcrit,1,KMEANS_PP_CENTERS);
VerboseOutput::println(string("train"), "Creating Visual Bag of Words");
string filter = argFilter.getValue();
if (argBinaryInput.getValue())
{
filter = ".SIFTComparison.descriptors.dat";
}
vector<string> files = getdir(dirArg.getValue(), filter);
int i = 1;
VerboseOutput::println(string("train"), "Reading features of directory '%s'", dirArg.getValue().c_str());
for (vector<string>::iterator filename = files.begin(); filename!=files.end(); ++filename)
{
VerboseOutput::println("train", "[%i of %i in directory '%s']", i++, files.size(), dirArg.getValue().c_str());
Mat descriptors;
stringstream filePathss;
filePathss << dirArg.getValue() << "/" << *filename;
string filePath = filePathss.str();
VerboseOutput::println(string("train"), string("processing file '" + filePath + "'"));
if (argBinaryInput.getValue())
{
loadDescriptorsFromBinaryArchives(descriptors, filePath);
}
else
{
loadDescriptorsFromOpenCVFilestorage(descriptors, filePath);
}
if ((descriptors.rows == 0) || (descriptors.cols == 0))
{
throw runtime_error("No Descriptors read for file: ");
}
VerboseOutput::println(string("train"), "%i descriptors loaded", descriptors.rows);
if ((argPRECLUSTER.getValue() > 0) && (argPRECLUSTER.getValue() < descriptors.rows - 100))
{
VerboseOutput::println(string("train"), string("pre-clustering"));
Mat labels;
Mat centers;
kmeans(descriptors,argPRECLUSTER.getValue(),labels,tcrit,1, KMEANS_PP_CENTERS, centers);
VerboseOutput::println(string("train"), "...add cluster centers of pre-clustering to bow");
bowtrainer.add(centers);
}
else
{
VerboseOutput::println(string("train"), "...add descriptors to bow");
bowtrainer.add(descriptors);
}
//.........这里部分代码省略.........
示例4: main
// ======================================================================
// main() of rawlog-edit
// ======================================================================
int main(int argc, char **argv)
{
vector<TCLAP::Arg*> arg_ops; // to be destroyed on exit.
int ret_val = 0;
try
{
// --------------- List of possible operations ---------------
map<string,TOperationFunctor> ops_functors;
arg_ops.push_back(new TCLAP::SwitchArg("","externalize",
"Op: convert to external storage.\n"
"Requires: -o (or --output)\n"
"Optional: --image-format, --txt-externals",cmd, false) );
ops_functors["externalize"] = &op_externalize;
arg_ops.push_back(new TCLAP::SwitchArg("","info",
"Op: parse input file and dump information and statistics.",cmd, false) );
ops_functors["info"] = &op_info;
arg_ops.push_back(new TCLAP::SwitchArg("","list-images",
"Op: dump a list of all external image files in the dataset.\n"
"Optionally the output text file can be changed with --text-file-output."
,cmd, false) );
ops_functors["list-images"] = &op_list_images;
arg_ops.push_back(new TCLAP::SwitchArg("","list-poses",
"Op: dump a list of all the poses of the observations in the dataset.\n"
"Optionally the output text file can be changed with --text-file-output."
,cmd, false) );
ops_functors["list-poses"] = &op_list_poses;
arg_ops.push_back(new TCLAP::SwitchArg("","list-timestamps",
"Op: generates a list with all the observations' timestamp, sensor label and C++ class name.\n"
"Optionally the output text file can be changed with --text-file-output."
,cmd, false) );
ops_functors["list-timestamps"] = &op_list_timestamps;
arg_ops.push_back(new TCLAP::ValueArg<std::string>("","remap-timestamps",
"Op: Change all timestamps t replacing it with the linear map 'a*t+b'."
"The parameters 'a' and 'b' must be given separated with a semicolon.\n"
"Requires: -o (or --output)",false,"","a;b",cmd) );
ops_functors["remap-timestamps"] = &op_remap_timestamps;
arg_ops.push_back(new TCLAP::SwitchArg("","list-range-bearing",
"Op: dump a list of all landmark observations of type range-bearing.\n"
"Optionally the output text file can be changed with --text-file-output."
,cmd, false) );
ops_functors["list-range-bearing"] = &op_list_rangebearing;
arg_ops.push_back(new TCLAP::ValueArg<std::string>("","remove-label",
"Op: Remove all observation matching the given sensor label(s)."
"Several labels can be provided separated by commas.\n"
"Requires: -o (or --output)",false,"","label[,label...]",cmd) );
ops_functors["remove-label"] = &op_remove_label;
arg_ops.push_back(new TCLAP::ValueArg<std::string>("","keep-label",
"Op: Remove all observations not matching the given sensor label(s)."
"Several labels can be provided separated by commas.\n"
"Requires: -o (or --output)",false,"","label[,label...]",cmd) );
ops_functors["keep-label"] = &op_keep_label;
arg_ops.push_back(new TCLAP::SwitchArg("","export-gps-kml",
"Op: Export GPS paths to Google Earth KML files.\n"
"Generates one .kml file with different sections for each different sensor label of GPS observations in the dataset. "
"The generated .kml files will be saved in the same path than the input rawlog, with the same "
"filename + each sensorLabel."
,cmd,false) );
ops_functors["export-gps-kml"] = &op_export_gps_kml;
arg_ops.push_back(new TCLAP::SwitchArg("","export-gps-gas-kml",
"Op: Export GPS paths to Google Earth KML files coloured by the gas concentration.\n"
"Generates one .kml file with different sections for each different sensor label of GPS observations in the dataset. "
"The generated .kml files will be saved in the same path than the input rawlog, with the same "
"filename + each sensorLabel."
,cmd,false) );
ops_functors["export-gps-gas-kml"] = &op_export_gps_gas_kml;
arg_ops.push_back(new TCLAP::SwitchArg("","export-gps-txt",
"Op: Export GPS GPGGA messages to TXT files.\n"
"Generates one .txt file for each different sensor label of GPS observations in the dataset. "
"The generated .txt files will be saved in the same path than the input rawlog, with the same "
"filename + each sensorLabel."
,cmd,false) );
ops_functors["export-gps-txt"] = &op_export_gps_txt;
arg_ops.push_back(new TCLAP::SwitchArg("","export-gps-all",
"Op: Generic export all kinds of GPS/GNSS messages to separate TXT files.\n"
"Generates one .txt file for each different sensor label and for each "
"message type in the dataset, with a first header line describing each field."
,cmd,false) );
ops_functors["export-gps-all"] = &op_export_gps_all;
arg_ops.push_back(new TCLAP::SwitchArg("","export-imu-txt",
"Op: Export IMU readings to TXT files.\n"
"Generates one .txt file for each different sensor label of an IMU observation in the dataset. "
"The generated .txt files will be saved in the same path than the input rawlog, with the same "
//.........这里部分代码省略.........
示例5: cmd
static std::unique_ptr<cMemorySettingsRepository> ParseArguments(int argc, char ** argv)
{
try
{
// Parse the comand line args:
TCLAP::CmdLine cmd("Cuberite");
TCLAP::ValueArg<int> slotsArg ("s", "max-players", "Maximum number of slots for the server to use, overrides setting in setting.ini", false, -1, "number", cmd);
TCLAP::MultiArg<int> portsArg ("p", "port", "The port number the server should listen to", false, "port", cmd);
TCLAP::SwitchArg commLogArg ("", "log-comm", "Log server client communications to file", cmd);
TCLAP::SwitchArg commLogInArg ("", "log-comm-in", "Log inbound server client communications to file", cmd);
TCLAP::SwitchArg commLogOutArg ("", "log-comm-out", "Log outbound server client communications to file", cmd);
TCLAP::SwitchArg crashDumpFull ("", "crash-dump-full", "Crashdumps created by the server will contain full server memory", cmd);
TCLAP::SwitchArg crashDumpGlobals("", "crash-dump-globals", "Crashdumps created by the server will contain the global variables' values", cmd);
TCLAP::SwitchArg noBufArg ("", "no-output-buffering", "Disable output buffering", cmd);
TCLAP::SwitchArg runAsServiceArg ("d", "service", "Run as a service on Windows, or daemon on UNIX like systems", cmd);
cmd.parse(argc, argv);
// Copy the parsed args' values into a settings repository:
auto repo = cpp14::make_unique<cMemorySettingsRepository>();
if (slotsArg.isSet())
{
int slots = slotsArg.getValue();
repo->AddValue("Server", "MaxPlayers", static_cast<Int64>(slots));
}
if (portsArg.isSet())
{
for (auto port: portsArg.getValue())
{
repo->AddValue("Server", "Port", static_cast<Int64>(port));
}
}
if (commLogArg.getValue())
{
g_ShouldLogCommIn = true;
g_ShouldLogCommOut = true;
}
else
{
g_ShouldLogCommIn = commLogInArg.getValue();
g_ShouldLogCommOut = commLogOutArg.getValue();
}
if (noBufArg.getValue())
{
setvbuf(stdout, nullptr, _IONBF, 0);
}
repo->SetReadOnly();
// Set the service flag directly to cRoot:
if (runAsServiceArg.getValue())
{
cRoot::m_RunAsService = true;
}
// Apply the CrashDump flags for platforms that support them:
#if defined(_WIN32) && !defined(_WIN64) && defined(_MSC_VER) // 32-bit Windows app compiled in MSVC
if (crashDumpGlobals.getValue())
{
g_DumpFlags = static_cast<MINIDUMP_TYPE>(g_DumpFlags | MiniDumpWithDataSegs);
}
if (crashDumpFull.getValue())
{
g_DumpFlags = static_cast<MINIDUMP_TYPE>(g_DumpFlags | MiniDumpWithFullMemory);
}
#endif // 32-bit Windows app compiled in MSVC
return repo;
}
catch (const TCLAP::ArgException & exc)
{
printf("Error reading command line %s for arg %s", exc.error().c_str(), exc.argId().c_str());
return cpp14::make_unique<cMemorySettingsRepository>();
}
}
示例6: logFile
typedef Image< uint8, 2 > ImageType;
int
main( int argc, char **argv )
{
std::ofstream logFile( "Log.txt" );
SET_LOUT( logFile );
D_COMMAND( std::ofstream debugFile( "Debug.txt" ); );
SET_DOUT( debugFile );
TCLAP::CmdLine cmd( "Canny edge detector.", ' ', "");
/*---------------------------------------------------------------------*/
//Define cmd arguments
TCLAP::ValueArg<double> lowThresholdArg( "l", "low", "Low threshold value", false, 0.5, "Value relative to high threshold" );
cmd.add( lowThresholdArg );
TCLAP::ValueArg<double> highThresholdArg( "t", "high", "High threshold value", false, 0.5, "" );
cmd.add( highThresholdArg );
/*---------------------------------------------------------------------*/
TCLAP::UnlabeledValueArg<std::string> inFilenameArg( "input", "Input image filename", true, "", "filename1" );
cmd.add( inFilenameArg );
TCLAP::UnlabeledValueArg<std::string> outFilenameArg( "output", "Output image filename", true, "", "filename2" );
cmd.add( outFilenameArg );
cmd.parse( argc, argv );
/***************************************************/
示例7: main
// ======================================================================
// main() of rawlog-edit
// ======================================================================
int main(int argc, char **argv)
{
vector<TCLAP::Arg*> arg_ops; // to be destroyed on exit.
int ret_val = 0;
try
{
// --------------- List of possible operations ---------------
map<string,TOperationFunctor> ops_functors;
arg_ops.push_back(new TCLAP::SwitchArg("","externalize",
"Op: convert to external storage.\n"
"Requires: -o (or --output)\n"
"Optional: --image-format",cmd, false) );
ops_functors["externalize"] = &op_externalize;
arg_ops.push_back(new TCLAP::SwitchArg("","info",
"Op: parse input file and dump information and statistics.",cmd, false) );
ops_functors["info"] = &op_info;
arg_ops.push_back(new TCLAP::SwitchArg("","list-images",
"Op: dump a list of all external image files in the dataset.\n"
"Optionally the output text file can be changed with --text-file-output."
,cmd, false) );
ops_functors["list-images"] = &op_list_images;
arg_ops.push_back(new TCLAP::SwitchArg("","list-range-bearing",
"Op: dump a list of all landmark observations of type range-bearing.\n"
"Optionally the output text file can be changed with --text-file-output."
,cmd, false) );
ops_functors["list-range-bearing"] = &op_list_rangebearing;
arg_ops.push_back(new TCLAP::ValueArg<std::string>("","remove-label",
"Op: Remove all observation matching the given sensor label(s)."
"Several labels can be provided separated by commas.\n"
"Requires: -o (or --output)",false,"","label[,label...]",cmd) );
ops_functors["remove-label"] = &op_remove_label;
arg_ops.push_back(new TCLAP::ValueArg<std::string>("","keep-label",
"Op: Remove all observations not matching the given sensor label(s)."
"Several labels can be provided separated by commas.\n"
"Requires: -o (or --output)",false,"","label[,label...]",cmd) );
ops_functors["keep-label"] = &op_keep_label;
arg_ops.push_back(new TCLAP::SwitchArg("","export-gps-kml",
"Op: Export GPS paths to Google Earth KML files.\n"
"Generates one .kml file with different sections for each different sensor label of GPS observations in the dataset. "
"The generated .kml files will be saved in the same path than the input rawlog, with the same "
"filename + each sensorLabel."
,cmd,false) );
ops_functors["export-gps-kml"] = &op_export_gps_kml;
arg_ops.push_back(new TCLAP::SwitchArg("","export-gps-txt",
"Op: Export GPS readings to TXT files.\n"
"Generates one .txt file for each different sensor label of GPS observations in the dataset. "
"The generated .txt files will be saved in the same path than the input rawlog, with the same "
"filename + each sensorLabel."
,cmd,false) );
ops_functors["export-gps-txt"] = &op_export_gps_txt;
arg_ops.push_back(new TCLAP::SwitchArg("","cut",
"Op: Cut a part of the input rawlog.\n"
"Requires: -o (or --output)\n"
"Requires: At least one of --from-index, --from-time, --to-index, --to-time. Use only one of the --from-* and --to-* at once.\n"
"If only a --from-* is given, the rawlog will be saved up to its end. If only a --to-* is given, the rawlog will be saved from its beginning.\n"
,cmd,false) );
ops_functors["cut"] = &op_cut;
arg_ops.push_back(new TCLAP::SwitchArg("","generate-3d-pointclouds",
"Op: (re)generate the 3D pointclouds within CObservation3DRangeScan objects that have range data.\n"
"Requires: -o (or --output)\n"
,cmd,false));
ops_functors["generate-3d-pointclouds"] = &op_generate_3d_pointclouds;
arg_ops.push_back(new TCLAP::SwitchArg("","generate-pcd",
"Op: Generate a PointCloud Library (PCL) PCD file with the point cloud for each sensor observation that can be converted into"
" this representation: laser scans, 3D camera images, etc.\n"
"May use: --out-dir to change the output directory (default: \"./\")\n"
,cmd,false));
ops_functors["generate-pcd"] = &op_generate_pcd;
arg_ops.push_back(new TCLAP::ValueArg<std::string>("","sensors-pose",
"Op: batch change the poses of sensors from a rawlog-grabber-like configuration file that specifies the pose of sensors by their sensorLabel names.\n"
"Requires: -o (or --output)\n",
false,"","file.ini",cmd) );
ops_functors["sensors-pose"] = &op_sensors_pose;
arg_ops.push_back(new TCLAP::ValueArg<std::string>("","camera-params",
"Op: change the camera parameters of all CObservationImage's with the given SENSOR_LABEL, with new params loaded from the given file, section '[CAMERA_PARAMS]'.\n"
"Requires: -o (or --output)\n"
,false,"","SENSOR_LABEL,file.ini",cmd) );
ops_functors["camera-params"] = &op_camera_params;
// --------------- End of list of possible operations --------
// Parse arguments:
if (!cmd.parse( argc, argv ))
//.........这里部分代码省略.........
示例8: logFile
typedef Image< int16, 2 > ImageType;
int
main( int argc, char **argv )
{
std::ofstream logFile( "Log.txt" );
SET_LOUT( logFile );
D_COMMAND( std::ofstream debugFile( "Debug.txt" ); );
SET_DOUT( debugFile );
TCLAP::CmdLine cmd( "Clamp filter.", ' ', "");
/*---------------------------------------------------------------------*/
//Define cmd arguments
TCLAP::ValueArg<double> bottomArg( "b", "bottom", "Bottom clamp value", false, 0, "" );
cmd.add( bottomArg );
TCLAP::ValueArg<double>topArg( "t", "top", "Top clamp value", false, 2047, "" );
cmd.add( topArg );
/*---------------------------------------------------------------------*/
TCLAP::UnlabeledValueArg<std::string> inFilenameArg( "input", "Input image filename", true, "", "filename1" );
cmd.add( inFilenameArg );
TCLAP::UnlabeledValueArg<std::string> outFilenameArg( "output", "Output image filename", true, "", "filename2" );
cmd.add( outFilenameArg );
cmd.parse( argc, argv );
/***************************************************/
示例9: runtime_error
// ======================================================================
// See TOutputRawlogCreator declaration
// ======================================================================
TOutputRawlogCreator::TOutputRawlogCreator()
{
if (!arg_output_file.isSet())
throw runtime_error("This operation requires an output file. Use '-o file' or '--output file'.");
out_rawlog_filename = arg_output_file.getValue();
if (fileExists(out_rawlog_filename) && !arg_overwrite.getValue() )
throw runtime_error(string("*ABORTING*: Output file already exists: ") + out_rawlog_filename + string("\n. Select a different output path, remove the file or force overwrite with '-w' or '--overwrite'.") );
if (!out_rawlog.open(out_rawlog_filename))
throw runtime_error(string("*ABORTING*: Cannot open output file: ") + out_rawlog_filename );
}
示例10: canExecute
bool Characterization::canExecute(Feature* task)
{
// is argOnly set?
if (argOnly.getValue().size() > 0)
{
vector<string> onlies = argOnly.getValue();
vector<string>::iterator i;
for(i=onlies.begin(); i != onlies.end(); ++i)
{
string onlyFeat = *i;
if (onlyFeat.compare(task->getName()) == 0)
{
VerboseOutput::println(string("Characterization"), "option --only: extract feature only '" + onlyFeat + "'");
return true;
}
}
return false;
}
bool result = true;
// check if a certain level is requested
if( (task->getLevel() == argLevel.getValue()) ||
((argLevel.getValue() == 0) && (task->getLevel() < 4)) )
{
// check if certain features should be skipped
vector<string> nos = argNO.getValue();
vector<string>::iterator i;
for(i=nos.begin(); i != nos.end(); ++i)
{
string no = *i;
if (no.compare(task->getName()) == 0)
{
result = false;
}
}
}
else
{
result = false;
}
return result;
}
示例11: main
// }}}
int main(int argc, char* argv[]) { // {{{
// {{{ initial definitions
cmd.parse( argc, argv );
int error=0;
string option=optionArg.getValue();
cout.precision(17); cerr.precision(17);
// }}}
// {{{ Set seed for random
unsigned int semilla=seed.getValue();
if (semilla == 0){
Random semilla_uran; semilla=semilla_uran.strong();
}
RNG_reset(semilla);
// }}}
// {{{ Report on the screen
if(!no_general_report.getValue()){
cout << "#linea de comando: ";
for(int i=0;i<argc;i++){
cout <<argv[i]<<" " ;
} cout << endl ;
cout << "#semilla = " << semilla << endl;
error += system("echo \\#hostname: $(hostname)");
error += system("echo \\#comenzando en: $(date)");
error += system("echo \\#uname -a: $(uname -a)");
error += system("echo \\#working dir: $(pwd)");
}
// }}}
if //{{{ option == loquesea
(option == "get_gse_spectrum"){ // {{{
vec eig=eig_sym(RandomGSEDeltaOne(dimension.getValue()));
for (int i=0; i<eig.size(); i++){ cout << eig(i) << endl;}
// cout << eig << endl;
return 0;
} // }}}
else if (option == "get_gse_flat_spectrum"){ // {{{
vec eig=FlatSpectrumGSE(dimension.getValue());
for (int i=0; i<eig.size(); i++){ cout << eig(i) << endl;}
// cout << eig <<endl;
return 0;
} // }}}
else if (option == "get_gse_flat_spectrum"){ // {{{
vec eig=FlatSpectrumGSE(dimension.getValue());
for (int i=0; i<eig.size(); i++){ cout << eig(i) << endl;}
// cout << eig <<endl;
return 0;
} // }}}
//}}}
} // }}}
示例12: main
// }}}
int main(int argc, char* argv[]){ // {{{
// {{{ initial definitions
cmd.parse( argc, argv );
int error=0;
string option=optionArg.getValue();
cout.precision(17); cerr.precision(17);
// }}}
// {{{ Set seed for random
unsigned int semilla=seed.getValue();
if (semilla == 0){
Random semilla_uran; semilla=semilla_uran.strong();
}
RNG_reset(semilla);
// }}}
// {{{ Report on the screen
if(!no_general_report.getValue()){
cout << "#linea de comando: ";
for(int i=0;i<argc;i++){
cout <<argv[i]<<" " ;
} cout << endl ;
cout << "#semilla = " << semilla << endl;
error += system("echo \\#hostname: $(hostname)");
error += system("echo \\#comenzando en: $(date)");
error += system("echo \\#uname -a: $(uname -a)");
error += system("echo \\#working dir: $(pwd)");
}
// }}}
if //{{{ option == loquesea
(option == "loquesea"){ // {{{
// }}}
} else if (option == "nichts") { // {{{
// }}}
} else { // {{{
cout << "Error en la opcion. Mira, esto es lo que paso: "
<< optionArg.getValue() << endl;
} // }}}
// }}}
// {{{ Final report
if(!no_general_report.getValue()){
error += system("echo \\#terminando: $(date)");
}
// }}}
return 0;
} // }}}
示例13: main
int main(int argc, char* argv[]) { //{{{
// Random semilla_uran;
// itpp::RNG_reset(semilla_uran.strong());
// cout << PurityRMT::QubitEnvironmentHamiltonian(3,0.) <<endl;
// cout << RMT::FlatSpectrumGUE(5,.1) <<endl;
//
cmd.parse( argc, argv );
cout.precision(16);
string option=optionArg.getValue();
if (option=="test_kick_single_spin"){ // {{{// {{{
int dim=pow_2(qubits.getValue());
cvec state(dim);
double x,y;
ifstream myReadFile;
myReadFile.open("/tmp/estado.dat");
for (int i=0; i<dim; i++){
myReadFile >> x >> y ;
state(i) = complex<double>(x,y) ;
}
myReadFile.close();
vec b(3); b(0)=bx.getValue(); b(1)=by.getValue(); b(2)=bz.getValue();
apply_magnetic_kick(state,b,position.getValue());
for (int i=0; i<dim; i++){
cout << real(state(i)) << " " << real(-Im*state(i)) << endl;
}//}}}
} else if(option=="test_kick") { // {{{
示例14: runtime_error
// ======================================================================
// See TOutputRawlogCreator declaration
// ======================================================================
TOutputRawlogCreator::TOutputRawlogCreator()
{
if (!arg_output_file.isSet())
throw runtime_error(
"This operation requires an output file. Use '-o file' or "
"'--output file'.");
out_rawlog_filename = arg_output_file.getValue();
if (fileExists(out_rawlog_filename) && !arg_overwrite.getValue())
throw runtime_error(
string("*ABORTING*: Output file already exists: ") +
out_rawlog_filename +
string("\n. Select a different output path, remove the file or "
"force overwrite with '-w' or '--overwrite'."));
if (!out_rawlog_io.open(out_rawlog_filename))
throw runtime_error(
string("*ABORTING*: Cannot open output file: ") +
out_rawlog_filename);
out_rawlog = std::make_unique<
mrpt::serialization::CArchiveStreamBase<mrpt::io::CFileGZOutputStream>>(
out_rawlog_io);
}
示例15: thread_grabbing
void thread_grabbing(TThreadParam& p)
{
try
{
CFileGZOutputStream f_out_rawlog;
if (arg_out_rawlog.isSet())
{
if (!f_out_rawlog.open(arg_out_rawlog.getValue()))
THROW_EXCEPTION_FMT(
"Error creating output rawlog file: %s",
arg_out_rawlog.getValue().c_str());
}
auto arch = mrpt::serialization::archiveFrom(f_out_rawlog);
mrpt::hwdrivers::CVelodyneScanner velodyne;
if (arg_verbose.isSet()) velodyne.enableVerbose(true);
// Set params:
velodyne.setModelName(mrpt::typemeta::TEnumType<
mrpt::hwdrivers::CVelodyneScanner::model_t>::
name2value(arg_model.getValue()));
if (arg_ip_filter.isSet())
velodyne.setDeviceIP(
arg_ip_filter.getValue()); // Default: from any IP
if (arg_in_pcap.isSet())
velodyne.setPCAPInputFile(arg_in_pcap.getValue());
if (arg_out_pcap.isSet())
velodyne.setPCAPOutputFile(arg_out_pcap.getValue());
// If you have a calibration file, better than default values:
if (arg_calib_file.isSet())
{
mrpt::obs::VelodyneCalibration calib;
if (!calib.loadFromXMLFile(arg_calib_file.getValue()))
throw std::runtime_error(
"Aborting: error loading calibration file.");
velodyne.setCalibration(calib);
}
// Open:
cout << "Calling CVelodyneScanner::initialize()...";
velodyne.initialize();
cout << "OK\n";
cout << "Waiting for first data packets (Press CTRL+C to abort)...\n";
CTicTac tictac;
int nScans = 0;
bool hard_error = false;
while (!hard_error && !p.quit)
{
// Grab new observations from the camera:
CObservationVelodyneScan::Ptr
obs; // (initially empty) Smart pointers to observations
CObservationGPS::Ptr obs_gps;
hard_error = !velodyne.getNextObservation(obs, obs_gps);
// Save to log file:
if (f_out_rawlog.fileOpenCorrectly())
{
if (obs) arch << *obs;
if (obs_gps) arch << *obs_gps;
}
if (obs)
{
std::atomic_store(&p.new_obs, obs);
nScans++;
}
if (obs_gps) std::atomic_store(&p.new_obs_gps, obs_gps);
if (p.pushed_key != 0)
{
switch (p.pushed_key)
{
case 27:
p.quit = true;
break;
}
// Clear pushed key flag:
p.pushed_key = 0;
}
if (nScans > 5)
{
p.Hz = nScans / tictac.Tac();
nScans = 0;
tictac.Tic();
}
}
}
catch (const std::exception& e)
{
cout << "Exception in Velodyne thread: " << mrpt::exception_to_str(e)
<< endl;
p.quit = true;
//.........这里部分代码省略.........