Brief description of class still missing. More...
#include <Seismic1DThread.h>
Public Member Functions | |
| virtual void | addModel (GeophysicalModel *m) |
| virtual void | clear () |
| virtual void | initModelGraphs (GraphicSheet *sheet) |
| virtual void | initModelGraphs (const ResultsThread &o) |
| virtual LegendWidget * | legend () const |
| virtual void | modelDeepUpdate () |
| Seismic1DThread (QObject *parent=0) | |
| Seismic1DThread (const Seismic1DThread &o) | |
| virtual void | setModel (GeophysicalModel *m) |
| virtual void | setModelLimits () |
| virtual bool | setParameters (int &argc, char **argv) |
| ~Seismic1DThread () | |
Brief description of class still missing.
Full description of class still missing
| Seismic1DThread::Seismic1DThread | ( | QObject * | parent = 0 | ) |
Description of constructor still missing
References TRACE.
: CurvesThread(parent) { TRACE; _vp=0; _vs=0; _leg=0; }
| Seismic1DThread::Seismic1DThread | ( | const Seismic1DThread & | o | ) |
Description of constructor still missing
References TRACE.
: CurvesThread(o) { TRACE; _vp=0; _vs=0; _leg=0; }
| void Seismic1DThread::addModel | ( | GeophysicalModel * | m | ) | [virtual] |
Implements ResultsThread.
References SciFigs::LineLayer::addLine(), SciFigs::LineLayer::count(), SciFigs::PlotLine2D::curve(), QGpCoreWave::Profile::curve(), SciFigs::LegendWidget::legend(), SciFigs::Legend::pen(), SciFigs::Legend::symbol(), TRACE, QGpCoreWave::Seismic1DModel::vpProfile(), and QGpCoreWave::Seismic1DModel::vsProfile().
{
TRACE;
Seismic1DModel * ms=static_cast<Seismic1DModel *>(m);
int i;
const Legend& leg=_leg->legend();
PlotLine2D * line;
i=_vp->count();
line=static_cast<PlotLine2D *>(_vp->addLine(leg.pen(i), leg.symbol(i)) );
line->curve()=ms->vpProfile().curve();
i=_vs->count();
line=static_cast<PlotLine2D *>(_vs->addLine(leg.pen(i), leg.symbol(i)) );
line->curve()=ms->vsProfile().curve();
}
| void Seismic1DThread::clear | ( | ) | [virtual] |
Reimplemented from CurvesThread.
References SciFigs::LineLayer::clear(), and TRACE.
{
TRACE;
CurvesThread::clear();
_vp->clear();
_vs->clear();
}
| void Seismic1DThread::initModelGraphs | ( | GraphicSheet * | sheet | ) | [virtual] |
Implements ResultsThread.
References SciFigs::GraphicSheet::addObject(), ResultsThread::createLegend(), SciFigs::GraphicSheet::printRight(), SciFigs::LineLayer::setReferenceLine(), SciFigs::Axis::setReversedScale(), SciFigs::Axis::setTitle(), SciFigs::GraphicSheet::showObject(), QGpCoreTools::tr(), TRACE, w, SciFigs::AxisWindow::xAxis(), and SciFigs::AxisWindow::yAxis().
{
TRACE;
AxisWindow * w;
w=new AxisWindow;
GraphicSheetMenu::setGraphGeometry(w, sheet->printRight(), 6.0, 0.5, 8.0);
w->yAxis()->setReversedScale(true);
w->yAxis()->setTitle(tr("Depth (m)"));
w->xAxis()->setTitle(tr("Vp (m/s)"));
_vp=new LineLayer(w);
_vp->setObjectName("background Vp");
_vp->setReferenceLine(new PlotLine2D);
sheet->addObject(w);
sheet->showObject(w);
w=new AxisWindow;
GraphicSheetMenu::setGraphGeometry(w, sheet->printRight(), 6.0, 0.5, 8.0);
w->yAxis()->setReversedScale(true);
w->yAxis()->setTitle(tr("Depth (m)"));
w->xAxis()->setTitle(tr("Vs (m/s)"));
_vs=new LineLayer(w);
_vs->setObjectName("background Vs");
_vs->setReferenceLine(new PlotLine2D);
sheet->addObject(w);
sheet->showObject(w);
_leg=createLegend(sheet, sheet->printRight(), 0.5, tr("Background models"));
connect(_leg, SIGNAL(changed( Legend) ), _vp, SLOT(setLegend( Legend) ));
connect(_leg, SIGNAL(changed( Legend) ), _vs, SLOT(setLegend( Legend) ));
}
| void Seismic1DThread::initModelGraphs | ( | const ResultsThread & | o | ) | [virtual] |
Implements ResultsThread.
References SciFigs::LineLayer::addLine(), ResultsThread::createLegend(), SciFigs::GraphContentLayer::graph(), SciFigs::GraphicSheet::printRight(), SciFigs::LineLayer::setReferenceLine(), SciFigs::GraphicObject::sheet(), QGpCoreTools::tr(), TRACE, and w.
{
TRACE;
const Seismic1DThread& os=static_cast<const Seismic1DThread&>(o);
AxisWindow * w;
w=os._vp->graph();
_vp=new LineLayer(w);
_vp->setObjectName("foreground Vp");
_vp->setReferenceLine(new PlotLine2D);
_vp->addLine(Pen(), Symbol());
w=os._vs->graph();
_vs=new LineLayer(w);
_vs->setObjectName("foreground Vs");
_vs->setReferenceLine(new PlotLine2D);
_vs->addLine(Pen(), Symbol());
_leg=createLegend(w->sheet(), w->sheet()->printRight(), 0.5, tr("Foreground models"));
connect(_leg, SIGNAL(changed( Legend) ), _vp, SLOT(setLegend( Legend) ));
connect(_leg, SIGNAL(changed( Legend) ), _vs, SLOT(setLegend( Legend) ));
}
| virtual LegendWidget* Seismic1DThread::legend | ( | ) | const [inline, virtual] |
Implements CurvesThread.
{return _leg;}
| void Seismic1DThread::modelDeepUpdate | ( | ) | [virtual] |
Implements ResultsThread.
References SciFigs::AxisWindow::deepUpdate(), and SciFigs::GraphContentLayer::graph().
{
_vp->graph()->deepUpdate();
_vs->graph()->deepUpdate();
}
| void Seismic1DThread::setModel | ( | GeophysicalModel * | m | ) | [virtual] |
Implements ResultsThread.
References QGpCoreWave::Profile::curve(), SciFigs::LineLayer::line(), TRACE, QGpCoreWave::Seismic1DModel::vpProfile(), and QGpCoreWave::Seismic1DModel::vsProfile().
{
TRACE;
Seismic1DModel * ms=static_cast<Seismic1DModel *>(m);
static_cast<PlotLine2D *>(_vp->line(0) )->curve()=ms->vpProfile().curve();
static_cast<PlotLine2D *>(_vs->line(0) )->curve()=ms->vsProfile().curve();
}
| void Seismic1DThread::setModelLimits | ( | ) | [virtual] |
Implements ResultsThread.
References SciFigs::GraphContent::boundingRect(), SciFigs::GraphContentLayer::graph(), SciFigs::GraphContentLayer::graphContent(), SciFigs::Axis::setRange(), TRACE, QGpCoreTools::Rect::x2(), SciFigs::AxisWindow::xAxis(), QGpCoreTools::Rect::y2(), and SciFigs::AxisWindow::yAxis().
{
TRACE;
Rect rp=_vp->graphContent()->boundingRect();
Rect rs=_vs->graphContent()->boundingRect();
_vp->graph()->xAxis()->setRange(0.0, rp.x2()*1.1);
_vs->graph()->xAxis()->setRange(0.0, rs.x2()*1.1);
double maxDepth=rp.y2() > rs.y2() ? rp.y2() : rs.y2();
maxDepth*=1.1;
_vp->graph()->yAxis()->setRange(0.0, maxDepth);
_vs->graph()->yAxis()->setRange(0.0, maxDepth);
}
| bool Seismic1DThread::setParameters | ( | int & | argc, |
| char ** | argv | ||
| ) | [virtual] |
Reimplemented from CurvesThread.
Reimplemented in DispersionGridThread, DispersionThread, EllipticityThread, and ShAmplificationThread.
References TRACE.
{
TRACE;
// TODO: add option for profile selection (rho, nu, vp, vs, qp, qs)
return CurvesThread::setParameters(argc, argv);
}