From 32d5bead4823570c46751ca0cfd5428e3d86db40 Mon Sep 17 00:00:00 2001 From: adv Date: Mon, 9 Sep 2013 07:55:21 +0000 Subject: [PATCH] Dump Bathymetry data to python script (Feature #13). --- src/HYDROData/HYDROData_Bathymetry.cxx | 30 ++++++++++++++++++++++++++ src/HYDROData/HYDROData_Bathymetry.h | 5 +++++ 2 files changed, 35 insertions(+) diff --git a/src/HYDROData/HYDROData_Bathymetry.cxx b/src/HYDROData/HYDROData_Bathymetry.cxx index 14e6a24a..9b9265d0 100644 --- a/src/HYDROData/HYDROData_Bathymetry.cxx +++ b/src/HYDROData/HYDROData_Bathymetry.cxx @@ -1,5 +1,6 @@ #include "HYDROData_Bathymetry.h" +#include "HYDROData_Document.h" #include "HYDROData_Tool.h" #include @@ -15,6 +16,7 @@ #include #define INVALID_ALTITUDE_VALUE -9999.0 +#define PYTHON_BATHYMETRY_ID "4" IMPLEMENT_STANDARD_HANDLE(HYDROData_Bathymetry, HYDROData_Object) @@ -28,6 +30,34 @@ HYDROData_Bathymetry::~HYDROData_Bathymetry() { } +QStringList HYDROData_Bathymetry::DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const +{ + QStringList aResList; + + Handle(HYDROData_Document) aDocument = HYDROData_Document::Document( this ); + if ( aDocument.IsNull() ) + return aResList; + + QString aDocName = aDocument->GetDocPyName(); + QString aBathymetryName = GetName(); + + aResList << QString( "%1 = %2.CreateObject( %3 );" ) + .arg( aBathymetryName ).arg( aDocName ).arg( PYTHON_BATHYMETRY_ID ); + + QString aFilePath = GetFilePath(); + if ( !aFilePath.isEmpty() ) + { + aResList << QString( "%1.ImportFromFile( \"%2\" );" ) + .arg( aBathymetryName ).arg( aFilePath ); + } + else + { + // TODO : bathymetry is composed from other bathymetry(ies) + } + + return aResList; +} + double HYDROData_Bathymetry::GetInvalidAltitude() { return INVALID_ALTITUDE_VALUE; diff --git a/src/HYDROData/HYDROData_Bathymetry.h b/src/HYDROData/HYDROData_Bathymetry.h index 3b74f469..68d08aac 100644 --- a/src/HYDROData/HYDROData_Bathymetry.h +++ b/src/HYDROData/HYDROData_Bathymetry.h @@ -46,6 +46,11 @@ public: HYDRODATA_EXPORT virtual const ObjectKind GetKind() const { return KIND_BATHYMETRY; } + /** + * Dump Bathymetry object to Python script representation. + */ + HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const; + public: // Public methods to work with Bathymetry altitudes. -- 2.39.2