예제 #1
0
파일: Diff.cpp 프로젝트: SCUSIT/PDAL
void Diff::addSwitches()
{
    namespace po = boost::program_options;

    po::options_description* file_options = new po::options_description("file options");


    file_options->add_options()
    ("source", po::value<std::string>(&m_sourceFile), "source file name")
    ("candidate", po::value<std::string>(&m_candidateFile), "candidate file name")
    ("xml", po::value<bool>(&m_useXML)->zero_tokens()->implicit_value(true), "dump XML")
    ("json", po::value<bool>(&m_useJSON)->zero_tokens()->implicit_value(true), "dump JSON")

    ;

    addSwitchSet(file_options);

    po::options_description* processing_options = new po::options_description("processing options");

    processing_options->add_options()

    ;

    addSwitchSet(processing_options);

    addPositionalSwitch("source", 1);
    addPositionalSwitch("candidate", 2);

    return;
}
예제 #2
0
파일: Delta.cpp 프로젝트: SCUSIT/PDAL
void Delta::addSwitches()
{
    namespace po = boost::program_options;

    po::options_description* file_options = new po::options_description("file options");
    

    file_options->add_options()
        ("source", po::value<std::string>(&m_sourceFile), "source file name")
        ("candidate", po::value<std::string>(&m_candidateFile), "candidate file name")
        ("output", po::value<std::string>(&m_outputFileName), "output file name")
        ("2d", po::value<bool>(&m_3d)->zero_tokens()->implicit_value(false), "only 2D comparisons/indexing")
        ("detail", po::value<bool>(&m_OutputDetail)->zero_tokens()->implicit_value(true), "Output deltas per-point")
        ("output", po::value<std::string>(&m_outputFileName), "output file name")
        ;

    addSwitchSet(file_options);

    po::options_description* processing_options = new po::options_description("processing options");
    
    processing_options->add_options()

        ;
    
    addSwitchSet(processing_options);

    addPositionalSwitch("source", 1);
    addPositionalSwitch("candidate", 2);
    addPositionalSwitch("output", 3);

    return;
}
예제 #3
0
void InfoKernel::addSwitches()
{
    namespace po = boost::program_options;

    po::options_description* file_options =
        new po::options_description("file options");

    file_options->add_options()
        ("input,i", po::value<std::string>(&m_inputFile)->default_value(""),
         "input file name")
        ;

    addSwitchSet(file_options);

    po::options_description* processing_options =
        new po::options_description("processing options");

    processing_options->add_options()
        ("all",
         po::value<bool>(&m_showAll)->zero_tokens()->implicit_value(true),
         "dump statistics, schema and metadata")
        ("point,p", po::value<std::string >(&m_pointIndexes), "point to dump")
        ("query", po::value< std::string>(&m_queryPoint),
         "Return points in order of distance from the specified "
         "location (2D or 3D)\n"
         "--query Xcoord,Ycoord[,Zcoord][/count]")
        ("stats",
         po::value<bool>(&m_showStats)->zero_tokens()->implicit_value(true),
         "dump stats on all points (reads entire dataset)")
        ("boundary",
         po::value<bool>(&m_boundary)->zero_tokens()->implicit_value(true),
         "compute a hexagonal hull/boundary of dataset")
        ("dimensions", po::value<std::string >(&m_dimensions),
         "dimensions on which to compute statistics")
        ("schema",
         po::value<bool>(&m_showSchema)->zero_tokens()->implicit_value(true),
         "dump the schema")
        ("pipeline-serialization",
         po::value<std::string>(&m_pipelineFile)->default_value(""), "")
        ("summary",
         po::value<bool>(&m_showSummary)->zero_tokens()->implicit_value(true),
        "dump summary of the info")
        ("metadata",
         po::value<bool>(&m_showMetadata)->zero_tokens()->implicit_value(true),
        "dump file metadata info")
        ;

    po::options_description* hidden =
        new po::options_description("Hidden options");
    hidden->add_options()
        ("pointcloudschema",
         po::value<std::string>(&m_PointCloudSchemaOutput),
        "dump PointCloudSchema XML output")
            ;

    addSwitchSet(processing_options);
    addHiddenSwitchSet(hidden);
    addPositionalSwitch("input", 1);
}
예제 #4
0
파일: PCLKernel.cpp 프로젝트: rskelly/PDAL
void PCLKernel::addSwitches()
{
    po::options_description* file_options =
        new po::options_description("file options");

    file_options->add_options()
    ("input,i", po::value<std::string>(&m_inputFile)->default_value(""),
     "input file name")
    ("output,o", po::value<std::string>(&m_outputFile)->default_value(""),
     "output file name")
    ("pcl,p", po::value<std::string>(&m_pclFile)->default_value(""),
     "pcl file name")
    ("compress,z",
        po::value<bool>(&m_bCompress)->zero_tokens()->implicit_value(true),
        "Compress output data (if supported by output format)")
    ("metadata,m",
        po::value< bool >(&m_bForwardMetadata)->implicit_value(true),
        "Forward metadata (VLRs, header entries, etc) from previous stages")
    ;

    addSwitchSet(file_options);

    addPositionalSwitch("input", 1);
    addPositionalSwitch("output", 1);
    addPositionalSwitch("pcl", 1);
}
예제 #5
0
파일: Kernel.cpp 프로젝트: rskelly/PDAL
void Kernel::addBasicSwitchSet()
{
    po::options_description* basic_options = new po::options_description("basic options");

    basic_options->add_options()
    ("help,h", po::value<bool>(&m_showHelp)->zero_tokens()->implicit_value(true), "Print help message")
    ("options", po::value<std::string>(&m_showOptions)->implicit_value("all"), "Show available options for a driver")
    ("debug,d", po::value<bool>(&m_isDebug)->zero_tokens()->implicit_value(true), "Enable debug mode")
    ("report-debug", po::value<bool>(&m_reportDebug)->zero_tokens()->implicit_value(true), "Report PDAL compilation DEBUG status")
    ("developer-debug", po::value<bool>(&m_hardCoreDebug)->zero_tokens()->implicit_value(true), "Enable developer debug mode (don't trap exceptions so segfaults are thrown)")
    ("verbose,v", po::value<uint32_t>(&m_verboseLevel)->default_value(0), "Set verbose message level")
    ("version", po::value<bool>(&m_showVersion)->zero_tokens()->implicit_value(true), "Show version info")
    ("visualize", po::value<bool>(&m_visualize)->zero_tokens()->implicit_value(true), "Visualize result")
    ("stdin,s", po::value<bool>(&m_usestdin)->zero_tokens()->implicit_value(true), "Read pipeline XML from stdin")
    ("heartbeat", po::value< std::vector<std::string> >(&m_heartbeat_shell_command), "Shell command to run for every progress heartbeat")
    ("scale", po::value< std::string >(&m_scales),
     "A comma-separated or quoted, space-separated list of scales to "
     "set on the output file: \n--scale 0.1,0.1,0.00001\n--scale \""
     "0.1 0.1 0.00001\"")
    ("offset", po::value< std::string >(&m_offsets),
     "A comma-separated or quoted, space-separated list of offsets to "
     "set on the output file: \n--offset 0,0,0\n--offset "
     "\"1234 5678 91011\"")

    ;

    addSwitchSet(basic_options);

    return;
}
예제 #6
0
파일: Translate.cpp 프로젝트: dakcarto/PDAL
void Translate::addSwitches()
{
    
    // Action translate("translate");
    
    po::options_description* file_options = new po::options_description("file options");

    file_options->add_options()
        ("input,i", po::value<std::string>(&m_inputFile)->default_value(""), "input file name")
        ("output,o", po::value<std::string>(&m_outputFile)->default_value(""), "output file name")
        ("a_srs", po::value<pdal::SpatialReference>(&m_input_srs), "Assign input coordinate system (if supported by output format)")
        ("t_srs", po::value<pdal::SpatialReference>(&m_output_srs), "Transform to output coordinate system (if supported by output format)")
        ("compress,z", po::value<bool>(&m_bCompress)->zero_tokens()->implicit_value(true), "Compress output data (if supported by output format)")
        ("count", po::value<boost::uint64_t>(&m_numPointsToWrite)->default_value(0), "How many points should we write?")
        ("skip", po::value<boost::uint64_t>(&m_numSkipPoints)->default_value(0), "How many points should we skip?")
        ("bounds", po::value<pdal::Bounds<double> >(&m_bounds), "Extent (in XYZ to clip output to)")
        ("polygon", po::value<std::string >(&m_wkt), "POLYGON WKT to use for precise crop of data (2d or 3d)")
        ("scale", po::value< std::string >(&m_scales), "A comma-separated or quoted, space-separated list of scales to set on the output file: \n--scale 0.1,0.1,0.00001\n--scale \"0.1 0.1 0.00001\"")
        ("offset", po::value< std::string >(&m_offsets), "A comma-separated or quoted, space-separated list of offsets to set on the output file: \n--offset 0,0,0\n--offset \"1234 5678 91011\"")
        ("metadata,m", po::value< bool >(&m_bForwardMetadata)->implicit_value(true), "Forward metadata (VLRs, header entries, etc) from previous stages")
        ;

    addSwitchSet(file_options);
    
    addPositionalSwitch("input", 1);
    addPositionalSwitch("output", 1);    
}
예제 #7
0
void MyKernel::addSwitches()
{
  po::options_description* options = new po::options_description("file options");
  options->add_options()
  ("input,i", po::value<std::string>(&m_input_file)->default_value(""), "input file name")
  ("output,o", po::value<std::string>(&m_output_file)->default_value(""), "output file name")
  ;

  addSwitchSet(options);
  addPositionalSwitch("input", 1);
  addPositionalSwitch("output", 1);
}
예제 #8
0
void SmoothKernel::addSwitches()
{
    po::options_description* file_options = new po::options_description("file options");

    file_options->add_options()
    ("input,i", po::value<std::string>(&m_inputFile)->default_value(""), "input file name")
    ("output,o", po::value<std::string>(&m_outputFile)->default_value(""), "output file name")
//        ("compress,z", po::value<bool>(&m_bCompress)->zero_tokens()->implicit_value(true), "Compress output data (if supported by output format)")
    ;

    addSwitchSet(file_options);

    addPositionalSwitch("input", 1);
    addPositionalSwitch("output", 1);
}
예제 #9
0
파일: Random.cpp 프로젝트: pramsey/PDAL
void Random::addSwitches()
{
    po::options_description* file_options = new po::options_description("file options");

    file_options->add_options()
    ("output,o", po::value<std::string>(&m_outputFile)->default_value(""), "output file name")
    ("compress,z", po::value<bool>(&m_bCompress)->zero_tokens()->implicit_value(true), "Compress output data (if supported by output format)")
    ("count", po::value<boost::uint64_t>(&m_numPointsToWrite)->default_value(0), "How many points should we write?")
    ("bounds", po::value<BOX3D>(&m_bounds), "Extent (in XYZ to clip output to)")
    ("mean", po::value< std::string >(&m_means), "A comma-separated or quoted, space-separated list of means (normal mode): \n--mean 0.0,0.0,0.0\n--mean \"0.0 0.0 0.0\"")
    ("stdev", po::value< std::string >(&m_stdevs), "A comma-separated or quoted, space-separated list of standard deviations (normal mode): \n--stdev 0.0,0.0,0.0\n--stdev \"0.0 0.0 0.0\"")
    ("distribution", po::value<std::string>(&m_distribution)->default_value("uniform"), "Distribution (uniform / normal)")
    ;

    addSwitchSet(file_options);

    addPositionalSwitch("input", 1);
    addPositionalSwitch("output", 1);
}
예제 #10
0
파일: Ground.cpp 프로젝트: pramsey/PDAL
void Ground::addSwitches()
{
    po::options_description* file_options = new po::options_description("file options");

    file_options->add_options()
    ("input,i", po::value<std::string>(&m_inputFile)->default_value(""), "input file name")
    ("output,o", po::value<std::string>(&m_outputFile)->default_value(""), "output file name")
//        ("compress,z", po::value<bool>(&m_bCompress)->zero_tokens()->implicit_value(true), "Compress output data (if supported by output format)")
    ("maxWindowSize", po::value<double>(&m_maxWindowSize)->default_value(33), "max window size")
    ("slope", po::value<double>(&m_slope)->default_value(1), "slope")
    ("maxDistance", po::value<double>(&m_maxDistance)->default_value(2.5), "max distance")
    ("initialDistance", po::value<double>(&m_initialDistance)->default_value(0.15, "0.15"), "initial distance")
    ("cellSize", po::value<double>(&m_cellSize)->default_value(1), "cell size")
    ("base", po::value<double>(&m_base)->default_value(2), "base")
    ("exponential", po::value<bool>(&m_exponential)->default_value(true), "exponential?")
    ;

    addSwitchSet(file_options);

    addPositionalSwitch("input", 1);
    addPositionalSwitch("output", 1);
}