MCPcopy Create free account
hub / github.com/PointCloudLibrary/pcl / main

Function main

tools/openni_image.cpp:668–787  ·  view source on GitHub ↗

/////////////////////////////////////////////////////////////////////////////////////

Source from the content-addressed store, hash-verified

666
667//////////////////////////////////////////////////////////////////////////////////////////
668int
669main (int argc, char ** argv)
670{
671 print_highlight ("PCL OpenNI Image Viewer/Recorder. See %s -h for options.\n", argv[0]);
672 bool debug = false;
673 console::parse_argument (argc, argv, "-debug", debug);
674 if (debug)
675 console::setVerbosityLevel (console::L_DEBUG);
676
677 if (parse_argument (argc, argv, "-buf", buff_size) != -1)
678 print_highlight ("Setting buffer size to %d frames.\n", buff_size);
679 else
680 print_highlight ("Using default buffer size of %d frames.\n", buff_size);
681
682 std::string device_id;
683 OpenNIGrabber::Mode image_mode = OpenNIGrabber::OpenNI_Default_Mode;
684 OpenNIGrabber::Mode depth_mode = OpenNIGrabber::OpenNI_Default_Mode;
685
686 if (argc >= 2)
687 {
688 device_id = argv[1];
689 if (device_id == "--help" || device_id == "-h")
690 {
691 usage (argv);
692 return (0);
693 }
694 if (device_id == "-l")
695 {
696 if (argc >= 3)
697 {
698 OpenNIGrabber grabber (argv[2]);
699 auto device = grabber.getDevice ();
700 std::vector<std::pair<int, XnMapOutputMode> > modes;
701
702 if (device->hasImageStream ())
703 {
704 std::cout << std::endl << "Supported image modes for device: " << device->getVendorName () << " , " << device->getProductName () << std::endl;
705 modes = grabber.getAvailableImageModes ();
706 for (const auto& mode : modes)
707 {
708 std::cout << mode.first << " = " << mode.second.nXRes << " x " << mode.second.nYRes << " @ " << mode.second.nFPS << std::endl;
709 }
710 if (device->hasDepthStream ())
711 {
712 std::cout << std::endl << "Supported depth modes for device: " << device->getVendorName () << " , " << device->getProductName () << std::endl;
713 modes = grabber.getAvailableDepthModes ();
714 for (const auto& mode : modes)
715 {
716 std::cout << mode.first << " = " << mode.second.nXRes << " x " << mode.second.nYRes << " @ " << mode.second.nFPS << std::endl;
717 }
718 }
719 }
720 }
721 else
722 {
723 openni_wrapper::OpenNIDriver& driver = openni_wrapper::OpenNIDriver::getInstance ();
724 if (driver.getNumberDevices () > 0)
725 {

Callers

nothing calls this directly

Calls 15

parse_argumentFunction · 0.85
getInstanceFunction · 0.85
parseFunction · 0.85
hasImageStreamMethod · 0.80
hasDepthStreamMethod · 0.80
getNumberDevicesMethod · 0.80
setDepthOutputFormatMethod · 0.80
usageFunction · 0.70
getDeviceMethod · 0.45
getVendorNameMethod · 0.45
getProductNameMethod · 0.45

Tested by

no test coverage detected