X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Image.cxx;h=74c278b4c3328957c03c1145e96e9a075b9f4791;hb=e35b4caf3341d2cece2b7921f349acd17fb89351;hp=e1787adae7950d3dc951c5ca1a327f5a8a681548;hpb=d3d7ea6412ef12cf3ecdda87c52881fa03accfee;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Image.cxx b/src/HYDROData/HYDROData_Image.cxx index e1787ada..74c278b4 100644 --- a/src/HYDROData/HYDROData_Image.cxx +++ b/src/HYDROData/HYDROData_Image.cxx @@ -21,6 +21,7 @@ #include "HYDROData_Document.h" #include "HYDROData_Lambert93.h" #include "HYDROData_OperationsFactory.h" +#include "HYDROData_Tool.h" #include #include @@ -30,19 +31,24 @@ #include #include +#ifdef WIN32 + #pragma warning ( disable: 4251 ) +#endif + #include #include #include #include -#include +#ifdef WIN32 + #pragma warning ( default: 4251 ) +#endif -static const Standard_GUID GUID_SELF_SPLITTED("997995aa-5c19-40bf-9a60-ab4b70ad04d8"); +static const Standard_GUID GUID_SELF_SPLIT("997995aa-5c19-40bf-9a60-ab4b70ad04d8"); static const Standard_GUID GUID_HAS_LOCAL_POINTS("FD8841AA-FC44-42fa-B6A7-0F682CCC6F27"); static const Standard_GUID GUID_HAS_GLOBAL_POINTS("330D0E81-742D-4ea3-92D4-484877CFA7C1"); -IMPLEMENT_STANDARD_HANDLE(HYDROData_Image, HYDROData_Entity) IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Image, HYDROData_Entity) HYDROData_Image::HYDROData_Image() @@ -54,7 +60,8 @@ HYDROData_Image::~HYDROData_Image() { } -QStringList HYDROData_Image::DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const +QStringList HYDROData_Image::DumpToPython( const QString& thePyScriptPath, + MapOfTreatedObjects& theTreatedObjects ) const { QStringList aResList = dumpObjectCreation( theTreatedObjects ); QString anImageName = GetObjPyName(); @@ -63,8 +70,9 @@ QStringList HYDROData_Image::DumpToPython( MapOfTreatedObjects& theTreatedObject if ( !aFilePath.isEmpty() ) { aResList << QString( "" ); - aResList << QString( "%1.LoadImage( \"%2\" );" ) + aResList << QString( "if not(%1.LoadImage( \"%2\" )):" ) .arg( anImageName ).arg( aFilePath ); + aResList << QString( " raise ValueError('problem while loading image')" ); aResList << QString( "" ); // Dump transformation points for image @@ -83,12 +91,12 @@ QStringList HYDROData_Image::DumpToPython( MapOfTreatedObjects& theTreatedObject if ( !anIsByTwoPoints ) { aResList.last().append( "," ); - aResList << QString( aGap + "QPoint( %1, %2 ) );" ) + aResList << QString( aGap + "QPoint( %1, %2 ) )" ) .arg( aLocalPointC.x() ).arg( aLocalPointC.y() ); } else { - aResList.last().append( " );" ); + aResList.last().append( " )" ); } aResList << QString( "" ); } @@ -102,24 +110,24 @@ QStringList HYDROData_Image::DumpToPython( MapOfTreatedObjects& theTreatedObject aResList << QString( "%1.SetGlobalPoints( %2," ) .arg( anImageName ).arg( aTransformationMode ); aResList << QString( aGap + "QPointF( %1, %2 )," ) - .arg( aTrsfPointA.x() ).arg( aTrsfPointA.y() ); + .arg( aTrsfPointA.x(), 0, 'f', 3 ).arg( aTrsfPointA.y(), 0, 'f', 3 ); aResList << QString( aGap + "QPointF( %1, %2 )" ) - .arg( aTrsfPointB.x() ).arg( aTrsfPointB.y() ); + .arg( aTrsfPointB.x(), 0, 'f', 3 ).arg( aTrsfPointB.y(), 0, 'f', 3 ); if ( !anIsByTwoPoints ) { aResList.last().append( "," ); - aResList << QString( aGap + "QPointF( %1, %2 ) );" ) - .arg( aTrsfPointC.x() ).arg( aTrsfPointC.y() ); + aResList << QString( aGap + "QPointF( %1, %2 ) )" ) + .arg( aTrsfPointC.x(), 0, 'f', 3 ).arg( aTrsfPointC.y(), 0, 'f', 3 ); } else { - aResList.last().append( " );" ); + aResList.last().append( " )" ); } if ( aTransformationMode == ReferenceImage ) { Handle(HYDROData_Image) aRefImg = GetTrsfReferenceImage(); - setPythonReferenceObject( theTreatedObjects, aResList, aRefImg, "SetTrsfReferenceImage" ); + setPythonReferenceObject( thePyScriptPath, theTreatedObjects, aResList, aRefImg, "SetTrsfReferenceImage" ); } } } @@ -132,7 +140,7 @@ QStringList HYDROData_Image::DumpToPython( MapOfTreatedObjects& theTreatedObject { aResList << QString( "" ); - aResList << QString( "%1.SetOperatorName( \"%2\" );" ) + aResList << QString( "%1.SetOperatorName( \"%2\" )" ) .arg( anImageName ).arg( anOperatorName ); ImageComposer_Operator* anImageOp = @@ -148,7 +156,7 @@ QStringList HYDROData_Image::DumpToPython( MapOfTreatedObjects& theTreatedObject aResList << anOpArgs; aResList << QString( "" ); - aResList << QString( "%1.SetArgs( %2 );" ) + aResList << QString( "%1.SetArgs( %2 )" ) .arg( anImageName ).arg( anOpArgsArrayName ); } } @@ -162,13 +170,13 @@ QStringList HYDROData_Image::DumpToPython( MapOfTreatedObjects& theTreatedObject for ( int i = 0; i < aNbReferences; ++i ) { Handle(HYDROData_Image) aRefImg = Handle(HYDROData_Image)::DownCast( Reference( i ) ); - setPythonReferenceObject( theTreatedObjects, aResList, aRefImg, "AppendReference" ); + setPythonReferenceObject( thePyScriptPath, theTreatedObjects, aResList, aRefImg, "AppendReference" ); } } } aResList << QString( "" ); - aResList << QString( "%1.Update();" ).arg( anImageName ); + aResList << QString( "%1.Update()" ).arg( anImageName ); return aResList; } @@ -499,7 +507,7 @@ void HYDROData_Image::RemoveAllReferences() ClearReferences(); SetOperatorName( "" ); SetArgs( "" ); - SetIsSelfSplitted( false ); + SetIsSelfSplit( false ); } bool anIsByTwoPoints = IsByTwoPoints(); @@ -663,8 +671,8 @@ bool HYDROData_Image::SetGlobalPointsFromFile( const QString& theFileName ) // Check the result if ( !isDoubleOk || - boost::math::isnan( aDoubleValue ) || - boost::math::isinf( aDoubleValue ) ) { + HYDROData_Tool::IsNan( aDoubleValue ) || + HYDROData_Tool::IsInf( aDoubleValue ) ) { continue; } @@ -866,19 +874,19 @@ QByteArray HYDROData_Image::Args() const return QByteArray(aData, aLen); } -void HYDROData_Image::SetIsSelfSplitted(bool theFlag) +void HYDROData_Image::SetIsSelfSplit(bool theFlag) { if (theFlag) { - TDataStd_UAttribute::Set(myLab, GUID_SELF_SPLITTED); + TDataStd_UAttribute::Set(myLab, GUID_SELF_SPLIT); } else { - myLab.ForgetAttribute(GUID_SELF_SPLITTED); + myLab.ForgetAttribute(GUID_SELF_SPLIT); } Changed( Geom_2d ); } -bool HYDROData_Image::IsSelfSplitted() const +bool HYDROData_Image::IsSelfSplit() const { - return myLab.IsAttribute(GUID_SELF_SPLITTED); + return myLab.IsAttribute(GUID_SELF_SPLIT); } QPointF HYDROData_Image::generateThirdPoint( const QPointF& thePointA,