#include "HYDROData_Document.h"
#include "HYDROData_Lambert93.h"
#include "HYDROData_OperationsFactory.h"
+#include "HYDROData_Tool.h"
#include <TDataStd_RealArray.hxx>
#include <TDataStd_ByteArray.hxx>
#pragma warning ( default: 4251 )
#endif
-#include <boost/math/special_functions/fpclassify.hpp>
-
-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()
{
}
-QStringList HYDROData_Image::DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const
+QStringList HYDROData_Image::DumpToPython( const QString& thePyScriptPath,
+ MapOfTreatedObjects& theTreatedObjects ) const
{
QStringList aResList = dumpObjectCreation( theTreatedObjects );
QString anImageName = GetObjPyName();
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
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( "" );
}
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" );
}
}
}
{
aResList << QString( "" );
- aResList << QString( "%1.SetOperatorName( \"%2\" );" )
+ aResList << QString( "%1.SetOperatorName( \"%2\" )" )
.arg( anImageName ).arg( anOperatorName );
ImageComposer_Operator* anImageOp =
aResList << anOpArgs;
aResList << QString( "" );
- aResList << QString( "%1.SetArgs( %2 );" )
+ aResList << QString( "%1.SetArgs( %2 )" )
.arg( anImageName ).arg( anOpArgsArrayName );
}
}
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;
}
ClearReferences();
SetOperatorName( "" );
SetArgs( "" );
- SetIsSelfSplitted( false );
+ SetIsSelfSplit( false );
}
bool anIsByTwoPoints = IsByTwoPoints();
// Check the result
if ( !isDoubleOk ||
- boost::math::isnan( aDoubleValue ) ||
- boost::math::isinf( aDoubleValue ) ) {
+ HYDROData_Tool::IsNan( aDoubleValue ) ||
+ HYDROData_Tool::IsInf( aDoubleValue ) ) {
continue;
}
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,