#3784 Completion Export : Split on well name instead of well name for export

This commit is contained in:
Magne Sjaastad 2018-12-03 10:31:56 +01:00
parent 52b02a6056
commit bbadf3918e

View File

@ -330,7 +330,13 @@ void RicWellPathExportCompletionDataFeatureImpl::exportCompletions(const std::ve
std::vector<RigCompletionData> completionsForWell; std::vector<RigCompletionData> completionsForWell;
for (const auto& completion : completions) for (const auto& completion : completions)
{ {
if (completion.wellName() == wellPath->completions()->wellNameForExport()) RimWellPath* parentWellPath = nullptr;
if (completion.sourcePdmObject())
{
completion.sourcePdmObject()->firstAncestorOrThisOfType(parentWellPath);
}
if (parentWellPath == wellPath)
{ {
completionsForWell.push_back(completion); completionsForWell.push_back(completion);
} }
@ -371,10 +377,18 @@ void RicWellPathExportCompletionDataFeatureImpl::exportCompletions(const std::ve
std::vector<RigCompletionData> completionsForWell; std::vector<RigCompletionData> completionsForWell;
for (const auto& completion : completions) for (const auto& completion : completions)
{ {
if (completion.wellName() == wellPath->completions()->wellNameForExport() && RimWellPath* parentWellPath = nullptr;
completionType == completion.completionType()) if (completion.sourcePdmObject())
{ {
completionsForWell.push_back(completion); completion.sourcePdmObject()->firstAncestorOrThisOfType(parentWellPath);
}
if (parentWellPath == wellPath)
{
if (completionType == completion.completionType())
{
completionsForWell.push_back(completion);
}
} }
} }
@ -1029,6 +1043,11 @@ RigCompletionData
{ {
CVF_ASSERT(!completions.empty()); CVF_ASSERT(!completions.empty());
if (completions.size() == 1)
{
return completions[0];
}
const RigCompletionData& firstCompletion = completions[0]; const RigCompletionData& firstCompletion = completions[0];
const QString& wellName = firstCompletion.wellName(); const QString& wellName = firstCompletion.wellName();
@ -1037,6 +1056,7 @@ RigCompletionData
RigCompletionData resultCompletion(wellName, cellIndexIJK, firstCompletion.firstOrderingValue()); RigCompletionData resultCompletion(wellName, cellIndexIJK, firstCompletion.firstOrderingValue());
resultCompletion.setSecondOrderingValue(firstCompletion.secondOrderingValue()); resultCompletion.setSecondOrderingValue(firstCompletion.secondOrderingValue());
resultCompletion.setSourcePdmObject(firstCompletion.sourcePdmObject());
bool anyNonDarcyFlowPresent = false; bool anyNonDarcyFlowPresent = false;
for (const auto& c : completions) for (const auto& c : completions)