Add surface import from VTU files

Parse VTU files. If element results are detected, duplicate nodes and assign result values to nodes for display.
This commit is contained in:
Magne Sjaastad
2025-01-17 14:45:42 +01:00
parent dcf18f7812
commit 012929cd1d
8 changed files with 271 additions and 5 deletions

View File

@@ -20,11 +20,13 @@
#include "RiaPreferences.h"
#include "RimSurfaceCollection.h"
#include "RifSurfaceImporter.h"
#include "RifVtkSurfaceImporter.h"
#include "RigGocadData.h"
#include "RigSurface.h"
#include "RimSurfaceCollection.h"
#include "cafPdmFieldScriptingCapability.h"
#include "cafPdmObjectScriptingCapability.h"
@@ -177,6 +179,13 @@ bool RimFileSurface::loadDataFromFile()
surface = m_gocadData->gocadGeometry();
}
else if ( filePath.endsWith( "vtu", Qt::CaseInsensitive ) )
{
m_gocadData = std::make_unique<RigGocadData>();
RifVtkSurfaceImporter::importFromFile( filePath.toStdString(), m_gocadData.get() );
surface = m_gocadData->gocadGeometry();
}
else if ( filePath.endsWith( "dat", Qt::CaseInsensitive ) || filePath.endsWith( "xyz", Qt::CaseInsensitive ) )
{
double resamplingDistance = RiaPreferences::current()->surfaceImportResamplingDistance();