mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3268 MSW Fracture Export : Add activeFishbonesSubs
This commit is contained in:
@@ -87,7 +87,7 @@ void RicfExportMsw::execute()
|
||||
|
||||
std::vector<RimFishbonesMultipleSubs*> fishbonesSubs;
|
||||
|
||||
for (RimFishbonesMultipleSubs* fishbones : wellPath->fishbonesCollection()->fishbonesSubs())
|
||||
for (RimFishbonesMultipleSubs* fishbones : wellPath->fishbonesCollection()->activeFishbonesSubs())
|
||||
{
|
||||
fishbonesSubs.push_back(fishbones);
|
||||
}
|
||||
|
||||
@@ -78,10 +78,8 @@ void RicExportFishbonesLateralsFeature::onActionTriggered(bool isChecked)
|
||||
// separate laterals using -999 on a single line
|
||||
|
||||
QTextStream stream(&exportFile);
|
||||
for (RimFishbonesMultipleSubs* fishbone : fishbonesCollection->fishbonesSubs())
|
||||
for (RimFishbonesMultipleSubs* fishbone : fishbonesCollection->activeFishbonesSubs())
|
||||
{
|
||||
if (!fishbone->isActive()) continue;
|
||||
|
||||
const QString fishboneName = fishbone->generatedName();
|
||||
|
||||
for (auto& sub : fishbone->installedLateralIndices())
|
||||
|
||||
@@ -89,13 +89,10 @@ void RicExportFishbonesWellSegmentsFeature::onActionTriggered(bool isChecked)
|
||||
{
|
||||
RiaApplication::instance()->setLastUsedDialogDirectory("COMPLETIONS", QFileInfo(exportSettings.folder).absolutePath());
|
||||
|
||||
std::vector<RimFishbonesMultipleSubs*> fishbonesSubs;
|
||||
for (RimFishbonesMultipleSubs* subs : fishbonesCollection->fishbonesSubs())
|
||||
if (!fishbonesCollection->activeFishbonesSubs().empty())
|
||||
{
|
||||
fishbonesSubs.push_back(subs);
|
||||
exportWellSegments(wellPath, fishbonesCollection->activeFishbonesSubs(), exportSettings);
|
||||
}
|
||||
|
||||
exportWellSegments(wellPath, fishbonesSubs, exportSettings);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -168,8 +168,8 @@ void RicFishbonesTransmissibilityCalculationFeatureImp::findFishboneLateralsWell
|
||||
if (!wellPath) return;
|
||||
|
||||
// Generate data
|
||||
const RigEclipseCaseData* caseData = settings.caseToApply()->eclipseCaseData();
|
||||
RicMswExportInfo exportInfo =
|
||||
const RigEclipseCaseData* caseData = settings.caseToApply()->eclipseCaseData();
|
||||
RicMswExportInfo exportInfo =
|
||||
RicWellPathExportCompletionDataFeatureImpl::generateFishbonesMswExportInfo(settings.caseToApply(), wellPath);
|
||||
|
||||
RiaEclipseUnitTools::UnitSystem unitSystem = caseData->unitsType();
|
||||
@@ -209,18 +209,15 @@ void RicFishbonesTransmissibilityCalculationFeatureImp::findFishboneLateralsWell
|
||||
double holeRadius = wellPath->fishbonesCollection()->mainBoreDiameter(unitSystem) / 2.0;
|
||||
double skinFactor = wellPath->fishbonesCollection()->mainBoreSkinFactor();
|
||||
|
||||
for (const auto& fishboneDefinition : wellPath->fishbonesCollection()->fishbonesSubs())
|
||||
for (const auto& fishboneDefinition : wellPath->fishbonesCollection()->activeFishbonesSubs())
|
||||
{
|
||||
if (fishboneDefinition->isActive())
|
||||
{
|
||||
appendMainWellBoreParts(wellBorePartsInCells,
|
||||
wellPath,
|
||||
settings,
|
||||
skinFactor,
|
||||
holeRadius,
|
||||
fishboneDefinition->startOfSubMD(),
|
||||
fishboneDefinition->endOfSubMD());
|
||||
}
|
||||
appendMainWellBoreParts(wellBorePartsInCells,
|
||||
wellPath,
|
||||
settings,
|
||||
skinFactor,
|
||||
holeRadius,
|
||||
fishboneDefinition->startOfSubMD(),
|
||||
fishboneDefinition->endOfSubMD());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -384,7 +384,7 @@ void RicWellPathExportCompletionDataFeatureImpl::exportCompletions(const std::ve
|
||||
|
||||
for (const auto wellPath : wellPaths)
|
||||
{
|
||||
auto fishbones = wellPath->fishbonesCollection()->fishbonesSubs();
|
||||
auto fishbones = wellPath->fishbonesCollection()->activeFishbonesSubs();
|
||||
exportWellSegments(exportSettings.caseToApply,
|
||||
exportFile,
|
||||
wellPath, fishbones);
|
||||
@@ -1561,18 +1561,7 @@ std::vector<RigCompletionData> RicWellPathExportCompletionDataFeatureImpl::gener
|
||||
RicMswExportInfo RicWellPathExportCompletionDataFeatureImpl::generateFishbonesMswExportInfo(const RimEclipseCase* caseToApply,
|
||||
const RimWellPath* wellPath)
|
||||
{
|
||||
std::vector<RimFishbonesMultipleSubs*> fishbonesSubs;
|
||||
|
||||
if (wellPath->fishbonesCollection()->isChecked())
|
||||
{
|
||||
for (RimFishbonesMultipleSubs* subs : wellPath->fishbonesCollection()->fishbonesSubs())
|
||||
{
|
||||
if (subs->isActive())
|
||||
{
|
||||
fishbonesSubs.push_back(subs);
|
||||
}
|
||||
}
|
||||
}
|
||||
std::vector<RimFishbonesMultipleSubs*> fishbonesSubs = wellPath->fishbonesCollection()->activeFishbonesSubs();
|
||||
|
||||
return generateFishbonesMswExportInfo(caseToApply, wellPath, fishbonesSubs);
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ void RivWellPathPartMgr::appendFishboneSubsPartsToModel(cvf::ModelBasicList* mod
|
||||
{
|
||||
if ( !m_rimWellPath || !m_rimWellPath->fishbonesCollection()->isChecked() ) return;
|
||||
|
||||
for (const auto& rimFishboneSubs : m_rimWellPath->fishbonesCollection()->fishbonesSubs() )
|
||||
for (const auto& rimFishboneSubs : m_rimWellPath->fishbonesCollection()->activeFishbonesSubs() )
|
||||
{
|
||||
cvf::ref<RivFishbonesSubsPartMgr> fishbSubPartMgr = new RivFishbonesSubsPartMgr(rimFishboneSubs);
|
||||
fishbSubPartMgr->appendGeometryPartsToModel(model, displayCoordTransform, characteristicCellSize);
|
||||
|
||||
@@ -180,6 +180,27 @@ const RimMswCompletionParameters* RimFishbonesCollection::mswParameters() const
|
||||
return m_mswParameters;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<RimFishbonesMultipleSubs*> RimFishbonesCollection::activeFishbonesSubs() const
|
||||
{
|
||||
std::vector<RimFishbonesMultipleSubs*> active;
|
||||
|
||||
if (isChecked())
|
||||
{
|
||||
for (const auto& f : fishbonesSubs())
|
||||
{
|
||||
if (f->isActive())
|
||||
{
|
||||
active.push_back(f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return active;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -42,15 +42,15 @@ class RimFishbonesCollection : public RimCheckableNamedObject
|
||||
CAF_PDM_HEADER_INIT;
|
||||
|
||||
public:
|
||||
|
||||
|
||||
RimFishbonesCollection();
|
||||
|
||||
RimFishboneWellPathCollection* wellPathCollection() const;
|
||||
void appendFishbonesSubs(RimFishbonesMultipleSubs* subs);
|
||||
const RimMswCompletionParameters* mswParameters() const;
|
||||
|
||||
std::vector<RimFishbonesMultipleSubs*> activeFishbonesSubs() const;
|
||||
std::vector<RimFishbonesMultipleSubs*> fishbonesSubs() const;
|
||||
|
||||
void recalculateStartMD();
|
||||
double startMD() const;
|
||||
double mainBoreSkinFactor() const { return m_skinFactor; }
|
||||
@@ -58,9 +58,9 @@ public:
|
||||
void setUnitSystemSpecificDefaults();
|
||||
|
||||
protected:
|
||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
|
||||
virtual void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering );
|
||||
virtual void initAfterRead() override;
|
||||
void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
|
||||
void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
||||
void initAfterRead() override;
|
||||
|
||||
private:
|
||||
cvf::Color3f nextFishbonesColor() const;
|
||||
|
||||
Reference in New Issue
Block a user