Brief description of class still missing. More...
#include <TargetMerge.h>
Public Member Functions | |
virtual int | execute () |
virtual bool | setOptions (int &argc, char **argv) |
TargetMerge () |
Brief description of class still missing.
Full description of class still missing
int TargetMerge::execute | ( | ) | [virtual] |
Description still missing
Implements AbstractTarget.
References DinverDCCore::TargetList2D::addTarget(), QGpCoreTools::endl(), AbstractTarget::fileName(), DinverDCCore::TargetList::isEmpty(), QGpCoreTools::tr(), TRACE, QGpCoreTools::XMLHeader::xml_restoreFile(), and QGpCoreTools::XMLHeader::xml_saveFile().
{ TRACE; TargetList2D tl; QFileInfo fi(fileName()); if(fi.exists()) { XMLVirtualPlugin plugin(&tl, "DispersionCurve2D"); XMLDinverHeader hdr(&plugin); if(hdr.xml_restoreFile(fileName())!=XMLClass::NoError) { App::stream() << tr("gptarget: error reading file %1").arg(fileName()) << endl; return 2; } } foreach(QString fn, _targets) { TargetList * t=new TargetList; XMLVirtualPlugin plugin(t, "DispersionCurve"); XMLDinverHeader hdr(&plugin); if(hdr.xml_restoreFile(fn)!=XMLClass::NoError) { App::stream() << tr("gptarget: error reading file %1").arg(fn) << endl; delete t; return 2; } if(t->isEmpty()) { App::stream() << tr("gptarget: empty target %1").arg(fn) << endl; delete t; return 2; } tl.addTarget(t); } XMLVirtualPlugin plugin(&tl, "DispersionCurve2D"); XMLDinverHeader hdr(&plugin); if(hdr.xml_saveFile(fileName())!=XMLClass::NoError) { App::stream() << tr("gptarget: error writing to file %1").arg(fileName()) << endl; return 2; } return 0; }
bool TargetMerge::setOptions | ( | int & | argc, |
char ** | argv | ||
) | [virtual] |
Description still missing
Implements AbstractTarget.
References QGpCoreTools::endl(), AbstractTarget::setFileName(), QGpCoreTools::tr(), and TRACE.
{ TRACE; int j=1; for(int i=1; i<argc; i++) { QByteArray arg=argv[i]; if(arg[0]=='-') { if(arg=="-o") { CoreApplication::checkOptionArg(i, argc, argv); setFileName(argv[i]); } else { App::stream() << tr("gptarget: bad option %1, see -help").arg(argv[i]) << endl; return false; } } else { argv[j++]=argv[i]; } } if(j < argc) { argv[j]=0; argc=j; } for(int i=1; i<argc; i++) { _targets.append(argv[i]); } if(_targets.isEmpty()) { App::stream() << tr("gptarget: missing 1D targets to merge") << endl; return false; } return true; }