From 3ba64429c6c1ee8c3899ab32270b1223918f917c Mon Sep 17 00:00:00 2001 From: skl Date: Thu, 25 Feb 2010 14:12:14 +0000 Subject: [PATCH] Changes for bug 0020673. --- doc/salome/gui/GEOM/images/filling.png | Bin 22661 -> 18488 bytes .../gui/GEOM/input/creating_filling.doc | 28 ++-- idl/GEOM_Gen.idl | 3 +- idl/GEOM_Superv.idl | 3 +- src/GEOMGUI/GEOM_msg_en.ts | 6 +- src/GEOMImpl/GEOMImpl_FillingDriver.cxx | 125 +++++++++++++++++- src/GEOMImpl/GEOMImpl_I3DPrimOperations.cxx | 4 +- src/GEOMImpl/GEOMImpl_I3DPrimOperations.hxx | 3 +- src/GEOMImpl/GEOMImpl_IFilling.hxx | 4 + src/GEOM_I/GEOM_I3DPrimOperations_i.cc | 4 +- src/GEOM_I/GEOM_I3DPrimOperations_i.hh | 6 +- src/GEOM_I_Superv/GEOM_Superv_i.cc | 14 +- src/GEOM_I_Superv/GEOM_Superv_i.hh | 3 +- src/GEOM_SWIG/geompyDC.py | 7 +- .../GenerationGUI_FillingDlg.cxx | 30 ++++- src/GenerationGUI/GenerationGUI_FillingDlg.h | 2 + 16 files changed, 208 insertions(+), 34 deletions(-) diff --git a/doc/salome/gui/GEOM/images/filling.png b/doc/salome/gui/GEOM/images/filling.png index 3263ea47575c6720a743e3698a644a099052402d..da4ad8d41ce3b3b4967c4aa68f613caaafb24a10 100755 GIT binary patch literal 18488 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%0ALjQgN@Ve0|0ou{7V}mB1)de>kq{ifNu~WBBC^4 zupuI%)a!o=O~qhCL`0^Of#8z@0)mm}@y8#>%l~{iqlF?OqTF@!y??~PcU)nu85scV z77>5|PoEdh9#2!OlOg?Dy02ge~m5Q2#+0@N&mBmG%w zbLw-s%-dQbBFdNoo7_L7^v4+i5JI6R_;;EDpeX%~5KU|lpm~FU-6r)f8JaslQ2;?R zL7TFMv)2hCBFaC(7@^X%Kthuu#fk7VmHK0h+JphZn>7ec5ENmc-68<)qYvZ3haQAHcg|d4>(;GUym+xv zeBNE5#1-|QU~4JZdxn8v74}e@4>;*KY0g#>5m822dLI3~& literal 22661 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 WOtMZ)^TN5p2!yVtA-YHd8~RT@F14rt diff --git a/doc/salome/gui/GEOM/input/creating_filling.doc b/doc/salome/gui/GEOM/input/creating_filling.doc index fd4407f1e..b096fd8e7 100644 --- a/doc/salome/gui/GEOM/input/creating_filling.doc +++ b/doc/salome/gui/GEOM/input/creating_filling.doc @@ -6,22 +6,34 @@ To generate a \b Filling in the Main Menu select New Entity - > Genera To create a curving face using several edges you need to define the following parameters: -\n Edges Compound - the list of edges used for creation of the -surface; -\n \b Minimum and Maximum Degree of equation of the resulting BSpline or Besier curves describing the surface; +\n Input Compound - the list of edges/wires used for creation +of the surface. Before perform filling algorithm each wire from +compound is converted to one edge created on BSpline curve built using +curves from all edges from wire. +\n \b Minimum and Maximum Degree of equation of the resulting +BSpline or Besier curves describing the surface; \n \b Tolerance for \b 2D and for \b 3D - minimum distance between the created surface and the reference edge; \n Number of -Iterations - defines the maximum number of iterations. The iterations are repeated until the required tolerance is reached. So, a greater number of iterations allows producing a better surface. -\n Approximation - if checked, BSpline curves are generated in the process of surface construction (using GeomAPI_PointsToBSplineSurface functionality). By default the surface is created using Besier curves. The usage of Approximation makes the algorithm work slower, but allows building the -surface for rather complex cases. +Iterations - defines the maximum number of iterations. The +iterations are repeated until the required tolerance is reached. So, a +greater number of iterations allows producing a better surface. +\n Use orientation - if checked, orientation of edges are used: +if edge is reversed curve from this edge is reversed before using in +filling algorithm. +\n Approximation - if checked, BSpline curves are generated in +the process of surface construction (using +GeomAPI_PointsToBSplineSurface functionality). By default the surface +is created using Besier curves. The usage of Approximation +makes the algorithm work slower, but allows building the surface for +rather complex cases. \n The \b Result of the operation will be a GEOM_Object (face). \n TUI Command: geompy.MakeFilling(Edges, MinDegree, MaxDegree, Tol2D, Tol3D, NbIter) -\n Arguments: Name + 1 List of edges + 6 Parameters +\n Arguments: Name + 1 List of edges + 7 Parameters (Min. degree, Max. degree, Number of iterations, 2D tolerance, 3D -tolerance, Number of iterations, Appro). +tolerance, Number of iterations, Use orientation, Approximation). \image html filling.png diff --git a/idl/GEOM_Gen.idl b/idl/GEOM_Gen.idl index 158aa220e..7c3574ec8 100644 --- a/idl/GEOM_Gen.idl +++ b/idl/GEOM_Gen.idl @@ -1185,7 +1185,8 @@ module GEOM GEOM_Object MakeFilling (in GEOM_Object theShape, in long theMinDeg, in long theMaxDeg, in double theTol2D, in double theTol3D, - in long theNbIter, in boolean theApprox); + in long theNbIter, in boolean theUseOri, + in boolean theApprox); /*! * Create a shell or solid passing through set of sections.Sections should be wires,edges or vertices. diff --git a/idl/GEOM_Superv.idl b/idl/GEOM_Superv.idl index a120304e3..8fdc7d1c0 100644 --- a/idl/GEOM_Superv.idl +++ b/idl/GEOM_Superv.idl @@ -200,7 +200,8 @@ module GEOM GEOM_Object MakeFilling (in GEOM_Object theShape, in long theMinDeg, in long theMaxDeg, in double theTol2D, in double theTol3D, - in long theNbIter, in boolean theApprox) ; + in long theNbIter, in boolean theUseOri, + in boolean theApprox) ; GEOM_Object MakeThruSections(in ListOfGO theSeqSections, in boolean theModeSolid, in double thePreci, diff --git a/src/GEOMGUI/GEOM_msg_en.ts b/src/GEOMGUI/GEOM_msg_en.ts index e1d1debce..3bf87669a 100644 --- a/src/GEOMGUI/GEOM_msg_en.ts +++ b/src/GEOMGUI/GEOM_msg_en.ts @@ -685,7 +685,7 @@ Please, select face, shell or solid and try again GEOM_FILLING_COMPOUND - Edges compound + Input compound GEOM_FILLING_MAX_DEG @@ -3731,6 +3731,10 @@ Please, select face, shell or solid and try again GEOM_FILLING_APPROX Approximation + + GEOM_FILLING_USEORI + Use orientation + GEOM_WRN_NO_APPROPRIATE_SELECTION No appropriate objects selected diff --git a/src/GEOMImpl/GEOMImpl_FillingDriver.cxx b/src/GEOMImpl/GEOMImpl_FillingDriver.cxx index 970efb3c9..cf893cd46 100644 --- a/src/GEOMImpl/GEOMImpl_FillingDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_FillingDriver.cxx @@ -29,15 +29,23 @@ #include #include #include +#include #include #include #include +#include +#include +#include #include #include #include #include +#include +#include +#include +#include #include #include #include @@ -50,6 +58,13 @@ #include #include #include +#include + +#include +#include + +//#include + //======================================================================= //function : GetID @@ -95,6 +110,7 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const Standard_Real tol2d = IF.GetTol3D(); Standard_Integer nbiter = IF.GetNbIter(); Standard_Boolean isApprox = IF.GetApprox(); + Standard_Boolean isUseOri = IF.GetUseOri(); if (mindeg > maxdeg) { Standard_RangeError::Raise("Minimal degree can not be more than maximal degree"); @@ -106,12 +122,103 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const Standard_Real First, Last; Handle(Geom_Curve) C; + TopoDS_Compound aComp; + BRep_Builder B; + B.MakeCompound(aComp); + TopoDS_Iterator It (aShape); for (; It.More(); It.Next()) { Scurrent = It.Value(); - if (Scurrent.ShapeType() != TopAbs_EDGE) - Standard_ConstructionError::Raise("The argument compound must contain only edges"); + if (Scurrent.ShapeType() != TopAbs_EDGE) { + Handle(Geom_BSplineCurve) newC; + if (Scurrent.ShapeType() == TopAbs_WIRE) { + TColgp_SequenceOfPnt PntSeq; + // collect points + for (Ex.Init(Scurrent, TopAbs_EDGE); Ex.More(); Ex.Next()) { + TopoDS_Edge E = TopoDS::Edge(Ex.Current()); + if (BRep_Tool::Degenerated(E)) continue; + C = BRep_Tool::Curve(E, First, Last); + if( E.Orientation() == TopAbs_REVERSED ) { + C->Reverse(); + } + Handle(Geom_TrimmedCurve) tc = Handle(Geom_TrimmedCurve)::DownCast(C); + while( !tc.IsNull() ) { + C = tc->BasisCurve(); + tc = Handle(Geom_TrimmedCurve)::DownCast(C); + } + int nbp = 10; + if( C->IsKind(STANDARD_TYPE(Geom_Line)) ) { + nbp = 4; + } + else if( C->IsKind(STANDARD_TYPE(Geom_Circle)) || + C->IsKind(STANDARD_TYPE(Geom_Ellipse)) ) { + nbp = (int)25*fabs(Last-First)/(2*PI); + } + else if( C->IsKind(STANDARD_TYPE(Geom_BezierCurve)) ) { + Handle(Geom_BezierCurve) C3d = Handle(Geom_BezierCurve)::DownCast(C); + nbp = C3d->NbPoles(); + } + else if( C->IsKind(STANDARD_TYPE(Geom_BSplineCurve)) ) { + Handle(Geom_BSplineCurve) C3d = Handle(Geom_BSplineCurve)::DownCast(C); + nbp = C3d->NbPoles(); + } + else { + } + if( nbp<4 ) nbp = 4; + double dp = (Last-First)/(nbp-1); + for(int i=1; iD0(First+dp*(i-1),P); + PntSeq.Append(P); + } + } + // add last point + gp_Pnt P; + C->D0(Last,P); + PntSeq.Append(P); + // create BSpline + if(PntSeq.Length()>1) { + TColgp_Array1OfPnt Pnts(1,PntSeq.Length()); + // check orientation of wire + if( Scurrent.Orientation() == TopAbs_REVERSED ) { + for(int i=1; i<=PntSeq.Length(); i++) { + Pnts.SetValue(PntSeq.Length()-i+1,PntSeq.Value(i)); + } + } + else { + for(int i=1; i<=PntSeq.Length(); i++) { + Pnts.SetValue(i,PntSeq.Value(i)); + } + } + GeomAPI_PointsToBSpline PTB(Pnts); + newC = Handle(Geom_BSplineCurve)::DownCast(PTB.Curve()); + // set periodic flag if curve is closed + //if( newC->IsClosed() ) { + // newC->SetPeriodic(); + //} + // create edge + double fp = newC->FirstParameter(); + double lp = newC->FirstParameter(); + gp_Pnt PF,PL; + newC->D0(fp,PF); + newC->D0(lp,PL); + TopoDS_Vertex VF,VL; + B.MakeVertex(VF,PF,1.e-7); + B.MakeVertex(VL,PL,1.e-7); + TopoDS_Edge newE; + B.MakeEdge(newE,newC,1.e-7); + B.Add(newE,VF); + B.Add(newE,VL.Reversed()); + Scurrent = newE; + } + } + if(newC.IsNull()) { + Standard_ConstructionError::Raise("The argument compound must contain only edges"); + } + } + B.Add(aComp,Scurrent); } + aShape = aComp; if (!isApprox) { // make filling as in old version of SALOME (before 4.1.1) @@ -122,11 +229,15 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const if (Scurrent.IsNull() || Scurrent.ShapeType() != TopAbs_EDGE) return 0; if (BRep_Tool::Degenerated(TopoDS::Edge(Scurrent))) continue; C = BRep_Tool::Curve(TopoDS::Edge(Scurrent), First, Last); - if (Scurrent.Orientation() == TopAbs_REVERSED) - // Mantis isuue 0020659: consider the orientation of the edges - C = new Geom_TrimmedCurve(C, Last, First); - else - C = new Geom_TrimmedCurve(C, First, Last); + //if (Scurrent.Orientation() == TopAbs_REVERSED) + // // Mantis isuue 0020659: consider the orientation of the edges + // C = new Geom_TrimmedCurve(C, Last, First); + //else + // C = new Geom_TrimmedCurve(C, First, Last); + C = new Geom_TrimmedCurve(C, First, Last); + if( isUseOri && Scurrent.Orientation() == TopAbs_REVERSED ) { + C->Reverse(); + } Section.AddCurve(C); i++; } diff --git a/src/GEOMImpl/GEOMImpl_I3DPrimOperations.cxx b/src/GEOMImpl/GEOMImpl_I3DPrimOperations.cxx index c0a8d0fb8..185f6bb72 100644 --- a/src/GEOMImpl/GEOMImpl_I3DPrimOperations.cxx +++ b/src/GEOMImpl/GEOMImpl_I3DPrimOperations.cxx @@ -1453,7 +1453,8 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeRevolutionAxisAngle2Ways //============================================================================= Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeFilling (Handle(GEOM_Object) theShape, int theMinDeg, int theMaxDeg, - double theTol2D, double theTol3D, int theNbIter, bool isApprox) + double theTol2D, double theTol3D, int theNbIter, + bool isUseOri, bool isApprox) { SetErrorCode(KO); @@ -1482,6 +1483,7 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeFilling aFI.SetTol3D(theTol3D); aFI.SetNbIter(theNbIter); aFI.SetApprox(isApprox); + aFI.SetUseOri(isUseOri); //Compute the Solid value try { diff --git a/src/GEOMImpl/GEOMImpl_I3DPrimOperations.hxx b/src/GEOMImpl/GEOMImpl_I3DPrimOperations.hxx index 7214d4807..f8652b3fa 100644 --- a/src/GEOMImpl/GEOMImpl_I3DPrimOperations.hxx +++ b/src/GEOMImpl/GEOMImpl_I3DPrimOperations.hxx @@ -100,7 +100,8 @@ class GEOMImpl_I3DPrimOperations : public GEOM_IOperations { Standard_EXPORT Handle(GEOM_Object) MakeFilling (Handle(GEOM_Object) theShape, int theMinDeg, int theMaxDeg, double theTol2D, double theTol3D, - int theNbIter, bool isApprox); + int theNbIter, bool isUseOri, + bool isApprox); Standard_EXPORT Handle(GEOM_Object) MakeThruSections (const Handle(TColStd_HSequenceOfTransient)& theSeqSections, diff --git a/src/GEOMImpl/GEOMImpl_IFilling.hxx b/src/GEOMImpl/GEOMImpl_IFilling.hxx index 491555e48..d5d875684 100644 --- a/src/GEOMImpl/GEOMImpl_IFilling.hxx +++ b/src/GEOMImpl/GEOMImpl_IFilling.hxx @@ -30,6 +30,7 @@ #define FILL_ARG_SHAPE 5 #define FILL_ARG_NBITER 6 #define FILL_ARG_APPROX 7 +#define FILL_ARG_USEORI 8 class GEOMImpl_IFilling { @@ -52,6 +53,9 @@ class GEOMImpl_IFilling void SetApprox(bool theApprox) { _func->SetInteger(FILL_ARG_APPROX, theApprox); } bool GetApprox() { return _func->GetInteger(FILL_ARG_APPROX); } + void SetUseOri(bool theUseOri) { _func->SetInteger(FILL_ARG_USEORI, theUseOri); } + bool GetUseOri() { return _func->GetInteger(FILL_ARG_USEORI); } + void SetShape(Handle(GEOM_Function) theShape) { _func->SetReference(FILL_ARG_SHAPE, theShape); } Handle(GEOM_Function) GetShape() { return _func->GetReference(FILL_ARG_SHAPE); } diff --git a/src/GEOM_I/GEOM_I3DPrimOperations_i.cc b/src/GEOM_I/GEOM_I3DPrimOperations_i.cc index 14922b2e0..c1ae47314 100644 --- a/src/GEOM_I/GEOM_I3DPrimOperations_i.cc +++ b/src/GEOM_I/GEOM_I3DPrimOperations_i.cc @@ -710,6 +710,7 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeFilling(GEOM::GEOM_Object_pt CORBA::Double theTol2D, CORBA::Double theTol3D, CORBA::Long theNbIter, + CORBA::Boolean theUseOri, CORBA::Boolean theApprox) { GEOM::GEOM_Object_var aGEOMObject; @@ -724,7 +725,8 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeFilling(GEOM::GEOM_Object_pt //Create the Solid Handle(GEOM_Object) anObject = GetOperations()->MakeFilling - (aShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, theApprox); + (aShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, + theUseOri, theApprox); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); diff --git a/src/GEOM_I/GEOM_I3DPrimOperations_i.hh b/src/GEOM_I/GEOM_I3DPrimOperations_i.hh index e6574b876..a31221abb 100644 --- a/src/GEOM_I/GEOM_I3DPrimOperations_i.hh +++ b/src/GEOM_I/GEOM_I3DPrimOperations_i.hh @@ -134,7 +134,11 @@ class GEOM_I_EXPORT GEOM_I3DPrimOperations_i : GEOM::GEOM_Object_ptr theAxis, CORBA::Double theAngle); - GEOM::GEOM_Object_ptr MakeFilling(GEOM::GEOM_Object_ptr theShape, CORBA::Long theMinDeg, CORBA::Long theMaxDeg, CORBA::Double theTol2D, CORBA::Double theTol3D, CORBA::Long theNbIter, CORBA::Boolean theApprox); + GEOM::GEOM_Object_ptr MakeFilling(GEOM::GEOM_Object_ptr theShape, + CORBA::Long theMinDeg, CORBA::Long theMaxDeg, + CORBA::Double theTol2D, CORBA::Double theTol3D, + CORBA::Long theNbIter, CORBA::Boolean theUseOri, + CORBA::Boolean theApprox); GEOM::GEOM_Object_ptr MakeThruSections(const GEOM::ListOfGO& theSeqSections, CORBA::Boolean theModeSolid, diff --git a/src/GEOM_I_Superv/GEOM_Superv_i.cc b/src/GEOM_I_Superv/GEOM_Superv_i.cc index 6518d8338..0ce3c9539 100644 --- a/src/GEOM_I_Superv/GEOM_Superv_i.cc +++ b/src/GEOM_I_Superv/GEOM_Superv_i.cc @@ -1242,14 +1242,20 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle2Ways (GEOM::GEOM_Ob // MakeFilling: //============================================================================= GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape, - CORBA::Long theMinDeg, CORBA::Long theMaxDeg, - CORBA::Double theTol2D, CORBA::Double theTol3D, - CORBA::Long theNbIter, CORBA::Boolean theApprox) + CORBA::Long theMinDeg, + CORBA::Long theMaxDeg, + CORBA::Double theTol2D, + CORBA::Double theTol3D, + CORBA::Long theNbIter, + CORBA::Boolean theUseOri, + CORBA::Boolean theApprox) { beginService( " GEOM_Superv_i::MakeFilling" ); MESSAGE("GEOM_Superv_i::MakeFilling"); get3DPrimOp(); - GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, theApprox); + GEOM::GEOM_Object_ptr anObj = + my3DPrimOp->MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, + theNbIter, theUseOri, theApprox); endService( " GEOM_Superv_i::MakeFilling" ); return anObj; } diff --git a/src/GEOM_I_Superv/GEOM_Superv_i.hh b/src/GEOM_I_Superv/GEOM_Superv_i.hh index d726e3b2a..a1d19e9fd 100644 --- a/src/GEOM_I_Superv/GEOM_Superv_i.hh +++ b/src/GEOM_I_Superv/GEOM_Superv_i.hh @@ -288,7 +288,8 @@ public: GEOM::GEOM_Object_ptr MakeFilling (GEOM::GEOM_Object_ptr theShape, CORBA::Long theMinDeg, CORBA::Long theMaxDeg, CORBA::Double theTol2D, CORBA::Double theTol3D, - CORBA::Long theNbIter, CORBA::Boolean theApprox); + CORBA::Long theNbIter, CORBA::Boolean theUseOri, + CORBA::Boolean theApprox); GEOM::GEOM_Object_ptr MakeThruSections(const GEOM::ListOfGO& theSeqSections, CORBA::Boolean theModeSolid, diff --git a/src/GEOM_SWIG/geompyDC.py b/src/GEOM_SWIG/geompyDC.py index 2375d54c3..443c90e91 100644 --- a/src/GEOM_SWIG/geompyDC.py +++ b/src/GEOM_SWIG/geompyDC.py @@ -1316,6 +1316,7 @@ class geompyDC(GEOM._objref_GEOM_Gen): # @param theTol2D a 2d tolerance to be reached # @param theTol3D a 3d tolerance to be reached # @param theNbIter a number of iteration of approximation algorithm + # @param isUseOri flag for take into account orientation of edges # @param isApprox if True, BSpline curves are generated in the process # of surface construction. By default it is False, that means # the surface is created using Besier curves. The usage of @@ -1324,12 +1325,14 @@ class geompyDC(GEOM._objref_GEOM_Gen): # @return New GEOM_Object, containing the created filling surface. # # @ref tui_creation_filling "Example" - def MakeFilling(self, theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, isApprox=0): + def MakeFilling(self, theShape, theMinDeg, theMaxDeg, theTol2D, + theTol3D, theNbIter, isUseOri=0, isApprox=0): # Example: see GEOM_TestAll.py theMinDeg,theMaxDeg,theTol2D,theTol3D,theNbIter,Parameters = ParseParameters(theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter) anObj = self.PrimOp.MakeFilling(theShape, theMinDeg, theMaxDeg, - theTol2D, theTol3D, theNbIter, isApprox) + theTol2D, theTol3D, theNbIter, + isUseOri, isApprox) RaiseIfFailed("MakeFilling", self.PrimOp) anObj.SetParameters(Parameters) return anObj diff --git a/src/GenerationGUI/GenerationGUI_FillingDlg.cxx b/src/GenerationGUI/GenerationGUI_FillingDlg.cxx index d658806b5..c43b3fd2c 100644 --- a/src/GenerationGUI/GenerationGUI_FillingDlg.cxx +++ b/src/GenerationGUI/GenerationGUI_FillingDlg.cxx @@ -70,6 +70,7 @@ GenerationGUI_FillingDlg::GenerationGUI_FillingDlg( GeometryGUI* theGeometryGUI, GroupPoints->TextLabel5->setText( tr( "GEOM_FILLING_MAX_DEG" ) ); GroupPoints->TextLabel6->setText( tr( "GEOM_FILLING_TOL_3D" ) ); GroupPoints->CheckBox1->setText( tr( "GEOM_FILLING_APPROX" ) ); + GroupPoints->CheckBox2->setText( tr( "GEOM_FILLING_USEORI" ) ); GroupPoints->PushButton1->setIcon( image1 ); GroupPoints->LineEdit1->setReadOnly( true ); @@ -108,6 +109,7 @@ void GenerationGUI_FillingDlg::Init() myTol3D = 0.0001; myTol2D = 0.0001; myNbIter = 0; + myIsUseOri = false; myIsApprox = false; myOkCompound = false; @@ -141,7 +143,11 @@ void GenerationGUI_FillingDlg::Init() connect( GroupPoints->SpinBox4, SIGNAL( valueChanged( double ) ), this, SLOT( ValueChangedInSpinBox( double ) ) ); connect( GroupPoints->SpinBox5, SIGNAL( valueChanged( double ) ), this, SLOT( ValueChangedInSpinBox( double ) ) ); - connect( GroupPoints->CheckBox1, SIGNAL( stateChanged( int ) ), this, SLOT( ApproxChanged() ) ); + connect( GroupPoints->CheckBox1, SIGNAL( stateChanged( int ) ), + this, SLOT( ApproxChanged() ) ); + + connect( GroupPoints->CheckBox2, SIGNAL( stateChanged( int ) ), + this, SLOT( UseOriChanged() ) ); connect( myGeomGUI, SIGNAL( SignalDefaultStepValueChanged( double ) ), this, SLOT( SetDoubleSpinBoxStep( double ) ) ); @@ -224,7 +230,8 @@ void GenerationGUI_FillingDlg::SelectionIntoArgument() if (GEOMBase::GetShape(aSelectedObject, S) && S.ShapeType() == TopAbs_COMPOUND) { // myCompound should be a compound of edges for (TopoDS_Iterator it (S); it.More(); it.Next()) - if (it.Value().ShapeType() != TopAbs_EDGE) + if ( it.Value().ShapeType() != TopAbs_EDGE && + it.Value().ShapeType() != TopAbs_WIRE ) return; myCompound = aSelectedObject; myOkCompound = true; @@ -314,6 +321,16 @@ void GenerationGUI_FillingDlg::ValueChangedInSpinBox( double newValue ) displayPreview(); } +//================================================================================= +// function : UseOriChanged() +// purpose : +//================================================================================= +void GenerationGUI_FillingDlg::UseOriChanged() +{ + myIsUseOri = GroupPoints->CheckBox2->isChecked(); + displayPreview(); +} + //================================================================================= // function : ApproxChanged() // purpose : @@ -324,6 +341,7 @@ void GenerationGUI_FillingDlg::ApproxChanged() displayPreview(); } + //================================================================================= // function : createOperation // purpose : @@ -355,9 +373,11 @@ bool GenerationGUI_FillingDlg::isValid( QString& msg ) //================================================================================= bool GenerationGUI_FillingDlg::execute( ObjectList& objects ) { - GEOM::GEOM_I3DPrimOperations_var anOper = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation()); - GEOM::GEOM_Object_var anObj = anOper->MakeFilling( myCompound, myMinDeg, myMaxDeg, - myTol2D, myTol3D, myNbIter, myIsApprox ); + GEOM::GEOM_I3DPrimOperations_var anOper = + GEOM::GEOM_I3DPrimOperations::_narrow(getOperation()); + GEOM::GEOM_Object_var anObj = + anOper->MakeFilling( myCompound, myMinDeg, myMaxDeg, myTol2D, myTol3D, + myNbIter, myIsUseOri, myIsApprox ); if ( !anObj->_is_nil() ) { if ( !IsPreview() ) diff --git a/src/GenerationGUI/GenerationGUI_FillingDlg.h b/src/GenerationGUI/GenerationGUI_FillingDlg.h index ed4de1d3d..f30dfa2bd 100644 --- a/src/GenerationGUI/GenerationGUI_FillingDlg.h +++ b/src/GenerationGUI/GenerationGUI_FillingDlg.h @@ -60,6 +60,7 @@ private: Standard_Real myTol2D; Standard_Integer myNbIter; bool myIsApprox; + bool myIsUseOri; bool myOkCompound; /* to check when curv. compound is defined */ DlgRef_1Sel5Spin1Check* GroupPoints; @@ -72,6 +73,7 @@ private slots: void SelectionIntoArgument(); void SetEditCurrentArgument(); void ValueChangedInSpinBox( double ); + void UseOriChanged(); void ApproxChanged(); void SetDoubleSpinBoxStep( double ); };