diff --git a/ApplicationLibCode/UnitTests/RifThermalFractureReader-Test.cpp b/ApplicationLibCode/UnitTests/RifThermalFractureReader-Test.cpp index a3a4e02226..193fa7fa38 100644 --- a/ApplicationLibCode/UnitTests/RifThermalFractureReader-Test.cpp +++ b/ApplicationLibCode/UnitTests/RifThermalFractureReader-Test.cpp @@ -5,6 +5,9 @@ #include "RifThermalFractureReader.h" #include "RigThermalFractureDefinition.h" +#include +#include + static const QString CASE_REAL_TEST_DATA_DIRECTORY_03 = QString( "%1/RifThermalFractureReader/" ).arg( TEST_DATA_DIR ); //-------------------------------------------------------------------------------------------------- @@ -105,3 +108,50 @@ TEST( RifThermalFractureReaderTest, LoadFileNonExistingFiles ) EXPECT_FALSE( errorMessage.isEmpty() ); EXPECT_FALSE( fractureData.get() ); } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +TEST( DISABLED_RifThermalFractureReaderTest, CreateXyzPointCloud ) +{ + QString fileName = CASE_REAL_TEST_DATA_DIRECTORY_03 + "fracture_OS_metric_units_final.csv"; + + auto [fractureData, errorMessage] = RifThermalFractureReader::readFractureCsvFile( fileName ); + + auto numNodes = fractureData->numNodes(); + auto numTimeSteps = fractureData->numTimeSteps(); + auto properties = fractureData->getPropertyNamesUnits(); + + for ( size_t timeStepIndex = 0; timeStepIndex < numTimeSteps; timeStepIndex++ ) + { + QString exportfileName = QString( CASE_REAL_TEST_DATA_DIRECTORY_03 + "msjtest-%1.xyz" ).arg( timeStepIndex ); + + std::vector xs; + std::vector ys; + std::vector zs; + + for ( int nodeIndex = 0; nodeIndex < static_cast( numNodes ); nodeIndex++ ) + { + xs.push_back( + fractureData->getPropertyValue( 0, static_cast( nodeIndex ), static_cast( timeStepIndex ) ) ); + ys.push_back( + fractureData->getPropertyValue( 1, static_cast( nodeIndex ), static_cast( timeStepIndex ) ) ); + zs.push_back( + fractureData->getPropertyValue( 2, static_cast( nodeIndex ), static_cast( timeStepIndex ) ) ); + } + + QFile file( exportfileName ); + if ( file.open( QIODevice::WriteOnly | QIODevice::Text ) ) + { + QTextStream out( &file ); + + out.setRealNumberPrecision( 16 ); + + for ( size_t i = 0; i < xs.size(); i++ ) + { + out << xs[i] << " " << ys[i] << " " << zs[i] << "\n"; + } + } + file.close(); + } +}