diff --git a/ApplicationCode/Commands/RicExportToLasFileResampleUi.cpp b/ApplicationCode/Commands/RicExportToLasFileResampleUi.cpp index aa66ef9803..c99428ea21 100644 --- a/ApplicationCode/Commands/RicExportToLasFileResampleUi.cpp +++ b/ApplicationCode/Commands/RicExportToLasFileResampleUi.cpp @@ -30,7 +30,7 @@ RicExportToLasFileObj::RicExportToLasFileObj(void) { CAF_PDM_InitObject("RicExportToLasFileObj", "", "", ""); - CAF_PDM_InitField(&tvdrkbOffset, "tvdrkbOffset", 0.0, "TVDRKB offset (RKB - MSL) [m]", "", "", ""); + CAF_PDM_InitField(&tvdrkbOffset, "tvdrkbOffset", QString(""), "TVDRKB offset (RKB - MSL) [m]", "", "", ""); } CAF_PDM_SOURCE_INIT(RicExportToLasFileResampleUi, "RicExportToLasFileResampleUi"); @@ -73,7 +73,12 @@ void RicExportToLasFileResampleUi::tvdrkbDiffForWellPaths(std::vector* r { for (size_t i = 0; i < m_tvdrkbOffsets.size(); i++) { - rkbDiffs->push_back(m_tvdrkbOffsets()[i]->tvdrkbOffset); + double value = HUGE_VAL; + if (!m_tvdrkbOffsets()[i]->tvdrkbOffset().isEmpty()) + { + value = m_tvdrkbOffsets()[i]->tvdrkbOffset().toDouble(); + } + rkbDiffs->push_back(value); } } @@ -85,11 +90,16 @@ void RicExportToLasFileResampleUi::setRkbDiffs(const std::vector& wellN for (size_t i = 0; i < wellNames.size(); i++) { RicExportToLasFileObj* obj = new RicExportToLasFileObj; - obj->tvdrkbOffset = rkbDiffs[i]; + if (rkbDiffs[i] != HUGE_VAL) + { + obj->tvdrkbOffset = QString::number(rkbDiffs[i]); + } obj->tvdrkbOffset.uiCapability()->setUiName(wellNames[i]); m_tvdrkbOffsets.push_back(obj); } + + updateFieldVisibility(); } //-------------------------------------------------------------------------------------------------- @@ -138,6 +148,10 @@ void RicExportToLasFileResampleUi::updateFieldVisibility() resampleInterval.uiCapability()->setUiReadOnly(true); } + for (RicExportToLasFileObj* obj : m_tvdrkbOffsets) + { + obj->tvdrkbOffset.uiCapability()->setUiReadOnly(!exportTvdrkb); + } } //-------------------------------------------------------------------------------------------------- @@ -158,7 +172,7 @@ void RicExportToLasFileResampleUi::defineUiOrdering(QString uiConfigName, caf::P caf::PdmUiGroup* tvdrkbGroup = uiOrdering.addNewGroup("TVDRKB"); tvdrkbGroup->add(&exportTvdrkb); - caf::PdmUiGroup* group = tvdrkbGroup->addNewGroup("Difference between TVDRKB and TVDMSL"); + caf::PdmUiGroup* group = tvdrkbGroup->addNewGroup("Difference between TVDRKB and TVDMSL, clear diff for no export"); for (auto& obj : m_tvdrkbOffsets) { group->add(&obj->tvdrkbOffset); diff --git a/ApplicationCode/Commands/RicExportToLasFileResampleUi.h b/ApplicationCode/Commands/RicExportToLasFileResampleUi.h index 3954435143..d9b264a93b 100644 --- a/ApplicationCode/Commands/RicExportToLasFileResampleUi.h +++ b/ApplicationCode/Commands/RicExportToLasFileResampleUi.h @@ -33,7 +33,7 @@ class RicExportToLasFileObj : public caf::PdmObject public: RicExportToLasFileObj(void); - caf::PdmField tvdrkbOffset; + caf::PdmField tvdrkbOffset; }; diff --git a/ApplicationCode/ReservoirDataModel/RigLasFileExporter.cpp b/ApplicationCode/ReservoirDataModel/RigLasFileExporter.cpp index 860056de89..d304e09aa5 100644 --- a/ApplicationCode/ReservoirDataModel/RigLasFileExporter.cpp +++ b/ApplicationCode/ReservoirDataModel/RigLasFileExporter.cpp @@ -557,7 +557,7 @@ double RigLasFileExporter::rkbDiff(RimWellLogCurve* curve) return extractionCurve->rkbDiff(); } - return -1.0; + return HUGE_VAL; } //-------------------------------------------------------------------------------------------------- @@ -569,8 +569,11 @@ void RigLasFileExporter::applyUserDefinedRkbOffsets(std::vectorat(i).setRkbDiff(m_userDefinedRkbOffsets[i]); - lasFileDescriptions->at(i).enableTvdrkbExport(); + if (m_userDefinedRkbOffsets[i] != HUGE_VAL) + { + lasFileDescriptions->at(i).setRkbDiff(m_userDefinedRkbOffsets[i]); + lasFileDescriptions->at(i).enableTvdrkbExport(); + } } } }