mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
(#468) Added context menu item in 3D view for plotting of well log extraction curves
This commit is contained in:
@@ -20,9 +20,12 @@
|
||||
#include "RicNewWellLogCurveExtractionFeature.h"
|
||||
|
||||
#include "RicWellLogPlotCurveFeatureImpl.h"
|
||||
#include "RicNewWellLogPlotFeatureImpl.h"
|
||||
|
||||
#include "RimWellLogPlotTrack.h"
|
||||
#include "RimWellLogExtractionCurve.h"
|
||||
#include "RimWellPath.h"
|
||||
#include "RimWellPathCollection.h"
|
||||
|
||||
#include "RiuMainWindow.h"
|
||||
|
||||
@@ -40,7 +43,7 @@ CAF_CMD_SOURCE_INIT(RicNewWellLogCurveExtractionFeature, "RicNewWellLogCurveExtr
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RicNewWellLogCurveExtractionFeature::isCommandEnabled()
|
||||
{
|
||||
return selectedWellLogPlotTrack() != NULL;
|
||||
return selectedWellLogPlotTrack() != NULL || selectedWellPath() != NULL;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -53,6 +56,17 @@ void RicNewWellLogCurveExtractionFeature::onActionTriggered(bool isChecked)
|
||||
{
|
||||
addCurve(wellLogPlotTrack);
|
||||
}
|
||||
else
|
||||
{
|
||||
RimWellPath* wellPath = selectedWellPath();
|
||||
if (wellPath)
|
||||
{
|
||||
RimWellLogPlotTrack* wellLogPlotTrack = RicNewWellLogPlotFeatureImpl::createWellLogPlotTrack();
|
||||
RimWellLogExtractionCurve* plotCurve = addCurve(wellLogPlotTrack);
|
||||
plotCurve->setWellPath(wellPath);
|
||||
plotCurve->updateConnectedEditors();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -76,13 +90,23 @@ RimWellLogPlotTrack* RicNewWellLogCurveExtractionFeature::selectedWellLogPlotTra
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicNewWellLogCurveExtractionFeature::addCurve(RimWellLogPlotTrack* plotTrack)
|
||||
RimWellPath* RicNewWellLogCurveExtractionFeature::selectedWellPath()
|
||||
{
|
||||
std::vector<RimWellPath*> selection;
|
||||
caf::SelectionManager::instance()->objectsByType(&selection);
|
||||
return selection.size() > 0 ? selection[0] : NULL;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimWellLogExtractionCurve* RicNewWellLogCurveExtractionFeature::addCurve(RimWellLogPlotTrack* plotTrack)
|
||||
{
|
||||
CVF_ASSERT(plotTrack);
|
||||
|
||||
size_t curveIndex = plotTrack->curveCount();
|
||||
|
||||
RimWellLogPlotCurve* curve = new RimWellLogExtractionCurve();
|
||||
RimWellLogExtractionCurve* curve = new RimWellLogExtractionCurve();
|
||||
plotTrack->addCurve(curve);
|
||||
|
||||
cvf::Color3f curveColor = RicWellLogPlotCurveFeatureImpl::curveColorFromIndex(curveIndex);
|
||||
@@ -91,4 +115,6 @@ void RicNewWellLogCurveExtractionFeature::addCurve(RimWellLogPlotTrack* plotTrac
|
||||
plotTrack->updateConnectedEditors();
|
||||
|
||||
RiuMainWindow::instance()->setCurrentObjectInTreeView(curve);
|
||||
|
||||
return curve;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,9 @@
|
||||
|
||||
#include "cafCmdFeature.h"
|
||||
|
||||
class RimWellLogExtractionCurve;
|
||||
class RimWellLogPlotTrack;
|
||||
class RimWellPath;
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
@@ -31,7 +33,7 @@ class RicNewWellLogCurveExtractionFeature : public caf::CmdFeature
|
||||
CAF_CMD_HEADER_INIT;
|
||||
|
||||
public:
|
||||
static void addCurve(RimWellLogPlotTrack* plotTrack);
|
||||
static RimWellLogExtractionCurve* addCurve(RimWellLogPlotTrack* plotTrack);
|
||||
|
||||
|
||||
protected:
|
||||
@@ -41,5 +43,6 @@ protected:
|
||||
virtual void setupActionLook( QAction* actionToSetup );
|
||||
|
||||
private:
|
||||
RimWellLogPlotTrack* selectedWellLogPlotTrack();
|
||||
RimWellLogPlotTrack* selectedWellLogPlotTrack();
|
||||
RimWellPath* selectedWellPath();
|
||||
};
|
||||
|
||||
@@ -94,6 +94,15 @@ RimWellLogExtractionCurve::~RimWellLogExtractionCurve()
|
||||
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimWellLogExtractionCurve::setWellPath(RimWellPath* wellPath)
|
||||
{
|
||||
m_wellPath = wellPath;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -547,4 +556,3 @@ QString RimWellLogExtractionCurve::createCurveName()
|
||||
|
||||
return generatedCurveName;
|
||||
}
|
||||
|
||||
|
||||
@@ -41,6 +41,8 @@ public:
|
||||
virtual ~RimWellLogExtractionCurve();
|
||||
|
||||
virtual void updatePlotData();
|
||||
|
||||
void setWellPath(RimWellPath* wellPath);
|
||||
|
||||
protected:
|
||||
virtual QString createCurveName();
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "RicGeoMechPropertyFilterNewExec.h"
|
||||
#include "RicRangeFilterNewExec.h"
|
||||
#include "Commands/WellLogCommands/RicNewWellLogFileCurveFeature.h"
|
||||
#include "Commands/WellLogCommands/RicNewWellLogCurveExtractionFeature.h"
|
||||
|
||||
#include "RigCaseData.h"
|
||||
#include "RigFemPartCollection.h"
|
||||
@@ -219,6 +220,11 @@ void RiuViewerCommands::displayContextMenu(QMouseEvent* event)
|
||||
CVF_ASSERT(newWellLogFileCurveFeature);
|
||||
|
||||
menu.addAction(newWellLogFileCurveFeature->action());
|
||||
|
||||
RicNewWellLogCurveExtractionFeature* newExtractionCurveFeature = dynamic_cast<RicNewWellLogCurveExtractionFeature*>(caf::CmdFeatureManager::instance()->getCommandFeature("RicNewWellLogCurveExtractionFeature"));
|
||||
CVF_ASSERT(newExtractionCurveFeature);
|
||||
|
||||
menu.addAction(newExtractionCurveFeature->action());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user