Brief description of class still missing. More...
#include <LiveModelReader.h>
Public Member Functions | |
int | exec () |
LiveModelReader () | |
bool | setOptions (int &argc, char **argv) |
~LiveModelReader () | |
Protected Member Functions | |
virtual bool | parse (QTextStream &s) |
Brief description of class still missing.
Full description of class still missing
Description of constructor still missing
References Results::Dispersion, and TRACE.
: ArgumentStdinReader() { TRACE; _curveType=Results::Dispersion; _readStdin=false; _scanCount=10; _w=0; }
int LiveModelReader::exec | ( | ) |
References MainWindow::setBackground(), and TRACE.
Referenced by main().
{ TRACE; Settings::getRect(_w, "MainWindow" ); _w->show(); _w->setBackground(); int appReturn=qApp->exec(); Settings::setRect(_w, "MainWindow" ); return appReturn; }
bool LiveModelReader::parse | ( | QTextStream & | s | ) | [protected, virtual] |
Implements QGpCoreTools::ArgumentStdinReader.
References MainWindow::addBackground(), QGpCoreWave::Seismic1DModel::fromStream(), QGpCoreWave::Seismic1DModel::layerCount(), MainWindow::scan(), sOut(), and TRACE.
{ TRACE; QTextStream sOut(stdout); Seismic1DModel m; QString comments; if(!m.fromStream(s, &comments)) { return false; } if(m.layerCount()>0) { if(!_sliderName.isEmpty()) { _w->scan(&m, _sliderName, _scanCount); } else { _w->addBackground(&m, comments); } } return true; }
bool LiveModelReader::setOptions | ( | int & | argc, |
char ** | argv | ||
) |
References Results::Dispersion, Results::DispersionGrid, Ellipticity, QGpCoreTools::endl(), MainWindow::loadPanel(), Results::MagnetoTelluric, QGpCoreTools::ArgumentStdinReader::read(), MainWindow::results(), Results::setCurveType(), Results::ShAmplification, QGpCoreTools::tr(), and TRACE.
Referenced by main().
{ TRACE; // Curve type int i, j=1; for(i=1; i<argc; i++) { QByteArray arg=argv[i]; if(arg[0]=='-') { if(arg=="-disp") { _curveType=Results::Dispersion; } else if(arg=="-disp-grid") { _curveType=Results::DispersionGrid; } else if(arg=="-ell") { _curveType=Results::Ellipticity; } else if(arg=="-sh") { _curveType=Results::ShAmplification; } else if(arg=="-mt") { _curveType=Results::MagnetoTelluric; } else { argv[j++]=argv[i]; } } else { argv[j++]=argv[i]; } } if(j < argc) { argv[j]=0; argc=j; } _w=new MainWindow; if( ! _w->results()->setCurveType(_curveType, argc, argv)) { return false; } // Check other arguments j=1; for(i=1; i<argc; i++) { QByteArray arg=argv[i]; if(arg[0]=='-') { if(arg=="-stdin") { _readStdin=true; } else if(arg=="-panel") { Application::checkOptionArg(i, argc, argv); _panelFile=argv[i]; } else if(arg=="-scan") { Application::checkOptionArg(i, argc, argv); _sliderName=argv[i]; _readStdin=true; } else if(arg=="-scan-count") { Application::checkOptionArg(i, argc, argv); _scanCount=atoi(argv[i]); } else { App::stream() << tr("gplivemodel: bad option %1, see -help").arg(argv[i]) << endl; return false; } } else { argv[j++]=argv[i]; } } if(j < argc) { argv[j]=0; argc=j; } if(!_sliderName.isEmpty()) { if(_panelFile.isEmpty()) { App::stream() << tr("gplivemodel: option 'panel' is required with option 'scan'.").arg(argv[i]) << endl; return false; } } if( !_panelFile.isEmpty()) { _w->loadPanel(_panelFile); } if(_readStdin || argc>1) read(argc, argv); return true; }