]> SALOME platform Git repositories - modules/hydro.git/commitdiff
Salome HOME
Changes for dumping image object to python script.
authoradv <adv@opencascade.com>
Fri, 13 Sep 2013 11:10:15 +0000 (11:10 +0000)
committeradv <adv@opencascade.com>
Fri, 13 Sep 2013 11:10:15 +0000 (11:10 +0000)
src/HYDROData/HYDROData_Image.cxx
src/HYDROData/HYDROData_Image.h
src/HYDROData/HYDROData_Object.cxx
src/HYDROData/HYDROData_Object.h
src/HYDROPy/HYDROData_Object.sip

index 49b9f1fbecd143db7947bcd63ac116efa0364676..5fe12bb06bb5eed219a510286f0fbee89d20b804 100644 (file)
@@ -57,6 +57,50 @@ QStringList HYDROData_Image::DumpToPython( MapOfTreatedObjects& theTreatedObject
     aResList << QString( "" );
     aResList << QString( "%1.LoadImage( \"%2\" );" )
                 .arg( anImageName ).arg( aFilePath );
+
+    // Dump transformation matrix for image
+    aResList << QString( "" );
+
+    QTransform aTrsf = Trsf();
+
+    aResList << QString( "trsf = QTransform( %1, %2, %3," )
+                .arg( aTrsf.m11() ).arg( aTrsf.m12() ).arg( aTrsf.m13() );
+    aResList << QString( "                   %1, %2, %3," )
+                .arg( aTrsf.m21() ).arg( aTrsf.m22() ).arg( aTrsf.m23() );
+    aResList << QString( "                   %1, %2, %3 );" )
+                .arg( aTrsf.m31() ).arg( aTrsf.m32() ).arg( aTrsf.m33() );
+
+    aResList << QString( "%1.SetTrsf( trsf );" ).arg( anImageName );
+
+    // Dump transformation points for image
+    aResList << QString( "" );
+
+    QPoint aPointAIn,  aPointBIn,  aPointCIn;
+    QPointF aPointAOut, aPointBOut, aPointCOut;
+    TrsfPoints( aPointAIn,  aPointBIn,  aPointCIn,
+                aPointAOut, aPointBOut, aPointCOut );
+
+    aResList << QString( "a_in = QPoint( %1, %2 );" )
+                .arg( aPointAIn.x() ).arg( aPointAIn.y() );
+
+    aResList << QString( "b_in = QPoint( %1, %2 );" )
+                .arg( aPointBIn.x() ).arg( aPointBIn.y() );
+
+    aResList << QString( "c_in = QPoint( %1, %2 );" )
+                .arg( aPointCIn.x() ).arg( aPointCIn.y() );
+
+    aResList << QString( "a_out = QPointF( %1, %2 );" )
+                .arg( aPointAOut.x() ).arg( aPointAOut.y() );
+
+    aResList << QString( "b_out = QPointF( %1, %2 );" )
+                .arg( aPointBOut.x() ).arg( aPointBOut.y() );
+
+    aResList << QString( "c_out = QPointF( %1, %2 );" )
+                .arg( aPointCOut.x() ).arg( aPointCOut.y() );
+
+    QString aGap = QString().fill( ' ', anImageName.size() + 16 );
+    aResList << QString( "%1.SetTrsfPoints( a_in,  b_in,  c_in," ).arg( anImageName );
+    aResList << QString( aGap            + "a_out, b_out, c_out );" );
   }
   else
   {
@@ -125,62 +169,18 @@ QStringList HYDROData_Image::DumpToPython( MapOfTreatedObjects& theTreatedObject
 
     // Necessary to update image in case of composed operator
     aResList << QString( "" );
-    aResList << QString( "%1.Update();" ).arg( anImageName );
+    aResList << QString( "%1.Update( False );" ).arg( anImageName );
   }
 
-  // Dump transformation matrix for image
-  aResList << QString( "" );
-
-  QTransform aTrsf = Trsf();
-
-  aResList << QString( "trsf = QTransform( %2, %3, %4," )
-              .arg( aTrsf.m11() ).arg( aTrsf.m12() ).arg( aTrsf.m13() );
-  aResList << QString( "                   %1, %2, %3," )
-              .arg( aTrsf.m21() ).arg( aTrsf.m22() ).arg( aTrsf.m23() );
-  aResList << QString( "                   %1, %2, %3 );" )
-              .arg( aTrsf.m31() ).arg( aTrsf.m32() ).arg( aTrsf.m33() );
-
-  aResList << QString( "%1.SetTrsf( trsf );" ).arg( anImageName );
-
-  // Dump transformation points for image
-  aResList << QString( "" );
-
-  QPoint aPointAIn,  aPointBIn,  aPointCIn;
-  QPointF aPointAOut, aPointBOut, aPointCOut;
-  TrsfPoints( aPointAIn,  aPointBIn,  aPointCIn,
-              aPointAOut, aPointBOut, aPointCOut );
-
-  aResList << QString( "a_in = QPoint( %1, %2 );" )
-              .arg( aPointAIn.x() ).arg( aPointAIn.y() );
-
-  aResList << QString( "b_in = QPoint( %1, %2 );" )
-              .arg( aPointBIn.x() ).arg( aPointBIn.y() );
-
-  aResList << QString( "c_in = QPoint( %1, %2 );" )
-              .arg( aPointCIn.x() ).arg( aPointCIn.y() );
-
-  aResList << QString( "a_out = QPointF( %1, %2 );" )
-              .arg( aPointAOut.x() ).arg( aPointAOut.y() );
-
-  aResList << QString( "b_out = QPointF( %1, %2 );" )
-              .arg( aPointBOut.x() ).arg( aPointBOut.y() );
-
-  aResList << QString( "c_out = QPointF( %1, %2 );" )
-              .arg( aPointCOut.x() ).arg( aPointCOut.y() );
-
-  QString aGap = QString().fill( ' ', anImageName.size() + 16 );
-  aResList << QString( "%1.SetTrsfPoints( a_in,  b_in,  c_in," ).arg( anImageName );
-  aResList << QString( aGap            + "a_out, b_out, c_out );" );
-
   return aResList;
 }
 
-void HYDROData_Image::Update()
+void HYDROData_Image::Update( const bool theIsForce )
 {
   HYDROOperations_Factory* aFactory = HYDROOperations_Factory::Factory();
 
   // Update image only if there is an operation
-  ImageComposer_Operator* anOp = aFactory->Operator( this );
+  ImageComposer_Operator* anOp = aFactory->Operator( OperatorName() );
   if ( anOp ) 
   {
     // Fill by arguments and process the operation
@@ -215,13 +215,16 @@ void HYDROData_Image::Update()
     SetImage( aResImg );
   }
 
-  Handle(HYDROData_Document) aDocument = HYDROData_Document::Document( this );
-  if ( !aDocument.IsNull() )
+  if ( theIsForce )
   {
-    // Change the states of this and all depended images
-    MustBeUpdated( true );
-    HYDROData_Tool::SetMustBeUpdatedImages( aDocument );
-    MustBeUpdated( false );
+    Handle(HYDROData_Document) aDocument = HYDROData_Document::Document( this );
+    if ( !aDocument.IsNull() )
+    {
+      // Change the states of this and all depended images
+      MustBeUpdated( true );
+      HYDROData_Tool::SetMustBeUpdatedImages( aDocument );
+      MustBeUpdated( false );
+    }
   }
 }
 
index 0b92af773c0aef90e63a4b9f2a38f5169b19becc..134a5b2e04929c92e62ebd8d0c740d0d692ef843 100644 (file)
@@ -46,8 +46,9 @@ public:
    * Reimplemented to update an Image object in the data structure.
    * Call this method whenever you made changes for operator or reference objects.
    * If it is changed, sets "MustBeUpdated" flag to other depended images.
+   * \param theIsForce force reupdating of data object
    */
-  HYDRODATA_EXPORT virtual void Update();
+  HYDRODATA_EXPORT virtual void Update( const bool theIsForce = true );
 
   /**
    * Returns data of object wrapped to QVariant.
index 9b84cef2d03c1123b4b5c903b446b1e539de54ec..46d5b3a59c819bde53d467624d687d52b17cb8ca 100644 (file)
@@ -42,7 +42,7 @@ QStringList HYDROData_Object::DumpToPython( MapOfTreatedObjects& theTreatedObjec
   return anEmptyList;
 }
 
-void HYDROData_Object::Update()
+void HYDROData_Object::Update( const bool theIsForce )
 {
 }
 
index 680b858136905a4c2cec898ae3703fa2ee2de873..595c6f9a359a89c1f4b370cbd6fcb3ee8a035484 100644 (file)
@@ -73,8 +73,9 @@ public:
   /**
    * Updates object state.
    * Base implementation dose nothing.
+   * \param theIsForce force reupdating of data object
    */
-  HYDRODATA_EXPORT virtual void Update();
+  HYDRODATA_EXPORT virtual void Update( const bool theIsForce = true );
 
   /**
    * Returns data of object wrapped to QVariant.
index ea7165670cc267c7bfe43f6caf8f455030c585ec..852e58f561836ee0594eca019ae1246fd16a7dd1 100644 (file)
@@ -84,8 +84,9 @@ public:
 
   /**
    * Updates object state.
+   * \param theIsForce force reupdating of data object
    */
-  void Update();
+  void Update(const bool theIsForce);
 
   /**
    * Checks is object exists in the data structure.