diff --git a/ApplicationCode/Commands/RicNewSimWellFractureAtPosFeature.cpp b/ApplicationCode/Commands/RicNewSimWellFractureAtPosFeature.cpp index 54594d6f85..56d4fe9cc9 100644 --- a/ApplicationCode/Commands/RicNewSimWellFractureAtPosFeature.cpp +++ b/ApplicationCode/Commands/RicNewSimWellFractureAtPosFeature.cpp @@ -28,6 +28,7 @@ #include "RimProject.h" #include "RimSimWellFracture.h" #include "RimSimWellFractureCollection.h" +#include "RimView.h" #include "RiuMainWindow.h" #include "RiuSelectionManager.h" diff --git a/ApplicationCode/ProjectDataModel/RimFracture.cpp b/ApplicationCode/ProjectDataModel/RimFracture.cpp index 03482fa72d..47c5eab00d 100644 --- a/ApplicationCode/ProjectDataModel/RimFracture.cpp +++ b/ApplicationCode/ProjectDataModel/RimFracture.cpp @@ -63,7 +63,7 @@ RimFracture::RimFracture(void) CAF_PDM_InitFieldNoDefault(&m_anchorPosition, "anchorPosition", "Anchor Position", "", "", ""); m_anchorPosition.uiCapability()->setUiHidden(true); - CAF_PDM_InitFieldNoDefault(&m_uiAnchorPosition, "ui_positionAtWellpath", "Fracture Position at Well Path", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_uiAnchorPosition, "ui_positionAtWellpath", "Fracture Position", "", "", ""); m_uiAnchorPosition.registerGetMethod(this, &RimFracture::fracturePositionForUi); m_uiAnchorPosition.uiCapability()->setUiReadOnly(true); CAF_PDM_InitField(&azimuth, "Azimuth", 0.0, "Azimuth", "", "", ""); @@ -169,6 +169,14 @@ void RimFracture::fieldChangedByUi(const caf::PdmFieldHandle* changedField, cons } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +caf::PdmFieldHandle* RimFracture::userDescriptionField() +{ + return &name; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -515,7 +523,7 @@ cvf::Vec3d RimFracture::fracturePositionForUi() const //-------------------------------------------------------------------------------------------------- QString RimFracture::createOneBasedIJK() const { - return QString("I: %1 J: %2 K:%3 ").arg(m_i + 1).arg(m_j + 1).arg(m_k + 1); + return QString("Cell : [%1, %2, %3]").arg(m_i + 1).arg(m_j + 1).arg(m_k + 1); } @@ -557,11 +565,9 @@ void RimFracture::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiO geometryGroup->add(&azimuth); geometryGroup->add(&m_fractureTemplate); - geometryGroup->add(&m_i); - geometryGroup->add(&m_j); - geometryGroup->add(&m_k); - geometryGroup->add(&m_uiAnchorPosition); - + caf::PdmUiGroup* fractureCenterGroup = uiOrdering.addNewGroup("Fracture Center Info"); + fractureCenterGroup->add(&m_uiAnchorPosition); + fractureCenterGroup->add(&m_displayIJK); } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/RimFracture.h b/ApplicationCode/ProjectDataModel/RimFracture.h index 3312a7a7ce..99f070a8c7 100644 --- a/ApplicationCode/ProjectDataModel/RimFracture.h +++ b/ApplicationCode/ProjectDataModel/RimFracture.h @@ -71,10 +71,11 @@ public: const std::vector& nodeCoords() const; - virtual std::vector getPotentiallyFracturedCells(); + std::vector getPotentiallyFracturedCells(); void computeTransmissibility(); virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; + virtual caf::PdmFieldHandle* userDescriptionField() override; protected: virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) override; @@ -94,20 +95,19 @@ private: std::vector fracturePolygon, double & area); -private: +protected: caf::PdmPtrField m_fractureTemplate; - caf::PdmField m_anchorPosition; caf::PdmProxyValueField m_uiAnchorPosition; + caf::PdmProxyValueField m_displayIJK; +private: + caf::PdmField m_anchorPosition; cvf::ref m_rigFracture; bool m_recomputeGeometry; - - caf::PdmProxyValueField m_displayIJK; - - caf::PdmField m_i; - caf::PdmField m_j; - caf::PdmField m_k; + caf::PdmField m_i; // Zero based indexing + caf::PdmField m_j; // Zero based indexing + caf::PdmField m_k; // Zero based indexing cvf::ref m_rivFracture; }; diff --git a/ApplicationCode/ProjectDataModel/RimSimWellFracture.cpp b/ApplicationCode/ProjectDataModel/RimSimWellFracture.cpp index 0e9816618e..bf9251bd72 100644 --- a/ApplicationCode/ProjectDataModel/RimSimWellFracture.cpp +++ b/ApplicationCode/ProjectDataModel/RimSimWellFracture.cpp @@ -18,30 +18,11 @@ #include "RimSimWellFracture.h" -#include "RiaApplication.h" - +#include "RigCell.h" #include "RigMainGrid.h" -#include "RigTesselatorTools.h" -#include "RimEclipseCase.h" -#include "RimEclipseCaseCollection.h" #include "RimEclipseView.h" -#include "RimEllipseFractureTemplate.h" -#include "RimFractureDefinitionCollection.h" -#include "RimOilField.h" #include "RimProject.h" -#include "RimWellPath.h" - -#include "cafPdmFieldHandle.h" -#include "cafPdmObject.h" -#include "cafPdmUiItem.h" -#include "cafDisplayCoordTransform.h" - -#include "cvfVector3.h" - -#include -#include -#include "RigGridBase.h" @@ -63,50 +44,6 @@ RimSimWellFracture::~RimSimWellFracture() { } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -QList RimSimWellFracture::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) -{ - return RimFracture::calculateValueOptions(fieldNeedingOptions, useOptionsOnly); -} - - -// -------------------------------------------------------------------------------------------------- -// / -// -------------------------------------------------------------------------------------------------- -// std::vector> RimSimWellFracture::getFracturedCells() -// { -// std::vector> cells; -// -// size_t gridindex = 0; //TODO! For now assuming only one grid -// -// -// caf::PdmObjectHandle* objHandle = dynamic_cast(this); -// if (!objHandle) return cells; -// -// RimEclipseView* mainView = nullptr; -// objHandle->firstAncestorOrThisOfType(mainView); -// if (!mainView) return cells; -// -// const RigMainGrid* mainGrid = mainView->mainGrid(); -// if (!mainGrid) return cells; -// -// size_t cellIndex = mainGrid->cellIndexFromIJK(m_i - 1, m_j - 1, m_k - 1); // cellIndexFromIJK uses 0-based indexing -// -// cells.push_back(std::make_pair(cellIndex, gridindex)); -// -// return cells; -// } - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -caf::PdmFieldHandle* RimSimWellFracture::userDescriptionField() -{ - return &name; -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -120,29 +57,6 @@ void RimSimWellFracture::setIJK(size_t i, size_t j, size_t k) if (proj) proj->createDisplayModelAndRedrawAllViews(); } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimSimWellFracture::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) -{ - return RimFracture::defineUiOrdering(uiConfigName, uiOrdering); -/* - uiOrdering.add(&name); - - RimFracture::defineUiOrdering(uiConfigName, uiOrdering); - - caf::PdmUiGroup* geometryGroup = uiOrdering.addNewGroup("Fractures"); - geometryGroup->add(&m_fractureTemplate); - - geometryGroup->add(&m_i); - geometryGroup->add(&m_j); - geometryGroup->add(&m_k); - geometryGroup->add(&ui_cellCenterPosition); - - uiOrdering.setForgetRemainingFields(true); -*/ - -} //-------------------------------------------------------------------------------------------------- /// diff --git a/ApplicationCode/ProjectDataModel/RimSimWellFracture.h b/ApplicationCode/ProjectDataModel/RimSimWellFracture.h index ccd30398f2..232b79c7e4 100644 --- a/ApplicationCode/ProjectDataModel/RimSimWellFracture.h +++ b/ApplicationCode/ProjectDataModel/RimSimWellFracture.h @@ -19,19 +19,7 @@ #pragma once #include "RimFracture.h" -#include "RimView.h" -#include "cafAppEnum.h" -#include "cafPdmField.h" -#include "cafPdmObject.h" -#include "cafPdmProxyValueField.h" -#include "cafPdmPtrField.h" - -#include "cvfBase.h" -#include "cvfVector3.h" - - -class RimEllipseFractureTemplate; //================================================================================================== /// @@ -45,14 +33,8 @@ public: RimSimWellFracture(void); virtual ~RimSimWellFracture(void); - virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) override; - virtual caf::PdmFieldHandle* userDescriptionField() override; void setIJK(size_t i, size_t j, size_t k); - -protected: - virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering); - cvf::Vec3d findCellCenterPosition(size_t i, size_t j, size_t k) const; - private: + cvf::Vec3d findCellCenterPosition(size_t i, size_t j, size_t k) const; }; diff --git a/ApplicationCode/ProjectDataModel/RimWellPathFracture.cpp b/ApplicationCode/ProjectDataModel/RimWellPathFracture.cpp index 289124317b..fb7a9ca14c 100644 --- a/ApplicationCode/ProjectDataModel/RimWellPathFracture.cpp +++ b/ApplicationCode/ProjectDataModel/RimWellPathFracture.cpp @@ -18,27 +18,10 @@ #include "RimWellPathFracture.h" -#include "RiaApplication.h" - -#include "RigTesselatorTools.h" - -#include "RimEllipseFractureTemplate.h" -#include "RimFractureDefinitionCollection.h" -#include "RimOilField.h" +#include "RigWellPath.h" #include "RimProject.h" #include "RimWellPath.h" -#include "RivWellPathPartMgr.h" - -#include "cafPdmFieldHandle.h" -#include "cafPdmObject.h" -#include "cafPdmUiItem.h" - -#include "cvfVector3.h" - -#include -#include - CAF_PDM_SOURCE_INIT(RimWellPathFracture, "WellPathFracture"); @@ -50,7 +33,7 @@ RimWellPathFracture::RimWellPathFracture(void) { CAF_PDM_InitObject("Fracture", ":/FractureSymbol16x16.png", "", ""); - CAF_PDM_InitField( &measuredDepth, "MeasuredDepth", 0.0f, "Measured Depth Location (if along well path)", "", "", ""); + CAF_PDM_InitField( &measuredDepth, "MeasuredDepth", 0.0f, "Measured Depth Location", "", "", ""); } //-------------------------------------------------------------------------------------------------- @@ -60,14 +43,6 @@ RimWellPathFracture::~RimWellPathFracture() { } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -QList RimWellPathFracture::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) -{ - return RimFracture::calculateValueOptions(fieldNeedingOptions, useOptionsOnly); -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -97,21 +72,21 @@ void RimWellPathFracture::fieldChangedByUi(const caf::PdmFieldHandle* changedFie } } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -caf::PdmFieldHandle* RimWellPathFracture::userDescriptionField() -{ - return &name; -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimWellPathFracture::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { - RimFracture::defineUiOrdering(uiConfigName, uiOrdering); + uiOrdering.add(&name); uiOrdering.add(&measuredDepth); + + caf::PdmUiGroup* geometryGroup = uiOrdering.addNewGroup("Properties"); + geometryGroup->add(&azimuth); + geometryGroup->add(&m_fractureTemplate); + + caf::PdmUiGroup* fractureCenterGroup = uiOrdering.addNewGroup("Fracture Center Info"); + fractureCenterGroup->add(&m_uiAnchorPosition); + fractureCenterGroup->add(&m_displayIJK); } diff --git a/ApplicationCode/ProjectDataModel/RimWellPathFracture.h b/ApplicationCode/ProjectDataModel/RimWellPathFracture.h index 4058eaaa4c..e2c9c47595 100644 --- a/ApplicationCode/ProjectDataModel/RimWellPathFracture.h +++ b/ApplicationCode/ProjectDataModel/RimWellPathFracture.h @@ -18,22 +18,8 @@ #pragma once -#include "RimView.h" #include "RimFracture.h" -#include "cafAppEnum.h" -#include "cafPdmField.h" -#include "cafPdmObject.h" -#include "cafPdmPtrField.h" - -#include "cvfBase.h" -#include "cvfVector3.h" - -#include "cafPdmProxyValueField.h" - -class RimEllipseFractureTemplate; -class RimWellPath; - //================================================================================================== /// /// @@ -48,11 +34,8 @@ public: caf::PdmField measuredDepth; - virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) override; - virtual caf::PdmFieldHandle* userDescriptionField() override; virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; - protected: virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering); };