/******************************************************************** ** Image Component Library (ICL) ** ** ** ** Copyright (C) 2006-2013 CITEC, University of Bielefeld ** ** Neuroinformatics Group ** ** Website: www.iclcv.org and ** ** http://opensource.cit-ec.de/projects/icl ** ** ** ** File : ICLIO/apps/camera-param-io/camera-param-io.cpp ** ** Module : ICLIO ** ** Authors: Christof Elbrechter ** ** ** ** ** ** GNU LESSER GENERAL PUBLIC LICENSE ** ** This file may be used under the terms of the GNU Lesser General ** ** Public License version 3.0 as published by the ** ** ** ** Free Software Foundation and appearing in the file LICENSE.LGPL ** ** included in the packaging of this file. Please review the ** ** following information to ensure the license requirements will ** ** be met: http://www.gnu.org/licenses/lgpl-3.0.txt ** ** ** ** The development of this software was supported by the ** ** Excellence Cluster EXC 277 Cognitive Interaction Technology. ** ** The Excellence Cluster EXC 277 is a grant of the Deutsche ** ** Forschungsgemeinschaft (DFG) in the context of the German ** ** Excellence Initiative. ** ** ** ********************************************************************/ #include #include #include using namespace icl::utils; using namespace icl::io; namespace{ void write_spaces(int n, char c=' '){ for(int i=0;i 1){ pa_show_usage("invalid argument combination"); exit(-1); } GenericGrabber grabber; grabber.init(pa("-i")); if(s){ std::string val = pa("-s", 1).as(); if(pa("-go")) grabber.grab(); grabber.setPropertyValue(pa("-s",0),val); if(pa("-go")) grabber.grab(); }else if(g){ std::cout << grabber.getPropertyValue(pa("-g")) << std::endl; }else if(p){ if(pa("-go")) grabber.grab(); grabber.loadProperties(pa("-p")); if(pa("-go")) grabber.grab(); }else if(o){ grabber.saveProperties(pa("-o")); }else{ static const int w = 35; std::vector l = grabber.getPropertyList(); std::cout << "camera interface provides " << l.size() << " features" << std::endl; std::cout << "feature"; write_spaces(w-strlen("feature")); std::cout << "value"; write_spaces(w-strlen("value")); std::cout << "info" << std::endl; write_spaces(3*w,'-'); std::cout << std::endl; for(unsigned int i=0;i