mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-01-13 10:10:34 +05:00
Mantis issue 0021541: EDF 2213 GEOM: Filling accuracy
This commit is contained in:
parent
f6d916275e
commit
12efffce9b
@ -18,7 +18,6 @@
|
|||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
|
||||||
|
|
||||||
#include <Standard_Stream.hxx>
|
#include <Standard_Stream.hxx>
|
||||||
|
|
||||||
@ -98,27 +97,23 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
|
|||||||
if (Label().IsNull()) return 0;
|
if (Label().IsNull()) return 0;
|
||||||
Handle(GEOM_Function) aFunction = GEOM_Function::GetFunction(Label());
|
Handle(GEOM_Function) aFunction = GEOM_Function::GetFunction(Label());
|
||||||
if (aFunction.IsNull()) return 0;
|
if (aFunction.IsNull()) return 0;
|
||||||
|
|
||||||
if (aFunction->GetType() != BASIC_FILLING) return 0;
|
if (aFunction->GetType() != BASIC_FILLING) return 0;
|
||||||
|
|
||||||
GEOMImpl_IFilling IF (aFunction);
|
GEOMImpl_IFilling IF (aFunction);
|
||||||
Handle(GEOM_Function) aShapeFunction = IF.GetShape();
|
Handle(GEOM_Function) aShapeFunction = IF.GetShape();
|
||||||
if (aShapeFunction.IsNull()) return 0;
|
if (aShapeFunction.IsNull()) return 0;
|
||||||
TopoDS_Shape aShape;
|
|
||||||
|
|
||||||
BRepBuilderAPI_Copy Copy(aShapeFunction->GetValue());
|
TopoDS_Shape aShape;
|
||||||
if( Copy.IsDone() )
|
BRepBuilderAPI_Copy Copy (aShapeFunction->GetValue());
|
||||||
|
if (Copy.IsDone())
|
||||||
aShape = Copy.Shape();
|
aShape = Copy.Shape();
|
||||||
|
|
||||||
if (aShape.IsNull() || aShape.ShapeType() != TopAbs_COMPOUND) return 0;
|
if (aShape.IsNull() || aShape.ShapeType() != TopAbs_COMPOUND) return 0;
|
||||||
|
|
||||||
Standard_Integer mindeg = IF.GetMinDeg();
|
Standard_Integer mindeg = IF.GetMinDeg();
|
||||||
Standard_Integer maxdeg = IF.GetMaxDeg();
|
Standard_Integer maxdeg = IF.GetMaxDeg();
|
||||||
Standard_Real tol3d = IF.GetTol2D();
|
Standard_Real tol3d = IF.GetTol3D();
|
||||||
Standard_Real tol2d = IF.GetTol3D();
|
|
||||||
Standard_Integer nbiter = IF.GetNbIter();
|
|
||||||
Standard_Boolean isApprox = IF.GetApprox();
|
Standard_Boolean isApprox = IF.GetApprox();
|
||||||
Standard_Integer aMethod = IF.GetMethod();
|
|
||||||
|
|
||||||
if (mindeg > maxdeg) {
|
if (mindeg > maxdeg) {
|
||||||
Standard_RangeError::Raise("Minimal degree can not be more than maximal degree");
|
Standard_RangeError::Raise("Minimal degree can not be more than maximal degree");
|
||||||
@ -134,6 +129,7 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
|
|||||||
BRep_Builder B;
|
BRep_Builder B;
|
||||||
B.MakeCompound(aComp);
|
B.MakeCompound(aComp);
|
||||||
|
|
||||||
|
// 1. Convert argument wires, if any, into BSpline edges
|
||||||
TopoDS_Iterator It (aShape);
|
TopoDS_Iterator It (aShape);
|
||||||
for (; It.More(); It.Next()) {
|
for (; It.More(); It.Next()) {
|
||||||
Scurrent = It.Value();
|
Scurrent = It.Value();
|
||||||
@ -198,7 +194,7 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
|
|||||||
Pnts.SetValue(i,PntSeq.Value(i));
|
Pnts.SetValue(i,PntSeq.Value(i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GeomAPI_PointsToBSpline PTB(Pnts);
|
GeomAPI_PointsToBSpline PTB (Pnts);
|
||||||
newC = Handle(Geom_BSplineCurve)::DownCast(PTB.Curve());
|
newC = Handle(Geom_BSplineCurve)::DownCast(PTB.Curve());
|
||||||
// set periodic flag if curve is closed
|
// set periodic flag if curve is closed
|
||||||
//if( newC->IsClosed() ) {
|
//if( newC->IsClosed() ) {
|
||||||
@ -220,7 +216,7 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
|
|||||||
Scurrent = newE;
|
Scurrent = newE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(newC.IsNull()) {
|
if (newC.IsNull()) {
|
||||||
Standard_ConstructionError::Raise("The argument compound must contain only edges");
|
Standard_ConstructionError::Raise("The argument compound must contain only edges");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -228,8 +224,14 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
|
|||||||
}
|
}
|
||||||
aShape = aComp;
|
aShape = aComp;
|
||||||
|
|
||||||
|
// 2. The surface construction
|
||||||
if (!isApprox) {
|
if (!isApprox) {
|
||||||
// make filling as in old version of SALOME (before 4.1.1)
|
// make filling as in old version of SALOME (before 4.1.1)
|
||||||
|
|
||||||
|
Standard_Real tol2d = IF.GetTol2D();
|
||||||
|
Standard_Integer nbiter = IF.GetNbIter();
|
||||||
|
Standard_Integer aMethod = IF.GetMethod();
|
||||||
|
|
||||||
GeomFill_SectionGenerator Section;
|
GeomFill_SectionGenerator Section;
|
||||||
Standard_Integer i = 0;
|
Standard_Integer i = 0;
|
||||||
Handle(Geom_Curve) aLastC;
|
Handle(Geom_Curve) aLastC;
|
||||||
@ -249,18 +251,18 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
|
|||||||
C->D0(First,P1);
|
C->D0(First,P1);
|
||||||
C->D0(Last,P2);
|
C->D0(Last,P2);
|
||||||
|
|
||||||
if( aMethod==1 && Scurrent.Orientation() == TopAbs_REVERSED ) {
|
if (aMethod == 1 && Scurrent.Orientation() == TopAbs_REVERSED) {
|
||||||
C->Reverse();
|
C->Reverse();
|
||||||
}
|
}
|
||||||
else if( aMethod==2 ) {
|
else if (aMethod == 2) {
|
||||||
if( i==0 ) {
|
if (i == 0) {
|
||||||
PL1 = P1;
|
PL1 = P1;
|
||||||
PL2 = P2;
|
PL2 = P2;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
double d1 = PL1.Distance(P1) + PL2.Distance(P2);
|
double d1 = PL1.Distance(P1) + PL2.Distance(P2);
|
||||||
double d2 = PL1.Distance(P2) + PL2.Distance(P1);
|
double d2 = PL1.Distance(P2) + PL2.Distance(P1);
|
||||||
if(d2<d1) {
|
if (d2 < d1) {
|
||||||
C->Reverse();
|
C->Reverse();
|
||||||
PL1 = P2;
|
PL1 = P2;
|
||||||
PL2 = P1;
|
PL2 = P1;
|
||||||
@ -301,8 +303,10 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
|
|||||||
// implemented by skl 20.03.2008 for bug 16568
|
// implemented by skl 20.03.2008 for bug 16568
|
||||||
// make approximation - try to create bspline surface
|
// make approximation - try to create bspline surface
|
||||||
// using GeomAPI_PointsToBSplineSurface
|
// using GeomAPI_PointsToBSplineSurface
|
||||||
|
|
||||||
TColGeom_SequenceOfCurve aSeq;
|
TColGeom_SequenceOfCurve aSeq;
|
||||||
int MaxNbPoles = 0;
|
int MaxNbPoles = 0;
|
||||||
|
|
||||||
// add curves from edges to sequence and find maximal
|
// add curves from edges to sequence and find maximal
|
||||||
// number of poles if some of them are bsplines
|
// number of poles if some of them are bsplines
|
||||||
for (Ex.Init(aShape, TopAbs_EDGE); Ex.More(); Ex.Next()) {
|
for (Ex.Init(aShape, TopAbs_EDGE); Ex.More(); Ex.Next()) {
|
||||||
@ -311,21 +315,21 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
|
|||||||
if (BRep_Tool::Degenerated(TopoDS::Edge(Scurrent))) continue;
|
if (BRep_Tool::Degenerated(TopoDS::Edge(Scurrent))) continue;
|
||||||
C = BRep_Tool::Curve(TopoDS::Edge(Scurrent), First, Last);
|
C = BRep_Tool::Curve(TopoDS::Edge(Scurrent), First, Last);
|
||||||
Handle(Geom_TrimmedCurve) TC = Handle(Geom_TrimmedCurve)::DownCast(C);
|
Handle(Geom_TrimmedCurve) TC = Handle(Geom_TrimmedCurve)::DownCast(C);
|
||||||
if(TC.IsNull()) {
|
if (TC.IsNull()) {
|
||||||
Handle(Geom_BSplineCurve) BC = Handle(Geom_BSplineCurve)::DownCast(C);
|
Handle(Geom_BSplineCurve) BC = Handle(Geom_BSplineCurve)::DownCast(C);
|
||||||
if(!BC.IsNull()) {
|
if (!BC.IsNull()) {
|
||||||
MaxNbPoles = Max(MaxNbPoles,BC->NbPoles());
|
MaxNbPoles = Max(MaxNbPoles,BC->NbPoles());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Handle(Geom_BSplineCurve) BC = Handle(Geom_BSplineCurve)::DownCast(TC->BasisCurve());
|
Handle(Geom_BSplineCurve) BC = Handle(Geom_BSplineCurve)::DownCast(TC->BasisCurve());
|
||||||
if(BC.IsNull()) {
|
if (BC.IsNull()) {
|
||||||
Handle(Geom_TrimmedCurve) TC1 = Handle(Geom_TrimmedCurve)::DownCast(TC->BasisCurve());
|
Handle(Geom_TrimmedCurve) TC1 = Handle(Geom_TrimmedCurve)::DownCast(TC->BasisCurve());
|
||||||
if(!TC1.IsNull()) {
|
if (!TC1.IsNull()) {
|
||||||
BC = Handle(Geom_BSplineCurve)::DownCast(TC1->BasisCurve());
|
BC = Handle(Geom_BSplineCurve)::DownCast(TC1->BasisCurve());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!BC.IsNull()) {
|
if (!BC.IsNull()) {
|
||||||
MaxNbPoles = Max(MaxNbPoles,BC->NbPoles());
|
MaxNbPoles = Max(MaxNbPoles,BC->NbPoles());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -336,23 +340,26 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
|
|||||||
// by V parameter - determ using MaxNbPoles but it's
|
// by V parameter - determ using MaxNbPoles but it's
|
||||||
// value must be between 21(min) and 101(max)
|
// value must be between 21(min) and 101(max)
|
||||||
int nbc = aSeq.Length();
|
int nbc = aSeq.Length();
|
||||||
int nbp = Max(21,2*MaxNbPoles-1);
|
int nbp = Max(21, 2*MaxNbPoles-1);
|
||||||
if(nbp>101) nbp = 101;
|
|
||||||
TColgp_Array2OfPnt Points(1,nbc,1,nbp);
|
// commented for Mantis issue 0021541
|
||||||
|
//if (nbp > 101) nbp = 101;
|
||||||
|
|
||||||
|
TColgp_Array2OfPnt Points (1, nbc, 1, nbp);
|
||||||
int ic = 1;
|
int ic = 1;
|
||||||
for(; ic<=nbc; ic++) {
|
for (; ic <= nbc; ic++) {
|
||||||
Handle(Geom_Curve) C = aSeq.Value(ic);
|
Handle(Geom_Curve) C = aSeq.Value(ic);
|
||||||
double fp = C->FirstParameter();
|
double fp = C->FirstParameter();
|
||||||
double lp = C->LastParameter();
|
double lp = C->LastParameter();
|
||||||
double dp = (lp-fp)/(nbp-1);
|
double dp = (lp-fp)/(nbp-1);
|
||||||
int j = 0;
|
int j = 0;
|
||||||
gp_Pnt P;
|
gp_Pnt P;
|
||||||
for(; j<nbp; j++) {
|
for (; j < nbp; j++) {
|
||||||
C->D0(fp+dp*j,P);
|
C->D0(fp+dp*j, P);
|
||||||
Points.SetValue(ic,j+1,P);
|
Points.SetValue(ic, j+1, P);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GeomAPI_PointsToBSplineSurface PTB(Points,mindeg,maxdeg,GeomAbs_C2,tol3d);
|
GeomAPI_PointsToBSplineSurface PTB (Points, mindeg, maxdeg, GeomAbs_C2, tol3d);
|
||||||
Handle(Geom_BSplineSurface) BS = PTB.Surface();
|
Handle(Geom_BSplineSurface) BS = PTB.Surface();
|
||||||
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
|
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
|
||||||
BRepBuilderAPI_MakeFace BB (BS, Precision::Confusion());
|
BRepBuilderAPI_MakeFace BB (BS, Precision::Confusion());
|
||||||
@ -360,7 +367,7 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
|
|||||||
BRepBuilderAPI_MakeFace BB (BS);
|
BRepBuilderAPI_MakeFace BB (BS);
|
||||||
#endif
|
#endif
|
||||||
TopoDS_Face NewF = BB.Face();
|
TopoDS_Face NewF = BB.Face();
|
||||||
Handle(ShapeFix_Face) sff = new ShapeFix_Face(NewF);
|
Handle(ShapeFix_Face) sff = new ShapeFix_Face (NewF);
|
||||||
sff->Perform();
|
sff->Perform();
|
||||||
sff->FixOrientation();
|
sff->FixOrientation();
|
||||||
aShape = sff->Face();
|
aShape = sff->Face();
|
||||||
@ -368,7 +375,7 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
|
|||||||
|
|
||||||
/* We test the validity of resulting shape */
|
/* We test the validity of resulting shape */
|
||||||
if (!BRepAlgo::IsValid((aShape))) {
|
if (!BRepAlgo::IsValid((aShape))) {
|
||||||
Standard_ConstructionError::Raise("Algorithm have produced an invalid shape result");
|
Standard_ConstructionError::Raise("Algorithm has produced an invalid shape result");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2481,9 +2481,9 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# @param theMethod Kind of method to perform filling operation(see GEOM::filling_oper_method())
|
# @param theMethod Kind of method to perform filling operation(see GEOM::filling_oper_method())
|
||||||
# @param isApprox if True, BSpline curves are generated in the process
|
# @param isApprox if True, BSpline curves are generated in the process
|
||||||
# of surface construction. By default it is False, that means
|
# of surface construction. By default it is False, that means
|
||||||
# the surface is created using Besier curves. The usage of
|
# the surface is created using given curves. The usage of
|
||||||
# Approximation makes the algorithm work slower, but allows
|
# Approximation makes the algorithm work slower, but allows
|
||||||
# building the surface for rather complex cases
|
# building the surface for rather complex cases.
|
||||||
# @return New GEOM.GEOM_Object, containing the created filling surface.
|
# @return New GEOM.GEOM_Object, containing the created filling surface.
|
||||||
#
|
#
|
||||||
# @ref tui_creation_filling "Example"
|
# @ref tui_creation_filling "Example"
|
||||||
@ -2502,7 +2502,7 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
theMethod Kind of method to perform filling operation(see GEOM::filling_oper_method())
|
theMethod Kind of method to perform filling operation(see GEOM::filling_oper_method())
|
||||||
isApprox if True, BSpline curves are generated in the process
|
isApprox if True, BSpline curves are generated in the process
|
||||||
of surface construction. By default it is False, that means
|
of surface construction. By default it is False, that means
|
||||||
the surface is created using Besier curves. The usage of
|
the surface is created using given curves. The usage of
|
||||||
Approximation makes the algorithm work slower, but allows
|
Approximation makes the algorithm work slower, but allows
|
||||||
building the surface for rather complex cases
|
building the surface for rather complex cases
|
||||||
|
|
||||||
@ -2521,6 +2521,41 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
anObj.SetParameters(Parameters)
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
|
|
||||||
|
## Create a filling from the given compound of contours.
|
||||||
|
# This method corresponds to MakeFilling with isApprox=True
|
||||||
|
# @param theShape the compound of contours
|
||||||
|
# @param theMinDeg a minimal degree of BSpline surface to create
|
||||||
|
# @param theMaxDeg a maximal degree of BSpline surface to create
|
||||||
|
# @param theTol3D a 3d tolerance to be reached
|
||||||
|
# @return New GEOM.GEOM_Object, containing the created filling surface.
|
||||||
|
#
|
||||||
|
# @ref tui_creation_filling "Example"
|
||||||
|
def MakeFillingNew(self, theShape, theMinDeg, theMaxDeg, theTol3D):
|
||||||
|
"""
|
||||||
|
Create a filling from the given compound of contours.
|
||||||
|
This method corresponds to MakeFilling with isApprox=True
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
theShape the compound of contours
|
||||||
|
theMinDeg a minimal degree of BSpline surface to create
|
||||||
|
theMaxDeg a maximal degree of BSpline surface to create
|
||||||
|
theTol3D a 3d tolerance to be reached
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
New GEOM.GEOM_Object, containing the created filling surface.
|
||||||
|
|
||||||
|
Example of usage:
|
||||||
|
filling = geompy.MakeFillingNew(compound, 2, 5, 0.0001)
|
||||||
|
"""
|
||||||
|
# Example: see GEOM_TestAll.py
|
||||||
|
theMinDeg,theMaxDeg,theTol3D,Parameters = ParseParameters(theMinDeg, theMaxDeg, theTol3D)
|
||||||
|
anObj = self.PrimOp.MakeFilling(theShape, theMinDeg, theMaxDeg,
|
||||||
|
0, theTol3D, 0, GEOM.FOM_Default, True)
|
||||||
|
RaiseIfFailed("MakeFillingNew", self.PrimOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
|
return anObj
|
||||||
|
|
||||||
## Create a shell or solid passing through set of sections.Sections should be wires,edges or vertices.
|
## Create a shell or solid passing through set of sections.Sections should be wires,edges or vertices.
|
||||||
# @param theSeqSections - set of specified sections.
|
# @param theSeqSections - set of specified sections.
|
||||||
# @param theModeSolid - mode defining building solid or shell
|
# @param theModeSolid - mode defining building solid or shell
|
||||||
|
@ -18,12 +18,11 @@
|
|||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
|
||||||
|
|
||||||
// GEOM GEOMGUI : GUI for Geometry component
|
// GEOM GEOMGUI : GUI for Geometry component
|
||||||
// File : GenerationGUI_FillingDlg.cxx
|
// File : GenerationGUI_FillingDlg.cxx
|
||||||
// Author : Lucien PIGNOLONI, Open CASCADE S.A.S.
|
// Author : Lucien PIGNOLONI, Open CASCADE S.A.S.
|
||||||
//
|
|
||||||
#include "GenerationGUI_FillingDlg.h"
|
#include "GenerationGUI_FillingDlg.h"
|
||||||
|
|
||||||
#include <DlgRef.h>
|
#include <DlgRef.h>
|
||||||
@ -45,42 +44,42 @@
|
|||||||
// The dialog will by default be modeless, unless you set 'modal' to
|
// The dialog will by default be modeless, unless you set 'modal' to
|
||||||
// TRUE to construct a modal dialog.
|
// TRUE to construct a modal dialog.
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
GenerationGUI_FillingDlg::GenerationGUI_FillingDlg( GeometryGUI* theGeometryGUI, QWidget* parent,
|
GenerationGUI_FillingDlg::GenerationGUI_FillingDlg (GeometryGUI* theGeometryGUI, QWidget* parent,
|
||||||
bool modal, Qt::WindowFlags fl )
|
bool modal, Qt::WindowFlags fl)
|
||||||
: GEOMBase_Skeleton( theGeometryGUI, parent, modal, fl )
|
: GEOMBase_Skeleton(theGeometryGUI, parent, modal, fl)
|
||||||
{
|
{
|
||||||
QPixmap image0( SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM", tr( "ICON_DLG_FILLING" ) ) );
|
QPixmap image0 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM", tr("ICON_DLG_FILLING")));
|
||||||
QPixmap image1( SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM", tr( "ICON_SELECT" ) ) );
|
QPixmap image1 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM", tr("ICON_SELECT")));
|
||||||
|
|
||||||
setWindowTitle( tr( "GEOM_FILLING_TITLE" ) );
|
setWindowTitle(tr("GEOM_FILLING_TITLE"));
|
||||||
|
|
||||||
/***************************************************************/
|
/***************************************************************/
|
||||||
mainFrame()->GroupConstructors->setTitle( tr ( "GEOM_FILLING" ) );
|
mainFrame()->GroupConstructors->setTitle(tr ("GEOM_FILLING"));
|
||||||
mainFrame()->RadioButton1->setIcon( image0 );
|
mainFrame()->RadioButton1->setIcon(image0);
|
||||||
mainFrame()->RadioButton2->setAttribute( Qt::WA_DeleteOnClose );
|
mainFrame()->RadioButton2->setAttribute(Qt::WA_DeleteOnClose);
|
||||||
mainFrame()->RadioButton2->close();
|
mainFrame()->RadioButton2->close();
|
||||||
mainFrame()->RadioButton3->setAttribute( Qt::WA_DeleteOnClose );
|
mainFrame()->RadioButton3->setAttribute(Qt::WA_DeleteOnClose);
|
||||||
mainFrame()->RadioButton3->close();
|
mainFrame()->RadioButton3->close();
|
||||||
|
|
||||||
GroupPoints = new DlgRef_1Sel5Spin1Check( centralWidget() );
|
GroupPoints = new DlgRef_1Sel5Spin1Check(centralWidget());
|
||||||
GroupPoints->GroupBox1->setTitle( tr( "GEOM_ARGUMENTS" ) );
|
GroupPoints->GroupBox1->setTitle(tr("GEOM_ARGUMENTS"));
|
||||||
GroupPoints->TextLabel1->setText( tr( "GEOM_FILLING_COMPOUND" ) );
|
GroupPoints->TextLabel1->setText(tr("GEOM_FILLING_COMPOUND"));
|
||||||
GroupPoints->TextLabel2->setText( tr( "GEOM_FILLING_MIN_DEG" ) );
|
GroupPoints->TextLabel2->setText(tr("GEOM_FILLING_MIN_DEG"));
|
||||||
GroupPoints->TextLabel3->setText( tr( "GEOM_FILLING_TOL_2D" ) );
|
GroupPoints->TextLabel3->setText(tr("GEOM_FILLING_TOL_2D"));
|
||||||
GroupPoints->TextLabel4->setText( tr( "GEOM_FILLING_NB_ITER" ) );
|
GroupPoints->TextLabel4->setText(tr("GEOM_FILLING_NB_ITER"));
|
||||||
GroupPoints->TextLabel5->setText( tr( "GEOM_FILLING_MAX_DEG" ) );
|
GroupPoints->TextLabel5->setText(tr("GEOM_FILLING_MAX_DEG"));
|
||||||
GroupPoints->TextLabel6->setText( tr( "GEOM_FILLING_TOL_3D" ) );
|
GroupPoints->TextLabel6->setText(tr("GEOM_FILLING_TOL_3D"));
|
||||||
GroupPoints->CheckBox1->setText( tr( "GEOM_FILLING_APPROX" ) );
|
GroupPoints->CheckBox1->setText(tr("GEOM_FILLING_APPROX"));
|
||||||
GroupPoints->TextLabel7->setText( tr( "GEOM_FILLING_METHOD" ) );
|
GroupPoints->TextLabel7->setText(tr("GEOM_FILLING_METHOD"));
|
||||||
GroupPoints->PushButton1->setIcon( image1 );
|
GroupPoints->PushButton1->setIcon(image1);
|
||||||
GroupPoints->LineEdit1->setReadOnly( true );
|
GroupPoints->LineEdit1->setReadOnly(true);
|
||||||
|
|
||||||
QVBoxLayout* layout = new QVBoxLayout( centralWidget() );
|
QVBoxLayout* layout = new QVBoxLayout(centralWidget());
|
||||||
layout->setMargin( 0 ); layout->setSpacing( 6 );
|
layout->setMargin(0); layout->setSpacing(6);
|
||||||
layout->addWidget( GroupPoints );
|
layout->addWidget(GroupPoints);
|
||||||
/***************************************************************/
|
/***************************************************************/
|
||||||
|
|
||||||
setHelpFileName( "create_filling_page.html" );
|
setHelpFileName("create_filling_page.html");
|
||||||
|
|
||||||
/* Initialisations */
|
/* Initialisations */
|
||||||
Init();
|
Init();
|
||||||
@ -103,24 +102,24 @@ void GenerationGUI_FillingDlg::Init()
|
|||||||
{
|
{
|
||||||
/* init variables */
|
/* init variables */
|
||||||
myEditCurrentArgument = GroupPoints->LineEdit1;
|
myEditCurrentArgument = GroupPoints->LineEdit1;
|
||||||
GroupPoints->LineEdit1->setReadOnly( true );
|
GroupPoints->LineEdit1->setReadOnly(true);
|
||||||
|
|
||||||
globalSelection( GEOM_COMPOUND );
|
globalSelection(GEOM_COMPOUND);
|
||||||
|
|
||||||
int SpecificStep1 = 1;
|
int SpecificStep1 = 1;
|
||||||
double SpecificStep2 = 0.0001;
|
double SpecificStep2 = 0.0001;
|
||||||
/* min, max, step and decimals for spin boxes & initial values */
|
/* min, max, step and decimals for spin boxes & initial values */
|
||||||
initSpinBox( GroupPoints->SpinBox1, 2, MAX_NUMBER, SpecificStep1 );
|
initSpinBox(GroupPoints->SpinBox1, 2, MAX_NUMBER, SpecificStep1);
|
||||||
initSpinBox( GroupPoints->SpinBox2, 0.00001, 10000.0, SpecificStep2, "len_tol_precision" );
|
initSpinBox(GroupPoints->SpinBox2, 0.00001, 10000.0, SpecificStep2, "len_tol_precision");
|
||||||
initSpinBox( GroupPoints->SpinBox3, 0, MAX_NUMBER, SpecificStep1 );
|
initSpinBox(GroupPoints->SpinBox3, 0, MAX_NUMBER, SpecificStep1);
|
||||||
initSpinBox( GroupPoints->SpinBox4, 1, MAX_NUMBER, SpecificStep1 );
|
initSpinBox(GroupPoints->SpinBox4, 1, MAX_NUMBER, SpecificStep1);
|
||||||
initSpinBox( GroupPoints->SpinBox5, 0.00001, 10000.0, SpecificStep2, "len_tol_precision" );
|
initSpinBox(GroupPoints->SpinBox5, 0.00001, 10000.0, SpecificStep2, "len_tol_precision");
|
||||||
|
|
||||||
GroupPoints->SpinBox1->setValue( 2 );
|
GroupPoints->SpinBox1->setValue(2);
|
||||||
GroupPoints->SpinBox2->setValue( 0.0001 );
|
GroupPoints->SpinBox2->setValue(0.0001);
|
||||||
GroupPoints->SpinBox3->setValue( 0 );
|
GroupPoints->SpinBox3->setValue(0);
|
||||||
GroupPoints->SpinBox4->setValue( 5 );
|
GroupPoints->SpinBox4->setValue(5);
|
||||||
GroupPoints->SpinBox5->setValue( 0.0001 );
|
GroupPoints->SpinBox5->setValue(0.0001);
|
||||||
|
|
||||||
GroupPoints->ComboBox1->addItem(tr("GEOM_FILLING_DEFAULT"));
|
GroupPoints->ComboBox1->addItem(tr("GEOM_FILLING_DEFAULT"));
|
||||||
GroupPoints->ComboBox1->addItem(tr("GEOM_FILLING_USEORI"));
|
GroupPoints->ComboBox1->addItem(tr("GEOM_FILLING_USEORI"));
|
||||||
@ -129,29 +128,29 @@ void GenerationGUI_FillingDlg::Init()
|
|||||||
showOnlyPreviewControl();
|
showOnlyPreviewControl();
|
||||||
|
|
||||||
/* signals and slots connections */
|
/* signals and slots connections */
|
||||||
connect( buttonOk(), SIGNAL( clicked() ), this, SLOT( ClickOnOk() ) );
|
connect(buttonOk(), SIGNAL(clicked()), this, SLOT(ClickOnOk()));
|
||||||
connect( buttonApply(), SIGNAL( clicked() ), this, SLOT( ClickOnApply() ) );
|
connect(buttonApply(), SIGNAL(clicked()), this, SLOT(ClickOnApply()));
|
||||||
|
|
||||||
connect( GroupPoints->PushButton1, SIGNAL( clicked() ), this, SLOT( SetEditCurrentArgument() ) );
|
connect(GroupPoints->PushButton1, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));
|
||||||
|
|
||||||
connect( GroupPoints->ComboBox1, SIGNAL(activated(int)), this, SLOT(MethodChanged()));
|
connect(GroupPoints->ComboBox1, SIGNAL(activated(int)), this, SLOT(MethodChanged()));
|
||||||
|
|
||||||
connect( GroupPoints->SpinBox1, SIGNAL( valueChanged( double ) ), this, SLOT( ValueChangedInSpinBox( double ) ) );
|
connect(GroupPoints->SpinBox1, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
|
||||||
connect( GroupPoints->SpinBox2, SIGNAL( valueChanged( double ) ), this, SLOT( ValueChangedInSpinBox( double ) ) );
|
connect(GroupPoints->SpinBox2, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
|
||||||
connect( GroupPoints->SpinBox3, SIGNAL( valueChanged( double ) ), this, SLOT( ValueChangedInSpinBox( double ) ) );
|
connect(GroupPoints->SpinBox3, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
|
||||||
connect( GroupPoints->SpinBox4, SIGNAL( valueChanged( double ) ), this, SLOT( ValueChangedInSpinBox( double ) ) );
|
connect(GroupPoints->SpinBox4, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
|
||||||
connect( GroupPoints->SpinBox5, SIGNAL( valueChanged( double ) ), this, SLOT( ValueChangedInSpinBox( double ) ) );
|
connect(GroupPoints->SpinBox5, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
|
||||||
|
|
||||||
connect( GroupPoints->CheckBox1, SIGNAL( stateChanged( int ) ),
|
connect(GroupPoints->CheckBox1, SIGNAL(stateChanged(int)),
|
||||||
this, SLOT( ApproxChanged() ) );
|
this, SLOT(ApproxChanged()));
|
||||||
|
|
||||||
// san: Commented, as all spin boxes here either are integer or use specific non-default step value
|
// san: Commented, as all spin boxes here either are integer or use specific non-default step value
|
||||||
//connect( myGeomGUI, SIGNAL( SignalDefaultStepValueChanged( double ) ), this, SLOT( SetDoubleSpinBoxStep( double ) ) );
|
//connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), this, SLOT(SetDoubleSpinBoxStep(double)));
|
||||||
|
|
||||||
connect( ( (SalomeApp_Application*)( SUIT_Session::session()->activeApplication() ) )->selectionMgr(),
|
connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
|
||||||
SIGNAL( currentSelectionChanged() ), this, SLOT( SelectionIntoArgument() ) );
|
SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
|
||||||
|
|
||||||
initName( tr( "GEOM_FILLING" ) );
|
initName(tr("GEOM_FILLING"));
|
||||||
resize(100,100);
|
resize(100,100);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -159,39 +158,36 @@ void GenerationGUI_FillingDlg::Init()
|
|||||||
// function : SetDoubleSpinBoxStep()
|
// function : SetDoubleSpinBoxStep()
|
||||||
// purpose : Double spin box management
|
// purpose : Double spin box management
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
void GenerationGUI_FillingDlg::SetDoubleSpinBoxStep( double step )
|
void GenerationGUI_FillingDlg::SetDoubleSpinBoxStep(double step)
|
||||||
{
|
{
|
||||||
GroupPoints->SpinBox2->setSingleStep(step);
|
GroupPoints->SpinBox2->setSingleStep(step);
|
||||||
GroupPoints->SpinBox5->setSingleStep(step);
|
GroupPoints->SpinBox5->setSingleStep(step);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : ClickOnOk()
|
// function : ClickOnOk()
|
||||||
// purpose :
|
// purpose :
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
void GenerationGUI_FillingDlg::ClickOnOk()
|
void GenerationGUI_FillingDlg::ClickOnOk()
|
||||||
{
|
{
|
||||||
setIsApplyAndClose( true );
|
setIsApplyAndClose(true);
|
||||||
if ( ClickOnApply() )
|
if (ClickOnApply())
|
||||||
ClickOnCancel();
|
ClickOnCancel();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : ClickOnApply()
|
// function : ClickOnApply()
|
||||||
// purpose :
|
// purpose :
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool GenerationGUI_FillingDlg::ClickOnApply()
|
bool GenerationGUI_FillingDlg::ClickOnApply()
|
||||||
{
|
{
|
||||||
if ( !onAccept() )
|
if (!onAccept())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
initName();
|
initName();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : SelectionIntoArgument()
|
// function : SelectionIntoArgument()
|
||||||
// purpose : Called when selection as changed or other case
|
// purpose : Called when selection as changed or other case
|
||||||
@ -202,14 +198,14 @@ void GenerationGUI_FillingDlg::SelectionIntoArgument()
|
|||||||
myEditCurrentArgument->setText("");
|
myEditCurrentArgument->setText("");
|
||||||
|
|
||||||
if (myEditCurrentArgument == GroupPoints->LineEdit1) {
|
if (myEditCurrentArgument == GroupPoints->LineEdit1) {
|
||||||
myCompound = getSelected( TopAbs_COMPOUND );
|
myCompound = getSelected(TopAbs_COMPOUND);
|
||||||
if ( myCompound ) {
|
if (myCompound) {
|
||||||
if ( myCompound->GetMaxShapeType() < GEOM::WIRE || myCompound->GetMinShapeType() > GEOM::EDGE ) {
|
if (myCompound->GetMaxShapeType() < GEOM::WIRE || myCompound->GetMinShapeType() > GEOM::EDGE) {
|
||||||
myCompound.nullify();
|
myCompound.nullify();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
QString aName = GEOMBase::GetName( myCompound.get() );
|
QString aName = GEOMBase::GetName(myCompound.get());
|
||||||
myEditCurrentArgument->setText( aName );
|
myEditCurrentArgument->setText(aName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -224,17 +220,16 @@ void GenerationGUI_FillingDlg::SelectionIntoArgument()
|
|||||||
void GenerationGUI_FillingDlg::SetEditCurrentArgument()
|
void GenerationGUI_FillingDlg::SetEditCurrentArgument()
|
||||||
{
|
{
|
||||||
QPushButton* send = (QPushButton*)sender();
|
QPushButton* send = (QPushButton*)sender();
|
||||||
globalSelection( GEOM_ALLSHAPES );
|
globalSelection(GEOM_ALLSHAPES);
|
||||||
|
|
||||||
if ( send == GroupPoints->PushButton1 ) {
|
if (send == GroupPoints->PushButton1) {
|
||||||
GroupPoints->LineEdit1->setFocus();
|
GroupPoints->LineEdit1->setFocus();
|
||||||
myEditCurrentArgument = GroupPoints->LineEdit1;
|
myEditCurrentArgument = GroupPoints->LineEdit1;
|
||||||
globalSelection( GEOM_COMPOUND );
|
globalSelection(GEOM_COMPOUND);
|
||||||
this->SelectionIntoArgument();
|
this->SelectionIntoArgument();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : ActivateThisDialog()
|
// function : ActivateThisDialog()
|
||||||
// purpose :
|
// purpose :
|
||||||
@ -242,29 +237,27 @@ void GenerationGUI_FillingDlg::SetEditCurrentArgument()
|
|||||||
void GenerationGUI_FillingDlg::ActivateThisDialog()
|
void GenerationGUI_FillingDlg::ActivateThisDialog()
|
||||||
{
|
{
|
||||||
GEOMBase_Skeleton::ActivateThisDialog();
|
GEOMBase_Skeleton::ActivateThisDialog();
|
||||||
connect( ( (SalomeApp_Application*)( SUIT_Session::session()->activeApplication() ) )->selectionMgr(),
|
connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
|
||||||
SIGNAL( currentSelectionChanged() ), this, SLOT( SelectionIntoArgument() ) );
|
SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
|
||||||
globalSelection( GEOM_COMPOUND );
|
globalSelection(GEOM_COMPOUND);
|
||||||
processPreview();
|
processPreview();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : enterEvent()
|
// function : enterEvent()
|
||||||
// purpose :
|
// purpose :
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
void GenerationGUI_FillingDlg::enterEvent( QEvent* )
|
void GenerationGUI_FillingDlg::enterEvent(QEvent*)
|
||||||
{
|
{
|
||||||
if ( !mainFrame()->GroupConstructors->isEnabled() )
|
if (!mainFrame()->GroupConstructors->isEnabled())
|
||||||
ActivateThisDialog();
|
ActivateThisDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : ValueChangedInSpinBox()
|
// function : ValueChangedInSpinBox()
|
||||||
// purpose :
|
// purpose :
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
void GenerationGUI_FillingDlg::ValueChangedInSpinBox( double newValue )
|
void GenerationGUI_FillingDlg::ValueChangedInSpinBox(double newValue)
|
||||||
{
|
{
|
||||||
processPreview();
|
processPreview();
|
||||||
}
|
}
|
||||||
@ -284,30 +277,52 @@ void GenerationGUI_FillingDlg::MethodChanged()
|
|||||||
//=================================================================================
|
//=================================================================================
|
||||||
void GenerationGUI_FillingDlg::ApproxChanged()
|
void GenerationGUI_FillingDlg::ApproxChanged()
|
||||||
{
|
{
|
||||||
|
if (GroupPoints->CheckBox1->isChecked()) {
|
||||||
|
// tol2d
|
||||||
|
GroupPoints->TextLabel3->setEnabled(false);
|
||||||
|
GroupPoints->SpinBox2->setEnabled(false);
|
||||||
|
// nbIter
|
||||||
|
GroupPoints->TextLabel4->setEnabled(false);
|
||||||
|
GroupPoints->SpinBox3->setEnabled(false);
|
||||||
|
// method
|
||||||
|
GroupPoints->TextLabel7->setEnabled(false);
|
||||||
|
GroupPoints->ComboBox1->setEnabled(false);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// tol2d
|
||||||
|
GroupPoints->TextLabel3->setEnabled(true);
|
||||||
|
GroupPoints->SpinBox2->setEnabled(true);
|
||||||
|
// nbIter
|
||||||
|
GroupPoints->TextLabel4->setEnabled(true);
|
||||||
|
GroupPoints->SpinBox3->setEnabled(true);
|
||||||
|
// method
|
||||||
|
GroupPoints->TextLabel7->setEnabled(true);
|
||||||
|
GroupPoints->ComboBox1->setEnabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
processPreview();
|
processPreview();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : createOperation
|
// function : createOperation
|
||||||
// purpose :
|
// purpose :
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
GEOM::GEOM_IOperations_ptr GenerationGUI_FillingDlg::createOperation()
|
GEOM::GEOM_IOperations_ptr GenerationGUI_FillingDlg::createOperation()
|
||||||
{
|
{
|
||||||
return getGeomEngine()->GetI3DPrimOperations( getStudyId() );
|
return getGeomEngine()->GetI3DPrimOperations(getStudyId());
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : isValid
|
// function : isValid
|
||||||
// purpose :
|
// purpose :
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool GenerationGUI_FillingDlg::isValid( QString& msg )
|
bool GenerationGUI_FillingDlg::isValid(QString& msg)
|
||||||
{
|
{
|
||||||
bool ok = GroupPoints->SpinBox1->isValid( msg, !IsPreview() ) &&
|
bool ok = GroupPoints->SpinBox1->isValid(msg, !IsPreview()) &&
|
||||||
GroupPoints->SpinBox2->isValid( msg, !IsPreview() ) &&
|
GroupPoints->SpinBox2->isValid(msg, !IsPreview()) &&
|
||||||
GroupPoints->SpinBox3->isValid( msg, !IsPreview() ) &&
|
GroupPoints->SpinBox3->isValid(msg, !IsPreview()) &&
|
||||||
GroupPoints->SpinBox4->isValid( msg, !IsPreview() ) &&
|
GroupPoints->SpinBox4->isValid(msg, !IsPreview()) &&
|
||||||
GroupPoints->SpinBox5->isValid( msg, !IsPreview() ) &&
|
GroupPoints->SpinBox5->isValid(msg, !IsPreview()) &&
|
||||||
myCompound;
|
myCompound;
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
@ -316,7 +331,7 @@ bool GenerationGUI_FillingDlg::isValid( QString& msg )
|
|||||||
// function : execute
|
// function : execute
|
||||||
// purpose :
|
// purpose :
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool GenerationGUI_FillingDlg::execute( ObjectList& objects )
|
bool GenerationGUI_FillingDlg::execute(ObjectList& objects)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_I3DPrimOperations_var anOper =
|
GEOM::GEOM_I3DPrimOperations_var anOper =
|
||||||
GEOM::GEOM_I3DPrimOperations::_narrow(getOperation());
|
GEOM::GEOM_I3DPrimOperations::_narrow(getOperation());
|
||||||
@ -331,17 +346,17 @@ bool GenerationGUI_FillingDlg::execute( ObjectList& objects )
|
|||||||
}
|
}
|
||||||
|
|
||||||
GEOM::GEOM_Object_var anObj =
|
GEOM::GEOM_Object_var anObj =
|
||||||
anOper->MakeFilling( myCompound.get(),
|
anOper->MakeFilling(myCompound.get(),
|
||||||
GroupPoints->SpinBox1->value(),
|
GroupPoints->SpinBox1->value(),
|
||||||
GroupPoints->SpinBox4->value(),
|
GroupPoints->SpinBox4->value(),
|
||||||
GroupPoints->SpinBox2->value(),
|
GroupPoints->SpinBox2->value(),
|
||||||
GroupPoints->SpinBox5->value(),
|
GroupPoints->SpinBox5->value(),
|
||||||
GroupPoints->SpinBox3->value(),
|
GroupPoints->SpinBox3->value(),
|
||||||
aMethod,
|
aMethod,
|
||||||
GroupPoints->CheckBox1->isChecked() );
|
GroupPoints->CheckBox1->isChecked());
|
||||||
if ( !anObj->_is_nil() )
|
if (!anObj->_is_nil())
|
||||||
{
|
{
|
||||||
if ( !IsPreview() )
|
if (!IsPreview())
|
||||||
{
|
{
|
||||||
QStringList aParameters;
|
QStringList aParameters;
|
||||||
aParameters << GroupPoints->SpinBox1->text();
|
aParameters << GroupPoints->SpinBox1->text();
|
||||||
@ -351,7 +366,7 @@ bool GenerationGUI_FillingDlg::execute( ObjectList& objects )
|
|||||||
aParameters << GroupPoints->SpinBox5->text();
|
aParameters << GroupPoints->SpinBox5->text();
|
||||||
anObj->SetParameters(aParameters.join(":").toLatin1().constData());
|
anObj->SetParameters(aParameters.join(":").toLatin1().constData());
|
||||||
}
|
}
|
||||||
objects.push_back( anObj._retn() );
|
objects.push_back(anObj._retn());
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
Reference in New Issue
Block a user