]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Dump Python extension
authorouv <ouv@opencascade.com>
Wed, 3 Dec 2008 10:59:05 +0000 (10:59 +0000)
committerouv <ouv@opencascade.com>
Wed, 3 Dec 2008 10:59:05 +0000 (10:59 +0000)
44 files changed:
idl/GEOM_Gen.idl
src/BasicGUI/BasicGUI_CircleDlg.cxx
src/BasicGUI/BasicGUI_EllipseDlg.cxx
src/BasicGUI/BasicGUI_MarkerDlg.cxx
src/BasicGUI/BasicGUI_PlaneDlg.cxx
src/BasicGUI/BasicGUI_PointDlg.cxx
src/BasicGUI/BasicGUI_VectorDlg.cxx
src/BlocksGUI/BlocksGUI_ExplodeDlg.cxx
src/BlocksGUI/BlocksGUI_TrsfDlg.cxx
src/GEOM/GEOM_Engine.cxx
src/GEOM/GEOM_Engine.hxx
src/GEOM/GEOM_IOperations.hxx
src/GEOM/GEOM_Object.cxx
src/GEOM/GEOM_Object.hxx
src/GEOMBase/GEOMBase_Skeleton.cxx
src/GEOMBase/GEOMBase_Skeleton.h
src/GEOMImpl/GEOMImpl_ITransformOperations.cxx
src/GEOM_I/GEOM_DumpPython.cc
src/GEOM_I/GEOM_Gen_i.cc
src/GEOM_I/GEOM_I3DPrimOperations_i.cc
src/GEOM_I/GEOM_IOperations_i.cc
src/GEOM_I/GEOM_IOperations_i.hh
src/GEOM_SWIG/geompyDC.py
src/GenerationGUI/GenerationGUI_FillingDlg.cxx
src/GenerationGUI/GenerationGUI_PrismDlg.cxx
src/GenerationGUI/GenerationGUI_RevolDlg.cxx
src/OperationGUI/OperationGUI_ArchimedeDlg.cxx
src/OperationGUI/OperationGUI_ChamferDlg.cxx
src/OperationGUI/OperationGUI_ClippingDlg.cxx
src/OperationGUI/OperationGUI_ClippingDlg.h
src/OperationGUI/OperationGUI_FilletDlg.cxx
src/PrimitiveGUI/PrimitiveGUI_BoxDlg.cxx
src/PrimitiveGUI/PrimitiveGUI_ConeDlg.cxx
src/PrimitiveGUI/PrimitiveGUI_CylinderDlg.cxx
src/PrimitiveGUI/PrimitiveGUI_DiskDlg.cxx
src/PrimitiveGUI/PrimitiveGUI_FaceDlg.cxx
src/PrimitiveGUI/PrimitiveGUI_SphereDlg.cxx
src/PrimitiveGUI/PrimitiveGUI_TorusDlg.cxx
src/RepairGUI/RepairGUI_DivideEdgeDlg.cxx
src/RepairGUI/RepairGUI_GlueDlg.cxx
src/RepairGUI/RepairGUI_SewingDlg.cxx
src/RepairGUI/RepairGUI_ShapeProcessDlg.cxx
src/TransformationGUI/TransformationGUI_RotationDlg.cxx
src/TransformationGUI/TransformationGUI_TranslationDlg.cxx

index 9a8569e61aae86bc5a5f52ff8324a2057468869d..39e63a8f6c50100ab077d115353d336a0b0bf2df 100644 (file)
@@ -289,17 +289,6 @@ module GEOM
      *  Aborts the previously opened transaction
      */
     void AbortOperation();
-
-    /*!
-     *  Set list of parameters
-     *  \param theParameters is a string containing the list of parameters separated by ":" symbol
-     */
-    void SetParameters (in string theParameters);
-
-    /*!
-     *  Get list of parameters
-     */
-    string GetParameters();
   };
 
   /*!
index f457f5a3222b2623370bbb3bcc31f4710902be0b..ea201026c1fb3577b127f7c2eb3ad3a76614673c 100644 (file)
@@ -647,7 +647,7 @@ bool BasicGUI_CircleDlg::execute( ObjectList& objects )
       QStringList aParameters;
       aParameters << GroupPntVecR->SpinBox_DX->text();
       anObj = GEOM::GEOM_ICurvesOperations::_narrow( getOperation() )->MakeCirclePntVecR( myPoint, myDir, getRadius() );
-      if ( !anObj->_is_nil() )
+      if ( !anObj->_is_nil() && !IsPreview() )
         anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
       res = true;
       break;
index 5d2fe02c7eb46b574ef37111779e9649145c843c..715a8d6144b3c1d4e30102a9045d994024050185 100644 (file)
@@ -429,9 +429,9 @@ bool BasicGUI_EllipseDlg::execute( ObjectList& objects )
   aParameters<<GroupPoints->SpinBox_DY->text();
   
   GEOM::GEOM_Object_var anObj = GEOM::GEOM_ICurvesOperations::_narrow( getOperation() )->MakeEllipse( myPoint, myDir, aMajorR, aMinorR );
-  for(int i = 0;i< aParameters.size();i++)
-  anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
   if ( !anObj->_is_nil() ) {
+    if ( !IsPreview() )
+      anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
     objects.push_back( anObj._retn() );
   }
   return true;
index b016ac22359a94889d557b9c344769c7160ec1b6..3cdd1a32d79f57a02f871fdc7a0fe0f22b30fa70 100644 (file)
@@ -736,7 +736,8 @@ bool BasicGUI_MarkerDlg::execute( ObjectList& objects )
   aParameters<<myData[ DZ2 ]->text();
   
   if ( !anObj->_is_nil() ) {
-    anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+    if ( !IsPreview() )
+      anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
     objects.push_back( anObj._retn() );
   }
 
index 8647aa74ae9883c9ad21ee80cad4a0d386d0e534..06da54a803ab714e4c72ef50e1f87f9db8addf8a 100644 (file)
@@ -652,7 +652,8 @@ bool BasicGUI_PlaneDlg::execute( ObjectList& objects )
   }
   
   if ( !anObj->_is_nil() ) {
-    anObj->SetParameters(getSizeAsString().toLatin1().constData());
+    if ( !IsPreview() )
+      anObj->SetParameters(getSizeAsString().toLatin1().constData());
     objects.push_back( anObj._retn() );
   }
   return res;
index ada27151d909f847252e2424ee36f5cd3cbb6618..36027937dee5532cf461b0ead2761d234ccae7f3 100644 (file)
@@ -781,10 +781,10 @@ bool BasicGUI_PointDlg::execute( ObjectList& objects )
     break;
   }
   
-  if(!anObj->_is_nil() && (getConstructorId()==0 || 
-                           getConstructorId() == 1 ||
-                           getConstructorId() == 2 ||
-                           getConstructorId() == 4) ) {
+  if(!anObj->_is_nil() && !IsPreview() && (getConstructorId()==0 || 
+                                          getConstructorId() == 1 ||
+                                          getConstructorId() == 2 ||
+                                          getConstructorId() == 4) ) {
     anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
   }
   
index 62313e7ecde3d476d279a5c195367548abdb5b64..320e8a95c979ec30bb14371e05694ed90ff5b553 100644 (file)
@@ -494,7 +494,7 @@ bool BasicGUI_VectorDlg::execute( ObjectList& objects )
       aParameters << GroupDimensions->SpinBox_DZ->text();
       anObj = GEOM::GEOM_IBasicOperations::_narrow( getOperation() )->MakeVectorDXDYDZ( dx, dy, dz );
 
-      if ( !anObj->_is_nil() )
+      if ( !anObj->_is_nil() && !IsPreview() )
         anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
       
       res = true;
index 0a6d834b3e0af255e91dbb59a4cc081e14ff4c77..65b0ae7be2cd70f9a12d6b3c2b2562a7ad0125db 100644 (file)
@@ -450,7 +450,8 @@ bool BlocksGUI_ExplodeDlg::execute( ObjectList& objects )
       CORBA::String_var objStr = myGeomGUI->getApp()->orb()->object_to_string( *anIter );
       if ( selected.contains( QString( objStr.in() ) ) )
       {
-       (*anIter)->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+       if ( !IsPreview() )
+         (*anIter)->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
         objects.push_back( *anIter );
       }
       else
@@ -469,7 +470,8 @@ bool BlocksGUI_ExplodeDlg::execute( ObjectList& objects )
     for ( int i = 0, n = aList->length(); i < n; i++ )
     {
       GEOM::GEOM_Object_var anObj = GEOM::GEOM_Object::_duplicate( aList[i] );
-      anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+      if ( !IsPreview() )
+       anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
       objects.push_back( anObj._retn() );
     }
   }
index ed5eb997382d0ccf769d0509a6f796fb23cf93a4..51fb9be10d086b71e7bea0af58fcbc8ea0c4f9ef 100644 (file)
@@ -581,7 +581,7 @@ bool BlocksGUI_TrsfDlg::execute (ObjectList& objects)
       MakeMultiTransformation1D(myShape,
                                 myFaces[Face1], myFaces[Face2],
                                 mySpinBox[SpinBox1]->value());
-    if (!anObj->_is_nil())
+    if (!anObj->_is_nil() && !IsPreview())
     {
       QStringList aParameters;
       aParameters << "" << "";
@@ -597,7 +597,7 @@ bool BlocksGUI_TrsfDlg::execute (ObjectList& objects)
                                  mySpinBox[SpinBox2U]->value(),
                                  myFaces[Face1V], myFaces[Face2V],
                                  mySpinBox[SpinBox2V]->value());
-    if (!anObj->_is_nil())
+    if (!anObj->_is_nil() && !IsPreview())
     {
       QStringList aParameters;
       aParameters << "" << "";
index 14e81340877fa3440cebdd4940a7b76430b41706..cca32c6345f7396109edeb64a61f8163606d96b0 100644 (file)
@@ -804,7 +804,14 @@ void ReplaceVariables(TCollection_AsciiString& theCommand,
     Standard_Integer aEndCommandPos = aStartCommandPos + aCommand.Length();
 
     //Get Entry of the result object
-    TCollection_AsciiString anEntry = aCommand.Token("=",1);
+    TCollection_AsciiString anEntry;
+    if( aCommand.Search("=") != -1 ) // command returns an object
+      anEntry = aCommand.Token("=",1);
+    else { // command modifies the object
+      int aStartEntryPos = aCommand.Location(1,'(',1,aCommand.Length());
+      int aEndEntryPos = aCommand.Location(1,',',aStartEntryPos,aCommand.Length());
+      anEntry = aCommand.SubString(aStartEntryPos+1, aEndEntryPos-1);
+    }
 
     //Remove white spaces
     anEntry.RightAdjust();
@@ -827,18 +834,20 @@ void ReplaceVariables(TCollection_AsciiString& theCommand,
     }
     
     //Find variables used for object construction
-    vector<TVariable> aVariables;
+    ObjectStates* aStates = 0;
     TVariablesList::const_iterator it = theVariables.find(anEntry);
-    if( it != theVariables.end() ) 
-      aVariables = (*it).second;
+    if( it != theVariables.end() )
+      aStates = (*it).second;
 
-    if(aVariables.empty()) {
+    if(!aStates) {
       if(MYDEBUG)
        cout<<"Valiables list empty!!!"<<endl;
       aCommandIndex++;
       continue;
     }
-  
+
+    TState aVariables = aStates->GetCurrectState();
+
     if(MYDEBUG) {
       cout<<"Variables from SObject:"<<endl;
       for (int i = 0; i < aVariables.size();i++)
@@ -977,7 +986,7 @@ void ReplaceVariables(TCollection_AsciiString& theCommand,
       } // end of specific case for sketcher
 
       //If parameter is entry or 'None', skip it
-      if(theVariables.find(aVar) != theVariables.end() || aVar == PY_NULL)
+      if(theVariables.find(aVar) != theVariables.end() || aVar.Search(":") != -1 || aVar == PY_NULL)
        continue;
 
       if(iVar >= aVariables.size())
@@ -1003,8 +1012,63 @@ void ReplaceVariables(TCollection_AsciiString& theCommand,
     theCommand.Insert(aStartCommandPos, aCommand);
 
     aCommandIndex++;
+
+    aStates->IncrementState();
   }
 
   if (MYDEBUG)
     cout<<"Command : "<<theCommand<<endl;
 }
+
+//================================================================================
+/*!
+ * \brief Constructor
+ */
+//================================================================================
+ObjectStates::ObjectStates()
+{
+  _dumpstate = 0;
+}
+
+//================================================================================
+/*!
+ * \brief Destructor
+ */
+//================================================================================
+ObjectStates::~ObjectStates()
+{
+}
+
+//================================================================================
+/*!
+ * \brief Return current object state
+ * \retval state - Object state (vector of notebook variable)
+ */
+//================================================================================
+TState ObjectStates::GetCurrectState() const
+{
+  if(_states.size() > _dumpstate)
+    return _states[_dumpstate];
+  return TState();
+}
+
+//================================================================================
+/*!
+ * \brief Add new object state 
+ * \param theState - Object state (vector of notebook variable)
+ */
+//================================================================================
+void ObjectStates::AddState(const TState &theState)
+{
+  _states.push_back(theState);
+}
+
+//================================================================================
+/*!
+ * \brief Increment object state
+ */
+//================================================================================
+void ObjectStates::IncrementState()
+{
+  _dumpstate++;
+}
index 48d7dff45efcdfa26ac637a5ee1e13cf81f85051..bc97dedaf187d6952d93544faca2ac2048999066 100644 (file)
@@ -44,7 +44,27 @@ struct TVariable{
     isVariable(theFlag){}
 };
 
-typedef std::map<TCollection_AsciiString, std::vector<TVariable> > TVariablesList;
+typedef std::vector<TVariable> TState;
+typedef std::vector<TState>    TAllStates;
+
+class ObjectStates
+{
+public:
+  ObjectStates();
+  ~ObjectStates();
+
+  TAllStates GetAllStates() const { return _states; }
+
+  TState GetCurrectState() const;
+  void AddState(const TState &theState);
+  void IncrementState();
+
+private:
+  TAllStates              _states;
+  int                     _dumpstate;
+};
+
+typedef std::map<TCollection_AsciiString, ObjectStates* > TVariablesList;
 
 class GEOM_Engine
 {
index 944c61b590e39e09dd1ebf97b2a446aa4bfa3a79..9e84f0633cf618c2b797685b3c2f56ea622de671 100644 (file)
@@ -65,16 +65,6 @@ class GEOM_IOperations
     return (char*) _errorCode.ToCString();    
   }
   
-  //Sets a parameters of the operation
-  Standard_EXPORT void SetParameters(const TCollection_AsciiString& theParameters) {
-    _parameters = theParameters;    
-  } 
-  //Returns a parameters of the operation
-  Standard_EXPORT char* GetParameters() {
-    return (char*) _parameters.ToCString();    
-  }
-
   //Returns a pointer to  GEOM_Engine which this operation interface is associated
   Standard_EXPORT GEOM_Engine* GetEngine() { return _engine; }
 
index 4a33133336deffc91f0a7948b6e4e1d313ba6a1c..06f3c8b8e52b89b056803d0fd60177208b63139c 100644 (file)
@@ -380,6 +380,31 @@ TCollection_AsciiString GEOM_Object::GetAuxData()
   return aData;
 }
 
+//=============================================================================
+/*!
+ *  SetParameters
+ */
+//=============================================================================
+void GEOM_Object::SetParameters(const TCollection_AsciiString& theParameters)
+{
+  if( _parameters.IsEmpty() )
+    _parameters = theParameters;
+  else {
+    _parameters += "|";
+    _parameters += theParameters;
+  }
+}
+
+//=============================================================================
+/*!
+ *  GetParameters
+ */
+//=============================================================================
+TCollection_AsciiString GEOM_Object::GetParameters() const
+{
+  return _parameters;
+}
+
 
 //=============================================================================
 /*!
index 4039569330b2d26970930be1f67daa26fa94c0d7..2b23fbb52e11e63df63ba732d3935e49975f4bea 100644 (file)
@@ -220,12 +220,10 @@ class GEOM_Object : public MMgt_TShared
   Standard_EXPORT TCollection_AsciiString GetAuxData();
 
   //Set a notebook variables used for object creation
-  Standard_EXPORT void SetParameters(const TCollection_AsciiString& theParameters)
-  {_parameters = theParameters;}
+  Standard_EXPORT void SetParameters(const TCollection_AsciiString& theParameters);
 
   //Get a notebook variables used for object creation
-  Standard_EXPORT TCollection_AsciiString GetParameters() const
-  {return _parameters;}
+  Standard_EXPORT TCollection_AsciiString GetParameters() const;
 
   //###########################################################
   // Sub shape methods
index 0dd5d8605a81627ed6bd8b2c22d595a6e115b038..96c90ed924da46d5a5e35cc2598317c5143eb354 100644 (file)
@@ -31,6 +31,7 @@
 
 #include <SalomeApp_Application.h>
 #include <SalomeApp_DoubleSpinBox.h>
+#include <SalomeApp_Study.h>
 #include <LightApp_Application.h>
 #include <LightApp_SelectionMgr.h>
 #include <SUIT_Desktop.h>
@@ -131,23 +132,21 @@ void GEOMBase_Skeleton::Init()
   myMainFrame->GroupBoxPublish->hide();
 }
 
+//=================================================================================
+// function : initSpinBox()
+// purpose  : 
+//=================================================================================
 void GEOMBase_Skeleton::initSpinBox( QSpinBox* spinBox, 
                                     int min,  int max, int step )
 {
   spinBox->setRange( min, max );
   spinBox->setSingleStep( step );
 }
-// TODO: to replace these method:
-void GEOMBase_Skeleton::initSpinBox( QDoubleSpinBox* spinBox, 
-                                    double min,  double max, 
-                                    double step, int decimals )
-{
-  spinBox->setDecimals( decimals ); // it's necessary to set decimals before the range setting,
-                                    // by default Qt rounds boundaries to 2 decimals at setRange
-  spinBox->setRange( min, max );
-  spinBox->setSingleStep( step );
-}
-// TODO: by the following:
+
+//=================================================================================
+// function : initSpinBox()
+// purpose  : 
+//=================================================================================
 void GEOMBase_Skeleton::initSpinBox( SalomeApp_DoubleSpinBox* spinBox, 
                                     double min,  double max, 
                                     double step, int decimals )
@@ -159,6 +158,33 @@ void GEOMBase_Skeleton::initSpinBox( SalomeApp_DoubleSpinBox* spinBox,
   spinBox->setSingleStep( step );
 }
 
+//=================================================================================
+// function : updateAttributes()
+// purpose  : Workaround for Translation and Rotation operations with unchecked option "Create a copy".
+//            In this case PublishInStudy isn't called, so we need to update object's attributes manually
+//=================================================================================
+void GEOMBase_Skeleton::updateAttributes( GEOM::GEOM_Object_ptr theObj,
+                                         const QStringList& theParameters)
+{
+  SALOMEDS::Study_var aStudy = GeometryGUI::ClientStudyToStudy(getStudy()->studyDS());
+  SALOMEDS::StudyBuilder_var aStudyBuilder = aStudy->NewBuilder();
+  SALOMEDS::SObject_var aSObject = aStudy->FindObjectID(theObj->GetStudyEntry());
+  SALOMEDS::GenericAttribute_var anAttr = aStudyBuilder->FindOrCreateAttribute(aSObject, "AttributeString");
+  SALOMEDS::AttributeString_var aStringAttrib = SALOMEDS::AttributeString::_narrow(anAttr);
+
+  std::string aValue = aStringAttrib->Value();
+  if( aValue != "" )
+    aValue += "|";
+  for( int i = 0, n = theParameters.count(); i < n; i++ ) {
+    std::string aParameter = theParameters[i].toStdString();
+    if(aStudy->IsVariable(aParameter.c_str()))
+      aValue += aParameter;
+    if(i != n-1)
+      aValue += ":";
+  }
+  aStringAttrib->SetValue(aValue.c_str());
+}
+
 //=================================================================================
 // function : ClickOnCancel()
 // purpose  :
index 0252aad94b7e60d5b73517fcec8e06f97851c3e5..63aaf9c1c9efb842b651a7f9e276dac4a63a534e 100644 (file)
@@ -60,11 +60,10 @@ private:
 
 protected:
     void                initSpinBox( QSpinBox*, int, int, int = 1 );
-    // TODO: to replace these method:
-    void                initSpinBox( QDoubleSpinBox*, double, double, double = 0.1, int = 3 );
-    // TODO: by the following:
     void                initSpinBox( SalomeApp_DoubleSpinBox*, double, double, double = 0.1, int = 3 );
     
+    void                updateAttributes( GEOM::GEOM_Object_ptr, const QStringList& );
+
     void                closeEvent( QCloseEvent* );
     void                keyPressEvent( QKeyEvent* );
 
index d6043d2c5d7470a92ce24ad203f1825b71157a8e..00db04149365675eada9e4542d426f5021e9f339 100644 (file)
@@ -178,7 +178,7 @@ Handle(GEOM_Object) GEOMImpl_ITransformOperations::TranslateDXDYDZ
   }
 
   //Make a Python command
-  GEOM::TPythonDump(aFunction) << "geompy.TrsfOp.TranslateDXDYDZ("
+  GEOM::TPythonDump(aFunction) << "geompy.TranslateDXDYDZ("
     << theObject << ", " << theX << ", " << theY << ", " << theZ << ")";
 
   SetErrorCode(OK);
@@ -465,7 +465,7 @@ Handle(GEOM_Object) GEOMImpl_ITransformOperations::TranslateVectorDistance
     return aCopy;
   }
 
-  GEOM::TPythonDump(aFunction) << "geompy.TrsfOp.TranslateVectorDistance("
+  GEOM::TPythonDump(aFunction) << "geompy.TranslateVectorDistance("
                               << theObject << ", " << theVector << ", " << theDistance << ", " << theCopy << ")";
   SetErrorCode(OK);
   return theObject;
@@ -1383,7 +1383,7 @@ Handle(GEOM_Object) GEOMImpl_ITransformOperations::Rotate (Handle(GEOM_Object) t
   }
 
   //Make a Python command
-  GEOM::TPythonDump(aFunction) << "geompy.TrsfOp.Rotate(" << theObject
+  GEOM::TPythonDump(aFunction) << "geompy.Rotate(" << theObject
     << ", " << theAxis << ", " << theAngle * 180.0 / PI << "*math.pi/180.0)";
 
   SetErrorCode(OK);
index 25ffab45b60db6d5175f600ee9b53a299830af51..ea6a5f7b88fe13f0085789b8499f666ba94da497 100644 (file)
@@ -70,20 +70,22 @@ Engines::TMPFile* GEOM_Gen_i::DumpPython(CORBA::Object_ptr theStudy,
        //Find attribute with list of used notebook variables
        SALOMEDS::GenericAttribute_var anAttr;
        SALOMEDS::AttributeString_var anAttrStr;
-       vector<TVariable> aVariables;
        if(aValue->FindAttribute(anAttr,"AttributeString")){
          anAttrStr = SALOMEDS::AttributeString::_narrow(anAttr);
          SALOMEDS::ListOfListOfStrings_var aSections = aStudy->ParseVariables(anAttrStr->Value());
+         ObjectStates* aStates = new ObjectStates();
          for(int i = 0; i < aSections->length(); i++) {
+           TState aState;
            SALOMEDS::ListOfStrings aListOfVars = aSections[i];
            for(int j = 0; j < aListOfVars.length(); j++) {
              bool isVar = aStudy->IsVariable(aListOfVars[j].in());
              TVariable aVar = TVariable( (char*)aListOfVars[j].in(), isVar );
-             aVariables.push_back(aVar);
+             aState.push_back(aVar);
            }
+           aStates->AddState(aState);
          }
+         aVariableMap.insert(pair<TCollection_AsciiString,ObjectStates*>(TCollection_AsciiString(anEntry),aStates));
        }
-       aVariableMap.insert(pair<TCollection_AsciiString,vector<TVariable> >((char*)anEntry,aVariables));
       }
     }
   }
index 6c24a00a17a9ff2412b77ebc99164810c8280305..9e338d621bad8d70d0db2a9bf3cda18fdec2e200 100644 (file)
@@ -274,27 +274,22 @@ SALOMEDS::SObject_ptr GEOM_Gen_i::PublishInStudy(SALOMEDS::Study_ptr theStudy,
   aNameAttrib->SetValue(aShapeName.ToCString());
 
   //Set NoteBook variables used in the object creation
-  bool isFound = false;
   TCollection_AsciiString aVars;
   SALOMEDS::ListOfListOfStrings_var aSections = theStudy->ParseVariables(aShape->GetParameters());
   for(int i = 0, n = aSections->length(); i < n; i++) {
     SALOMEDS::ListOfStrings aListOfVars = aSections[i];
     for(int j = 0, m = aListOfVars.length(); j < m; j++) {
-      if(theStudy->IsVariable(aListOfVars[j].in())) {
+      if(theStudy->IsVariable(aListOfVars[j].in()))
        aVars += TCollection_AsciiString(aListOfVars[j].in());
-       isFound = true;
-      }
       if(j != m-1)
        aVars += ":";
     }
     if(i != n-1)
       aVars += "|";
   }
-  if(isFound) {
-    anAttr = aStudyBuilder->FindOrCreateAttribute(aResultSO, "AttributeString");
-    SALOMEDS::AttributeString_var aStringAttrib = SALOMEDS::AttributeString::_narrow(anAttr);
-    aStringAttrib->SetValue(aVars.ToCString());
-  }
+  anAttr = aStudyBuilder->FindOrCreateAttribute(aResultSO, "AttributeString");
+  SALOMEDS::AttributeString_var aStringAttrib = SALOMEDS::AttributeString::_narrow(anAttr);
+  aStringAttrib->SetValue(aVars.ToCString());
 
   //Set a name of the GEOM object
   aShape->SetName(theName);
index a455d0f5bdb4758caaa38c5d324df4c58c87a66f..8dfc7cb9dbb09350582c18447eadf379f5289cf9 100644 (file)
@@ -68,7 +68,6 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeBoxDXDYDZ (CORBA::Double the
   Handle(GEOM_Object) anObject = GetOperations()->MakeBoxDXDYDZ(theDX, theDY, theDZ);
   if (!GetOperations()->IsDone() || anObject.IsNull())
     return aGEOMObject._retn();
-  GetObject(anObject)->SetParameters(GetParameters());
     
   return GetObject(anObject);
 }
index 12a4eaa745a54d7b17797943157f0400a60a87a5..3d5c87c468be22892a2cdb04f029c1dfb32e00e0 100644 (file)
@@ -122,26 +122,6 @@ void GEOM_IOperations_i::AbortOperation()
   _impl->AbortOperation();
 }
 
-//=============================================================================
-/*!
- *  SetParameters
- */
-//=============================================================================
-void GEOM_IOperations_i::SetParameters(const char* theParameters)
-{
-  _impl->SetParameters((char*)theParameters);
-}
-
-//=============================================================================
-/*!
- *  GetParameters
- */
-//=============================================================================
-char* GEOM_IOperations_i::GetParameters()
-{
-  return CORBA::string_dup(_impl->GetParameters());
-}
-
 //=============================================================================
 /*!
  *  GetObject
index 22192c3acd23b9360276328530b4f8f6951dda45..c425449dc8406c26a60d7679f446398ced3006a4 100644 (file)
@@ -53,10 +53,6 @@ class GEOM_I_EXPORT GEOM_IOperations_i : public virtual POA_GEOM::GEOM_IOperatio
 
   virtual void AbortOperation();
 
-  virtual void SetParameters(const char* theParameters);
-  
-  virtual char* GetParameters();
-
 
    ::GEOM_IOperations* GetImpl() { return _impl; }
 
index f6e2217bd76a173ad680cc20766837e22414eef8..6dd46edd810b3aa63ace8582f3d78d069e6471eb 100644 (file)
@@ -2214,6 +2214,20 @@ class geompyDC(GEOM._objref_GEOM_Gen):
             RaiseIfFailed("TranslateTwoPointsCopy", self.TrsfOp)
             return anObj
 
+        ## Translate the given object along the vector, specified by its components.
+        #  @param theObject The object to be translated.
+        #  @param theDX,theDY,theDZ Components of translation vector.
+        #  @return Translated GEOM_Object.
+        #
+        #  @ref tui_translation "Example"
+        def TranslateDXDYDZ(self,theObject, theDX, theDY, theDZ):
+            # Example: see GEOM_TestAll.py
+            theDX, theDY, theDZ, Parameters = ParseParameters(theDX, theDY, theDZ)
+            anObj = self.TrsfOp.TranslateDXDYDZ(theObject, theDX, theDY, theDZ)
+            anObj.SetParameters(Parameters)
+            RaiseIfFailed("TranslateDXDYDZ", self.TrsfOp)
+            return anObj
+
         ## Translate the given object along the vector, specified
         #  by its components, creating its copy before the translation.
         #  @param theObject The object to be translated.
@@ -2242,6 +2256,22 @@ class geompyDC(GEOM._objref_GEOM_Gen):
             RaiseIfFailed("TranslateVectorCopy", self.TrsfOp)
             return anObj
 
+        ## Translate the given object along the given vector on given distance.
+        #  @param theObject The object to be translated.
+        #  @param theVector The translation vector.
+        #  @param theDistance The translation distance.
+        #  @param theCopy Flag used to translate object itself or create a copy.
+        #  @return Translated GEOM_Object.
+        #
+        #  @ref tui_translation "Example"
+        def TranslateVectorDistance(self, theObject, theVector, theDistance, theCopy):
+            # Example: see GEOM_TestAll.py
+            theDistance,Parameters = ParseParameters(theDistance)
+            anObj = self.TrsfOp.TranslateVectorDistance(theObject, theVector, theDistance, theCopy)
+            RaiseIfFailed("TranslateVectorDistance", self.TrsfOp)
+            anObj.SetParameters(Parameters)
+            return anObj
+
         ## Translate the given object along the given vector on given distance,
         #  creating its copy before the translation.
         #  @param theObject The object to be translated.
@@ -2258,6 +2288,26 @@ class geompyDC(GEOM._objref_GEOM_Gen):
             anObj.SetParameters(Parameters)
             return anObj
 
+        ## Rotate the given object around the given axis on the given angle.
+        #  @param theObject The object to be rotated.
+        #  @param theAxis Rotation axis.
+        #  @param theAngle Rotation angle in radians.
+        #  @return Rotated GEOM_Object.
+        #
+        #  @ref tui_rotation "Example"
+        def Rotate(self,theObject, theAxis, theAngle):
+            # Example: see GEOM_TestAll.py
+            flag = False
+            if isinstance(theAngle,str):
+                flag = True
+            theAngle, Parameters = ParseParameters(theAngle)
+            if flag:
+                theAngle = theAngle*math.pi/180.0
+            anObj = self.TrsfOp.Rotate(theObject, theAxis, theAngle)
+            RaiseIfFailed("RotateCopy", self.TrsfOp)
+            anObj.SetParameters(Parameters)
+            return anObj
+
         ## Rotate the given object around the given axis
         #  on the given angle, creating its copy before the rotatation.
         #  @param theObject The object to be rotated.
index b0dfacc51460af9f4093414801c969e21d2a1829..c30d9beb1699406fbf8cef1dd7699b149d2cf280 100644 (file)
@@ -360,14 +360,16 @@ bool GenerationGUI_FillingDlg::execute( ObjectList& objects )
     myCompound, myMinDeg, myMaxDeg, myTol2D, myTol3D, myNbIter, myIsApprox );
   if ( !anObj->_is_nil() )
   {
-    QStringList aParameters;
-    aParameters << GroupPoints->SpinBox1->text();
-    aParameters << GroupPoints->SpinBox2->text();
-    aParameters << GroupPoints->SpinBox3->text();
-    aParameters << GroupPoints->SpinBox4->text();
-    aParameters << GroupPoints->SpinBox5->text();
-    anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
-
+    if ( !IsPreview() )
+    {
+      QStringList aParameters;
+      aParameters << GroupPoints->SpinBox1->text();
+      aParameters << GroupPoints->SpinBox2->text();
+      aParameters << GroupPoints->SpinBox3->text();
+      aParameters << GroupPoints->SpinBox4->text();
+      aParameters << GroupPoints->SpinBox5->text();
+      anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+    }
     objects.push_back( anObj._retn() );
   }
 
index ebf53a93c11a4dd1c50e77fe7108b405c285d824..dfa2bcb959a9ecd7d86fca71705162ea0389b725 100644 (file)
@@ -662,7 +662,7 @@ bool GenerationGUI_PrismDlg::execute (ObjectList& objects)
         MakePrismVecH2Ways(myBase, myVec, getHeight());
     }
 
-    if (!anObj->_is_nil())
+    if (!anObj->_is_nil() && !IsPreview())
     {
       aParameters << GroupPoints->SpinBox_DX->text();
       anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
@@ -693,7 +693,7 @@ bool GenerationGUI_PrismDlg::execute (ObjectList& objects)
         MakePrismDXDYDZ2Ways(myBase, dx, dy, dz);
     }
 
-    if (!anObj->_is_nil())
+    if (!anObj->_is_nil() && !IsPreview())
     {
       aParameters << GroupPoints3->SpinBox_DX->text();
       aParameters << GroupPoints3->SpinBox_DY->text();
index 9abb8e77051ed574908de94324a92269cb24c5c2..e49afcd79a5d14444b21c4f44b0f1310a63ce078 100644 (file)
@@ -414,10 +414,12 @@ bool GenerationGUI_RevolDlg::execute (ObjectList& objects)
 
   if (!anObj->_is_nil())
   {
-    QStringList aParameters;
-    aParameters << GroupPoints->SpinBox_DX->text();
-    anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
-
+    if (!IsPreview())
+    {
+      QStringList aParameters;
+      aParameters << GroupPoints->SpinBox_DX->text();
+      anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+    }
     objects.push_back(anObj._retn());
   }
 
index 909c79444e43b9ea5f82b7ec3d9bf3b581fa2455..ec09e01e3a2d7fa9228487c7c6606a1b784a869f 100644 (file)
@@ -274,12 +274,14 @@ bool OperationGUI_ArchimedeDlg::execute( ObjectList& objects )
 
   if ( !anObj->_is_nil() )
   {
-    QStringList aParameters;
-    aParameters << GroupPoints->SpinBox_DX->text();
-    aParameters << GroupPoints->SpinBox_DY->text();
-    aParameters << GroupPoints->SpinBox_DZ->text();
-    anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
-
+    if ( !IsPreview() )
+    {
+      QStringList aParameters;
+      aParameters << GroupPoints->SpinBox_DX->text();
+      aParameters << GroupPoints->SpinBox_DY->text();
+      aParameters << GroupPoints->SpinBox_DZ->text();
+      anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+    }
     objects.push_back( anObj._retn() );
   }
 
index bfb9cf90519f85766482548106715ac8511727ff..066fc7e3197af41bea60725d20000bcd4873cddc 100644 (file)
@@ -899,7 +899,8 @@ bool OperationGUI_ChamferDlg::execute (ObjectList& objects)
 
   if (!anObj->_is_nil())
   {
-    anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+    if (!IsPreview())
+      anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
     objects.push_back(anObj._retn());
   }
 
index 804ddc6cbb381217bd2b0ed3ba297021574bf145..6b7377599d011fb48947968cacbe36edad7050d3 100644 (file)
@@ -73,13 +73,13 @@ OperationGUI_ClippingDlg::OperationGUI_ClippingDlg( GeometryGUI* theGeometryGUI,
   TextLabelNear = new QLabel( tr( "Near" ), GroupArguments );
   GroupArgumentsLayout->addWidget( TextLabelNear, 0, 0 );
 
-  SpinBox_Near = new QDoubleSpinBox( GroupArguments );
+  SpinBox_Near = new SalomeApp_DoubleSpinBox( GroupArguments );
   GroupArgumentsLayout->addWidget( SpinBox_Near, 0, 1 );
 
   TextLabelFar = new QLabel( tr( "Far" ), GroupArguments );
   GroupArgumentsLayout->addWidget( TextLabelFar, 0, 2 );
 
-  SpinBox_Far = new QDoubleSpinBox( GroupArguments );
+  SpinBox_Far = new SalomeApp_DoubleSpinBox( GroupArguments );
   GroupArgumentsLayout->addWidget( SpinBox_Far, 0, 3 );
 
   resetButton  = new QPushButton( tr( "Reset" ), GroupArguments );
index 7197f1386f42b4777f2e07cb07330082cc3cd0bd..db7cab0eff3be11bd273818d86bdd1add6b9ece3 100644 (file)
@@ -32,7 +32,7 @@ class QGroupBox;
 class QLabel;
 class QPushButton;
 class QComboBox;
-class QDoubleSpinBox;
+class SalomeApp_DoubleSpinBox;
 
 enum ViewerTypes { VTK, OCC, OTHER };
 
@@ -58,9 +58,9 @@ private:
   
   QGroupBox*        GroupArguments;
   QLabel*           TextLabelNear;
-  QDoubleSpinBox*   SpinBox_Near;
+  SalomeApp_DoubleSpinBox* SpinBox_Near;
   QLabel*           TextLabelFar;
-  QDoubleSpinBox*   SpinBox_Far;
+  SalomeApp_DoubleSpinBox* SpinBox_Far;
   QPushButton*      resetButton;
   QComboBox*        TypeCB;
 
index 7b79a146b20d60440ddded0e1d3de9c18fdbe894..0606fb0ab5090e42147ac756b9186515d207e05e 100644 (file)
@@ -687,7 +687,8 @@ bool OperationGUI_FilletDlg::execute (ObjectList& objects)
 
   if (!anObj->_is_nil())
   {
-    anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+    if (!IsPreview())
+      anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
     objects.push_back(anObj._retn());
   }
 
index 85d3d810b6694f76dfc5dee50635b9b2a96d793c..379c7628f4f5add3613d10597389dca67da9aabd 100644 (file)
@@ -467,7 +467,7 @@ bool PrimitiveGUI_BoxDlg::execute (ObjectList& objects)
       double z = GroupDimensions->SpinBox_DZ->value();
 
       anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->MakeBoxDXDYDZ(x, y, z);
-      if (!anObj->_is_nil())
+      if (!anObj->_is_nil() && !IsPreview())
       {
        QStringList aParameters;
        aParameters << GroupDimensions->SpinBox_DX->text();
index b6cb0ef17d4b84c509c76f50a19e1d14e95a6fd3..92d1ff099a00f9476b0e5bff9ed8a3f8fa4b192d 100644 (file)
@@ -470,7 +470,7 @@ bool PrimitiveGUI_ConeDlg::execute (ObjectList& objects)
     if (!CORBA::is_nil(myPoint) && !CORBA::is_nil(myDir)) {
       anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
         MakeConePntVecR1R2H(myPoint, myDir, getRadius1(), getRadius2(), getHeight());
-      if (!anObj->_is_nil())
+      if (!anObj->_is_nil() && !IsPreview())
       {
        QStringList aParameters;
        aParameters << GroupPoints->SpinBox_DX->text();
@@ -484,7 +484,7 @@ bool PrimitiveGUI_ConeDlg::execute (ObjectList& objects)
   case 1:
     anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
       MakeConeR1R2H(getRadius1(), getRadius2(), getHeight());
-    if (!anObj->_is_nil())
+    if (!anObj->_is_nil() && !IsPreview())
     {
       QStringList aParameters;
       aParameters << GroupDimensions->SpinBox_DX->text();
index 4f2536393e54f821933f3267ee672969d24e5c3b..b7c16f89701b64d438d9090683dd0408c3671eef 100644 (file)
@@ -464,7 +464,7 @@ bool PrimitiveGUI_CylinderDlg::execute (ObjectList& objects)
     if (!CORBA::is_nil(myPoint) && !CORBA::is_nil(myDir)) {
       anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
         MakeCylinderPntVecRH(myPoint, myDir, getRadius(), getHeight());
-      if (!anObj->_is_nil())
+      if (!anObj->_is_nil() && !IsPreview())
       {
        QStringList aParameters;
        aParameters << GroupPoints->SpinBox_DX->text();
@@ -477,7 +477,7 @@ bool PrimitiveGUI_CylinderDlg::execute (ObjectList& objects)
   case 1:
     anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
       MakeCylinderRH(getRadius(), getHeight());
-    if (!anObj->_is_nil())
+    if (!anObj->_is_nil() && !IsPreview())
     {
       QStringList aParameters;
       aParameters << GroupDimensions->SpinBox_DX->text();
index 0cb1a61f35e2b1381c9765ef7b157714d2d6bcda..05069de055470f8ee59c109c3de240487b56c981 100755 (executable)
@@ -575,7 +575,7 @@ bool PrimitiveGUI_DiskDlg::execute (ObjectList& objects)
   case 0:
     anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
       MakeDiskR(getRadius(), myOrientationType);
-    if (!anObj->_is_nil())
+    if (!anObj->_is_nil() && !IsPreview())
     {
       aParameters << GroupDimensions->SpinBox_DX->text();
       anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
@@ -585,7 +585,7 @@ bool PrimitiveGUI_DiskDlg::execute (ObjectList& objects)
   case 1:
     anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
       MakeDiskPntVecR(myPoint, myDir, getRadius());
-    if (!anObj->_is_nil())
+    if (!anObj->_is_nil() && !IsPreview())
     {
       aParameters << GroupPntVecR->SpinBox_DX->text();
       anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
index e4a77f4fd60d8fdf7ce5c127ba61a383cfebda4a..7621617f07c2366f130005637c972223ad7dce7a 100755 (executable)
@@ -497,7 +497,7 @@ bool PrimitiveGUI_FaceDlg::execute (ObjectList& objects)
     anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
       MakeFaceHW(GroupDimensions->SpinBox_DX->value(),
                  GroupDimensions->SpinBox_DY->value(), myOrientationType);
-    if (!anObj->_is_nil())
+    if (!anObj->_is_nil() && !IsPreview())
     {
       aParameters << GroupDimensions->SpinBox_DX->text();
       aParameters << GroupDimensions->SpinBox_DY->text();
@@ -512,7 +512,7 @@ bool PrimitiveGUI_FaceDlg::execute (ObjectList& objects)
     else if (GroupType->RadioButton2->isChecked())
       anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
         MakeFaceObjHW(myFace, GroupPlane->SpinBox_DX->value(), GroupPlane->SpinBox_DY->value());
-    if (!anObj->_is_nil())
+    if (!anObj->_is_nil() && !IsPreview())
     {
       aParameters << GroupPlane->SpinBox_DX->text();
       aParameters << GroupPlane->SpinBox_DY->text();
index be4e7ca0be9a078cc67bb933275e21f313bcf90b..eea9735957fafffe6b43c216b4a0c5355875d51a 100644 (file)
@@ -401,7 +401,7 @@ bool PrimitiveGUI_SphereDlg::execute( ObjectList& objects )
     {
       if ( !CORBA::is_nil( myPoint ) ) {
        anObj = GEOM::GEOM_I3DPrimOperations::_narrow( getOperation() )->MakeSpherePntR( myPoint, getRadius() );
-       if (!anObj->_is_nil())
+       if (!anObj->_is_nil() && !IsPreview())
         {
          QStringList aParameters;
          aParameters << GroupPoints->SpinBox_DX->text();
@@ -414,7 +414,7 @@ bool PrimitiveGUI_SphereDlg::execute( ObjectList& objects )
   case 1 :
     {
       anObj = GEOM::GEOM_I3DPrimOperations::_narrow( getOperation() )->MakeSphereR( getRadius() );
-      if (!anObj->_is_nil())
+      if (!anObj->_is_nil() && !IsPreview())
       {
        QStringList aParameters;
        aParameters << GroupDimensions->SpinBox_DX->text();
index ba8288a82ffc12caf5f627b380a19b3de7f07439..cceeec7b51535068c300ef19c1428f2fe5bb8c84 100644 (file)
@@ -460,7 +460,7 @@ bool PrimitiveGUI_TorusDlg::execute (ObjectList& objects)
     if (!CORBA::is_nil(myPoint) && !CORBA::is_nil(myDir)) {
       anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
         MakeTorusPntVecRR(myPoint, myDir, getRadius1(), getRadius2());
-      if (!anObj->_is_nil())
+      if (!anObj->_is_nil() && !IsPreview())
       {
        QStringList aParameters;
        aParameters << GroupPoints->SpinBox_DX->text();
@@ -473,7 +473,7 @@ bool PrimitiveGUI_TorusDlg::execute (ObjectList& objects)
   case 1:
     anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
       MakeTorusRR(getRadius1(), getRadius2());
-    if (!anObj->_is_nil())
+    if (!anObj->_is_nil() && !IsPreview())
     {
       QStringList aParameters;
       aParameters << GroupDimensions->SpinBox_DX->text();
index 90ab2c9b4df0e22d94b8cf14bf61434dceeb5a08..1e643e7636db7f7be555bb566c4c87cbc1450b11 100644 (file)
@@ -354,12 +354,14 @@ bool RepairGUI_DivideEdgeDlg::execute( ObjectList& objects )
   bool aResult = !anObj->_is_nil();
   if ( aResult )
   {
-    QStringList aParameters;
-    aParameters << "";
-    aParameters << myValEdt->text();
-    aParameters << "";
-    anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
-
+    if ( !IsPreview() )
+    {
+      QStringList aParameters;
+      aParameters << "";
+      aParameters << myValEdt->text();
+      aParameters << "";
+      anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+    }
     objects.push_back( anObj._retn() );
   }
 
index bdd2eaabb94a551bae84172982894621da5670b5..029cf78f9c4e0b843087d140bbd3f2150b405034 100644 (file)
@@ -413,7 +413,7 @@ bool RepairGUI_GlueDlg::execute( ObjectList& objects )
       GEOM::GEOM_Object_var anObj = GEOM::GEOM_IShapesOperations::_narrow
         ( getOperation() )->MakeGlueFaces( myObject, myTolEdt->value(), true );
       aResult = !anObj->_is_nil();
-      if ( aResult )
+      if ( aResult && !IsPreview() )
       {
        QStringList aParameters;
        aParameters << myTolEdt->text();
@@ -468,10 +468,12 @@ bool RepairGUI_GlueDlg::execute( ObjectList& objects )
 
       if ( aResult )
       {
-       QStringList aParameters;
-       aParameters << myTolEdt2->text();
-       anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
-
+       if ( !IsPreview() )
+       {
+         QStringList aParameters;
+         aParameters << myTolEdt2->text();
+         anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+       }
         objects.push_back( anObj._retn() );
       }
 
index e285fdfac00242a0f1d4fa6bf49921d2416379dc..997d6333e530e9d26474952f01efa823828a20dd 100644 (file)
@@ -298,10 +298,12 @@ bool RepairGUI_SewingDlg::execute( ObjectList& objects )
     aResult = !anObj->_is_nil();
     if ( aResult )
     {
-      QStringList aParameters;
-      aParameters << myTolEdt->text();
-      anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
-
+      if ( !IsPreview() )
+      {
+       QStringList aParameters;
+       aParameters << myTolEdt->text();
+       anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+      }
       objects.push_back( anObj._retn() );
     }
   }
index 9536fefb5b71a8d3d790f9745742cdfb53e1084a..a15e79ed23e1ce5f180bb92431e143a5188ea2e9 100755 (executable)
@@ -637,17 +637,19 @@ bool RepairGUI_ShapeProcessDlg::execute( ObjectList& objects )
       anErrorObjNames << GEOMBase::GetName( obj );
     else
     {
-      QStringList aParameters;
+      if ( !IsPreview() )
+      {
+       QStringList aParameters;
 
-      for ( int i = 0; i < anOperators->length(); i++ )
-       aParameters << QString( anOperators[i] );
+       for ( int i = 0; i < anOperators->length(); i++ )
+         aParameters << QString( anOperators[i] );
 
-      for ( int i = 0; i < aParams->length(); i++ )
-       aParameters << QString( aParams[i] );
-
-      aParameters << getTexts( aParams );
-      anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+       for ( int i = 0; i < aParams->length(); i++ )
+         aParameters << QString( aParams[i] );
 
+       aParameters << getTexts( aParams );
+       anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+      }
       objects.push_back( anObj._retn() );
     }
   }
index de530cc54f3d5eddf68ee26c72aef8e0e8c390c4..9f75f8085b36929b86fa7d2cb4a751ac4873dd7e 100644 (file)
@@ -530,6 +530,8 @@ bool TransformationGUI_RotationDlg::execute (ObjectList& objects)
   switch (getConstructorId()) {
   case 0:
     {
+      QStringList aParameters;
+      aParameters<<GroupPoints->SpinBox_DX->text();
       if (toCreateCopy) {
         for (int i = 0; i < myObjects.length(); i++) {
           myCurrObject = myObjects[i];
@@ -537,7 +539,7 @@ bool TransformationGUI_RotationDlg::execute (ObjectList& objects)
             RotateCopy(myObjects[i], myAxis, GetAngle() * PI180);
           if (!anObj->_is_nil()) {
             if(!IsPreview()) {
-              anObj->SetParameters(GroupPoints->SpinBox_DX->text().toLatin1().constData());
+              anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
             }
             objects.push_back(anObj._retn());
           }
@@ -548,8 +550,13 @@ bool TransformationGUI_RotationDlg::execute (ObjectList& objects)
           myCurrObject = myObjects[i];
           anObj = GEOM::GEOM_ITransformOperations::_narrow(getOperation())->
             Rotate(myObjects[i], myAxis, GetAngle() * PI180);
-          if (!anObj->_is_nil())
+          if (!anObj->_is_nil()) {
+            if(!IsPreview()) {
+              anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+             updateAttributes(anObj, aParameters);
+           }
             objects.push_back(anObj._retn());
+         }
         }
       }
       res = true;
index 6a55d49a61521aabc7364e12ac5a350def2be890..4267e2a11615eb1e15fd5bf586eedf9ed300b578 100644 (file)
@@ -581,8 +581,13 @@ bool TransformationGUI_TranslationDlg::execute (ObjectList& objects)
           myCurrObject = myObjects[i];
           anObj = GEOM::GEOM_ITransformOperations::_narrow(getOperation())->
             TranslateDXDYDZ(myObjects[i], dx, dy, dz);
-          if (!anObj->_is_nil())
+          if (!anObj->_is_nil()) {
+            if(!IsPreview()) {
+              anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+             updateAttributes(anObj, aParameters);
+           }
             objects.push_back(anObj._retn());
+         }
         }
       }
       res = true;
@@ -614,6 +619,7 @@ bool TransformationGUI_TranslationDlg::execute (ObjectList& objects)
   case 2:
     {
       QStringList aParameters;
+      aParameters<<GroupPoints->SpinBox3->text();
       bool byDistance = GroupPoints->CheckBox1->isChecked();
       if (byDistance) {
         double aDistance = GroupPoints->SpinBox3->value();
@@ -622,9 +628,10 @@ bool TransformationGUI_TranslationDlg::execute (ObjectList& objects)
           anObj = GEOM::GEOM_ITransformOperations::_narrow(getOperation())->
             TranslateVectorDistance(myObjects[i], myVector, aDistance, toCreateCopy);
           if (!anObj->_is_nil()) {
-            if(toCreateCopy)
-              if(!IsPreview())
-                anObj->SetParameters(GroupPoints->SpinBox3->text().toLatin1().constData());
+           if(!IsPreview()) {
+             anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+             updateAttributes(anObj, aParameters);
+           }
             objects.push_back(anObj._retn());
           }
         }