mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
(#435) Fixed reading well path files for existing well logs with the same well name
This commit is contained in:
parent
7efd3daa8b
commit
a6cb14244d
@ -148,6 +148,8 @@ void RimWellPathCollection::readWellPathFiles()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimWellPathCollection::addWellPaths( QStringList filePaths )
|
void RimWellPathCollection::addWellPaths( QStringList filePaths )
|
||||||
{
|
{
|
||||||
|
std::vector<RimWellPath*> wellPathArray;
|
||||||
|
|
||||||
foreach (QString filePath, filePaths)
|
foreach (QString filePath, filePaths)
|
||||||
{
|
{
|
||||||
// Check if this file is already open
|
// Check if this file is already open
|
||||||
@ -178,7 +180,7 @@ void RimWellPathCollection::addWellPaths( QStringList filePaths )
|
|||||||
wellPath->setProject(m_project);
|
wellPath->setProject(m_project);
|
||||||
wellPath->setCollection(this);
|
wellPath->setCollection(this);
|
||||||
wellPath->filepath = filePath;
|
wellPath->filepath = filePath;
|
||||||
wellPaths.push_back(wellPath);
|
wellPathArray.push_back(wellPath);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -191,15 +193,50 @@ void RimWellPathCollection::addWellPaths( QStringList filePaths )
|
|||||||
wellPath->setCollection(this);
|
wellPath->setCollection(this);
|
||||||
wellPath->filepath = filePath;
|
wellPath->filepath = filePath;
|
||||||
wellPath->wellPathIndexInFile = static_cast<int>(i);
|
wellPath->wellPathIndexInFile = static_cast<int>(i);
|
||||||
wellPaths.push_back(wellPath);
|
wellPathArray.push_back(wellPath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
readWellPathFiles();
|
readAndAddWellPaths(wellPathArray);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimWellPathCollection::readAndAddWellPaths(std::vector<RimWellPath*>& wellPathArray)
|
||||||
|
{
|
||||||
|
caf::ProgressInfo progress(wellPathArray.size(), "Reading well paths from file");
|
||||||
|
|
||||||
|
for (size_t wpIdx = 0; wpIdx < wellPathArray.size(); wpIdx++)
|
||||||
|
{
|
||||||
|
RimWellPath* wellPath = wellPathArray[wpIdx];
|
||||||
|
wellPath->readWellPathFile();
|
||||||
|
|
||||||
|
progress.setProgressDescription(QString("Reading file %1").arg(wellPath->name));
|
||||||
|
|
||||||
|
// If a well path with this name exists already, make it read the well path file
|
||||||
|
RimWellPath* existingWellPath = wellPathByName(wellPath->name);
|
||||||
|
if (existingWellPath)
|
||||||
|
{
|
||||||
|
existingWellPath->filepath = wellPath->filepath;
|
||||||
|
existingWellPath->wellPathIndexInFile = wellPath->wellPathIndexInFile;
|
||||||
|
existingWellPath->readWellPathFile();
|
||||||
|
|
||||||
|
delete wellPath;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
wellPaths.push_back(wellPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
progress.incrementProgress();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -94,6 +94,8 @@ private:
|
|||||||
virtual void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering );
|
virtual void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering );
|
||||||
virtual caf::PdmFieldHandle* objectToggleField();
|
virtual caf::PdmFieldHandle* objectToggleField();
|
||||||
|
|
||||||
|
void readAndAddWellPaths(std::vector<RimWellPath*>& wellPathArray);
|
||||||
|
|
||||||
caf::PdmPointer<RimProject> m_project;
|
caf::PdmPointer<RimProject> m_project;
|
||||||
cvf::ref<RivWellPathCollectionPartMgr> m_wellPathCollectionPartManager;
|
cvf::ref<RivWellPathCollectionPartMgr> m_wellPathCollectionPartManager;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user