mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-30 17:10:19 -05:00
#13258 Add support for more surface file type in Import ensemble surface
This commit is contained in:
1 parent
53bb11b7f3
commit
4f5d7b65a5
7 files changed
+72
-54
No files matched your search
@@ -67,6 +67,14 @@ RimEnsembleSurface::RimEnsembleSurface()
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEnsembleSurface::addFileSurface( RimFileSurface* fileSurface )
|
||||
{
|
||||
addSurface( fileSurface );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEnsembleSurface::addSurface( RimSurface* surface )
|
||||
{
|
||||
if ( !sourceFileSurfaceCollection() )
|
||||
{
|
||||
@@ -75,7 +83,7 @@ void RimEnsembleSurface::addFileSurface( RimFileSurface* fileSurface )
|
||||
addSubCollection( coll );
|
||||
}
|
||||
|
||||
sourceFileSurfaceCollection()->addSurface( fileSurface );
|
||||
sourceFileSurfaceCollection()->addSurface( surface );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -45,6 +45,7 @@ public:
|
||||
RimEnsembleSurface();
|
||||
|
||||
void addFileSurface( RimFileSurface* fileSurface );
|
||||
void addSurface( RimSurface* surface );
|
||||
void loadDataAndUpdate();
|
||||
const RigSurface* statisticsSurface() const;
|
||||
|
||||
|
||||
@@ -132,6 +132,37 @@ std::vector<RimEnsembleSurface*> RimSurfaceCollection::ensembleSurfaces() const
|
||||
return descendantsIncludingThisOfType<RimEnsembleSurface>();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimSurface* RimSurfaceCollection::createSurfaceFromFile( const QString& fileName )
|
||||
{
|
||||
RimSurface* newSurface = nullptr;
|
||||
|
||||
auto extension = QFileInfo( fileName ).suffix().toLower();
|
||||
|
||||
if ( extension == "pvd" )
|
||||
{
|
||||
RimFractureSurface* fractureSurface = new RimFractureSurface;
|
||||
fractureSurface->setSurfaceFilePath( fileName );
|
||||
newSurface = fractureSurface;
|
||||
}
|
||||
else if ( extension == "irap" || extension == "gri" )
|
||||
{
|
||||
auto regularFileSurface = new RimRegularFileSurface;
|
||||
regularFileSurface->setFilePath( fileName );
|
||||
newSurface = regularFileSurface;
|
||||
}
|
||||
else
|
||||
{
|
||||
RimFileSurface* fileSurface = new RimFileSurface;
|
||||
fileSurface->setSurfaceFilePath( fileName );
|
||||
newSurface = fileSurface;
|
||||
}
|
||||
|
||||
return newSurface;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -145,31 +176,7 @@ RimSurface* RimSurfaceCollection::importSurfacesFromFiles( const QStringList& fi
|
||||
|
||||
for ( const QString& newFileName : fileNames )
|
||||
{
|
||||
RimSurface* newSurface = nullptr;
|
||||
|
||||
auto extension = QFileInfo( newFileName ).suffix().toLower();
|
||||
|
||||
if ( extension == "pvd" )
|
||||
{
|
||||
RimFractureSurface* fractureSurface = new RimFractureSurface;
|
||||
fractureSurface->setSurfaceFilePath( newFileName );
|
||||
|
||||
newSurface = fractureSurface;
|
||||
}
|
||||
else if ( extension == "irap" || extension == "gri" )
|
||||
{
|
||||
auto regularFileSurface = new RimRegularFileSurface;
|
||||
regularFileSurface->setFilePath( newFileName );
|
||||
|
||||
newSurface = regularFileSurface;
|
||||
}
|
||||
else
|
||||
{
|
||||
RimFileSurface* fileSurface = new RimFileSurface;
|
||||
|
||||
fileSurface->setSurfaceFilePath( newFileName );
|
||||
newSurface = fileSurface;
|
||||
}
|
||||
RimSurface* newSurface = createSurfaceFromFile( newFileName );
|
||||
|
||||
auto newColor = RiaColorTables::categoryPaletteColors().cycledColor3f( existingSurfCount + newSurfCount );
|
||||
newSurface->setColor( newColor );
|
||||
|
||||
@@ -45,6 +45,8 @@ public:
|
||||
RimSurface* copySurfaces( std::vector<RimSurface*> surfaces );
|
||||
RimSurface* addSurfacesAtIndex( int index, std::vector<RimSurface*> surfaces );
|
||||
|
||||
static RimSurface* createSurfaceFromFile( const QString& fileName );
|
||||
|
||||
void addSubCollection( RimSurfaceCollection* collection );
|
||||
RimSurfaceCollection* getSubCollection( const QString& name ) const;
|
||||
void deleteSubCollection( const QString& name );
|
||||
|
||||
Reference in new issue
Block a user