From eaf0481b25eee6caf3f55ceebf0485b0909bff92 Mon Sep 17 00:00:00 2001 From: Markus Frank <Markus.Frank@cern.ch> Date: Tue, 15 Jan 2019 19:26:06 +0100 Subject: [PATCH] Fix bug in geoDisplay --- UtilityApps/src/display.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/UtilityApps/src/display.cpp b/UtilityApps/src/display.cpp index a7852b461..9f9c2516d 100644 --- a/UtilityApps/src/display.cpp +++ b/UtilityApps/src/display.cpp @@ -17,24 +17,26 @@ //______________________________________________________________________________ int main(int argc,char** argv) { std::vector<const char*> av; - std::string level, visopt, opt; + std::string level, visopt, opt, detector; bool dry = false; for(int i=0; i<argc; ++i) { if ( i==1 && argv[i][0] != '-' ) av.push_back("-input"); - if ( strncmp(argv[i],"-load",4) == 0 ) dry = true, av.push_back(argv[i]); - else if ( strncmp(argv[i],"-dry",4) == 0 ) dry = true, av.push_back(argv[i]); - else if ( strncmp(argv[i],"-visopt",4) == 0 ) visopt = argv[i]; - else if ( strncmp(argv[i],"-level", 4) == 0 ) level = argv[i]; - else if ( strncmp(argv[i],"-option",4) == 0 ) opt = argv[i]; + if ( strncmp(argv[i],"-load",4) == 0 ) dry = true, av.push_back(argv[i]); + else if ( strncmp(argv[i],"-dry",4) == 0 ) dry = true, av.push_back(argv[i]); + else if ( strncmp(argv[i],"-visopt",4) == 0 ) visopt = argv[++i]; + else if ( strncmp(argv[i],"-level", 4) == 0 ) level = argv[++i]; + else if ( strncmp(argv[i],"-option",4) == 0 ) opt = argv[++i]; + else if ( strncmp(argv[i],"-detector",4) == 0 ) detector = argv[++i]; else av.push_back(argv[i]); } if ( !dry ) { av.push_back("-interactive"); av.push_back("-plugin"); av.push_back("DD4hep_GeometryDisplay"); - if ( !opt.empty() ) av.push_back("-opt"), av.push_back(opt.c_str()); - if ( !level.empty() ) av.push_back("-level"), av.push_back(level.c_str()); - if ( !visopt.empty() ) av.push_back("-visopt"), av.push_back(visopt.c_str()); + if ( !opt.empty() ) av.push_back("-opt"), av.push_back(opt.c_str()); + if ( !level.empty() ) av.push_back("-level"), av.push_back(level.c_str()); + if ( !visopt.empty() ) av.push_back("-visopt"), av.push_back(visopt.c_str()); + if ( !detector.empty() ) av.push_back("-detector"), av.push_back(detector.c_str()); } return dd4hep::execute::main_plugins("DD4hep_GeometryDisplay", av.size(), (char**)&av[0]); } -- GitLab