#13258 Add support for more surface file type in Import ensemble surface

This commit is contained in:
Kristian Bendiksen authored and Magne Sjaastad committed 2025-12-06 12:55:38 +01:00
1 parent 53bb11b7f3
commit 4f5d7b65a5
7 files changed
+72 -54

No files matched your search

@@ -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 );