#include <qapplication.h>
#include "ui_viewerInterface.h"
#include "VEFViewer.h"
#include <boost/program_options.hpp>
#include <vector>
#include <string>
class ViewerInterface: public QDialog, public Ui::Dialog
{
public:
ViewerInterface() { setupUi(this); viewer->setModelList(listWidget); }
};
namespace po = boost::program_options;
int main(int argc, char** argv)
{
QApplication application(argc,argv);
ViewerInterface vi;
vi.show();
// Parse program options
std::vector<std::string> input_filenames;
po::options_description hidden("Hidden options");
hidden.add_options()
("input-file", po::value<std::vector<std::string> >(&input_filenames),
"Input filenames (extensions: vrt, edg, stl)");
po::options_description visible("Allowed options");
visible.add_options()
("help,h", "produce help message");
po::positional_options_description p;
p.add("input-file", -1);
po::options_description all; all.add(visible).add(hidden);
po::variables_map vm;
po::store(po::command_line_parser(argc, argv).
options(all).positional(p).run(), vm);
po::notify(vm);
if (vm.count("help"))
{
std::cout << "Usage: " << argv[0] << " [options] [INPUTFILE1] [INPUTFILE2] ..." << std::endl;
std::cout << visible << std::endl;
return 1;
}
for (std::vector<std::string>::const_iterator cur = input_filenames.begin();
cur != input_filenames.end(); ++cur)
vi.viewer->addFile(cur->c_str());
return application.exec();
}