Fix memory leaks problem

This commit is contained in:
vsr 2009-09-21 11:38:02 +00:00
parent 1ba0a9935e
commit f65909a2fb
16 changed files with 65 additions and 67 deletions

View File

@ -355,10 +355,9 @@ bool GenerationGUI_FillingDlg::isValid( QString& msg )
//================================================================================= //=================================================================================
bool GenerationGUI_FillingDlg::execute( ObjectList& objects ) bool GenerationGUI_FillingDlg::execute( ObjectList& objects )
{ {
GEOM::GEOM_Object_var anObj; GEOM::GEOM_I3DPrimOperations_var anOper = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation());
GEOM::GEOM_Object_var anObj = anOper->MakeFilling( myCompound, myMinDeg, myMaxDeg,
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation() )->MakeFilling( myTol2D, myTol3D, myNbIter, myIsApprox );
myCompound, myMinDeg, myMaxDeg, myTol2D, myTol3D, myNbIter, myIsApprox );
if ( !anObj->_is_nil() ) if ( !anObj->_is_nil() )
{ {
if ( !IsPreview() ) if ( !IsPreview() )
@ -369,7 +368,7 @@ bool GenerationGUI_FillingDlg::execute( ObjectList& objects )
aParameters << GroupPoints->SpinBox3->text(); aParameters << GroupPoints->SpinBox3->text();
aParameters << GroupPoints->SpinBox4->text(); aParameters << GroupPoints->SpinBox4->text();
aParameters << GroupPoints->SpinBox5->text(); aParameters << GroupPoints->SpinBox5->text();
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters)); anObj->SetParameters(aParameters.join(":").toLatin1().constData());
} }
objects.push_back( anObj._retn() ); objects.push_back( anObj._retn() );
} }

View File

@ -475,13 +475,14 @@ bool GenerationGUI_PipeDlg::execute (ObjectList& objects)
{ {
GEOM::GEOM_Object_var anObj; GEOM::GEOM_Object_var anObj;
GEOM::GEOM_I3DPrimOperations_var anOper = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation());
switch ( getConstructorId() ) { switch ( getConstructorId() ) {
case 0 : case 0 :
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->MakePipe(myBase, myPath); anObj = anOper->MakePipe(myBase, myPath);
break; break;
case 1 : case 1 :
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())-> anObj = anOper->MakePipeBiNormalAlongVector(myBase, myPath, myVec);
MakePipeBiNormalAlongVector(myBase, myPath, myVec);
break; break;
} }

View File

@ -653,32 +653,30 @@ bool GenerationGUI_PrismDlg::execute (ObjectList& objects)
QStringList aParameters; QStringList aParameters;
GEOM::GEOM_Object_var anObj; GEOM::GEOM_Object_var anObj;
GEOM::GEOM_I3DPrimOperations_var anOper = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation());
switch (getConstructorId()) { switch (getConstructorId()) {
case 0: case 0:
if (!myBothway) { if (!myBothway) {
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())-> anObj = anOper->MakePrismVecH(myBase, myVec, getHeight());
MakePrismVecH(myBase, myVec, getHeight());
} }
else { else {
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())-> anObj = anOper->MakePrismVecH2Ways(myBase, myVec, getHeight());
MakePrismVecH2Ways(myBase, myVec, getHeight());
} }
if (!anObj->_is_nil() && !IsPreview()) if (!anObj->_is_nil() && !IsPreview())
{ {
aParameters << GroupPoints->SpinBox_DX->text(); aParameters << GroupPoints->SpinBox_DX->text();
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters)); anObj->SetParameters(aParameters.join(":").toLatin1().constData());
} }
break; break;
case 1: case 1:
if (!myBothway2) { if (!myBothway2) {
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())-> anObj = anOper->MakePrismTwoPnt(myBase, myPoint1, myPoint2);
MakePrismTwoPnt(myBase, myPoint1, myPoint2);
} }
else { else {
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())-> anObj = anOper->MakePrismTwoPnt2Ways(myBase, myPoint1, myPoint2);
MakePrismTwoPnt2Ways(myBase, myPoint1, myPoint2);
} }
break; break;
case 2: case 2:
@ -687,12 +685,10 @@ bool GenerationGUI_PrismDlg::execute (ObjectList& objects)
double dz = GroupPoints3->SpinBox_DZ->value(); double dz = GroupPoints3->SpinBox_DZ->value();
if (!myBothway3) { if (!myBothway3) {
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())-> anObj = anOper->MakePrismDXDYDZ(myBase, dx, dy, dz);
MakePrismDXDYDZ(myBase, dx, dy, dz);
} }
else { else {
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())-> anObj = anOper->MakePrismDXDYDZ2Ways(myBase, dx, dy, dz);
MakePrismDXDYDZ2Ways(myBase, dx, dy, dz);
} }
if (!anObj->_is_nil() && !IsPreview()) if (!anObj->_is_nil() && !IsPreview())
@ -700,7 +696,7 @@ bool GenerationGUI_PrismDlg::execute (ObjectList& objects)
aParameters << GroupPoints3->SpinBox_DX->text(); aParameters << GroupPoints3->SpinBox_DX->text();
aParameters << GroupPoints3->SpinBox_DY->text(); aParameters << GroupPoints3->SpinBox_DY->text();
aParameters << GroupPoints3->SpinBox_DZ->text(); aParameters << GroupPoints3->SpinBox_DZ->text();
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters)); anObj->SetParameters(aParameters.join(":").toLatin1().constData());
} }
break; break;

View File

@ -405,13 +405,13 @@ bool GenerationGUI_RevolDlg::execute (ObjectList& objects)
{ {
GEOM::GEOM_Object_var anObj; GEOM::GEOM_Object_var anObj;
GEOM::GEOM_I3DPrimOperations_var anOper = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation());
if (!myBothway) { if (!myBothway) {
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())-> anObj = anOper->MakeRevolutionAxisAngle(myBase, myAxis, getAngle() * PI180);
MakeRevolutionAxisAngle(myBase, myAxis, getAngle() * PI180);
} }
else { else {
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())-> anObj = anOper->MakeRevolutionAxisAngle2Ways(myBase, myAxis, getAngle() * PI180);
MakeRevolutionAxisAngle2Ways(myBase, myAxis, getAngle() * PI180);
} }
if (!anObj->_is_nil()) if (!anObj->_is_nil())
@ -420,7 +420,7 @@ bool GenerationGUI_RevolDlg::execute (ObjectList& objects)
{ {
QStringList aParameters; QStringList aParameters;
aParameters << GroupPoints->SpinBox_DX->text(); aParameters << GroupPoints->SpinBox_DX->text();
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters)); anObj->SetParameters(aParameters.join(":").toLatin1().constData());
} }
objects.push_back(anObj._retn()); objects.push_back(anObj._retn());
} }

View File

@ -269,11 +269,12 @@ bool RepairGUI_ChangeOrientationDlg::execute( ObjectList& objects )
bool toCreateCopy = GroupPoints->CheckButton1->isChecked(); bool toCreateCopy = GroupPoints->CheckButton1->isChecked();
GEOM::GEOM_Object_var anObj; GEOM::GEOM_Object_var anObj;
GEOM::GEOM_IHealingOperations_var anOper = GEOM::GEOM_IHealingOperations::_narrow( getOperation() );
if ( toCreateCopy ) { if ( toCreateCopy ) {
anObj = GEOM::GEOM_IHealingOperations::_narrow( getOperation() )->ChangeOrientationCopy( myObject ); anObj = anOper->ChangeOrientationCopy( myObject );
} }
else { else {
anObj = GEOM::GEOM_IHealingOperations::_narrow( getOperation() )->ChangeOrientation( myObject ); anObj = anOper->ChangeOrientation( myObject );
} }
if ( !anObj->_is_nil() ) if ( !anObj->_is_nil() )

View File

@ -319,8 +319,8 @@ bool RepairGUI_CloseContourDlg::isValid (QString&)
//================================================================================= //=================================================================================
bool RepairGUI_CloseContourDlg::execute (ObjectList& objects) bool RepairGUI_CloseContourDlg::execute (ObjectList& objects)
{ {
GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow(getOperation())-> GEOM::GEOM_IHealingOperations_var anOper = GEOM::GEOM_IHealingOperations::_narrow(getOperation());
CloseContour(myObject, myWiresInd, getIsByVertex()); GEOM::GEOM_Object_var anObj = anOper->CloseContour(myObject, myWiresInd, getIsByVertex());
bool aResult = !anObj->_is_nil(); bool aResult = !anObj->_is_nil();
if (aResult) if (aResult)

View File

@ -362,8 +362,8 @@ bool RepairGUI_DivideEdgeDlg::isValid( QString& msg )
//================================================================================= //=================================================================================
bool RepairGUI_DivideEdgeDlg::execute( ObjectList& objects ) bool RepairGUI_DivideEdgeDlg::execute( ObjectList& objects )
{ {
GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow( getOperation() )->DivideEdge GEOM::GEOM_IHealingOperations_var anOper = GEOM::GEOM_IHealingOperations::_narrow( getOperation() );
( myObject, myIndex, myValEdt->value(), getIsByParameter() ); GEOM::GEOM_Object_var anObj = anOper->DivideEdge( myObject, myIndex, myValEdt->value(), getIsByParameter() );
bool aResult = !anObj->_is_nil(); bool aResult = !anObj->_is_nil();
if ( aResult ) if ( aResult )
{ {
@ -373,7 +373,7 @@ bool RepairGUI_DivideEdgeDlg::execute( ObjectList& objects )
aParameters << ""; aParameters << "";
aParameters << myValEdt->text(); aParameters << myValEdt->text();
aParameters << ""; aParameters << "";
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters)); anObj->SetParameters(aParameters.join(":").toLatin1().constData());
} }
objects.push_back( anObj._retn() ); objects.push_back( anObj._retn() );
} }

View File

@ -293,8 +293,8 @@ bool RepairGUI_FreeBoundDlg::execute( ObjectList& objects )
GEOM::ListOfGO_var aClosed, anOpen; GEOM::ListOfGO_var aClosed, anOpen;
bool result = GEOM::GEOM_IHealingOperations::_narrow( GEOM::GEOM_IHealingOperations_var anOper = GEOM::GEOM_IHealingOperations::_narrow( getOperation() );
getOperation() )->GetFreeBoundary( myObj, aClosed, anOpen ); bool result = anOper->GetFreeBoundary( myObj, aClosed, anOpen );
if ( result ) { if ( result ) {
myNbClosed = aClosed->length(); myNbClosed = aClosed->length();

View File

@ -307,8 +307,8 @@ bool RepairGUI_FreeFacesDlg::isValid( QString& )
bool RepairGUI_FreeFacesDlg::execute( ObjectList& objects ) bool RepairGUI_FreeFacesDlg::execute( ObjectList& objects )
{ {
bool aResult = false; bool aResult = false;
GEOM::ListOfLong_var aFaceLst = GEOM::GEOM_IShapesOperations_var anOper = GEOM::GEOM_IShapesOperations::_narrow( getOperation() );
GEOM::GEOM_IShapesOperations::_narrow( getOperation() )->GetFreeFacesIDs( myObj ); GEOM::ListOfLong_var aFaceLst = anOper->GetFreeFacesIDs( myObj );
TopoDS_Shape aSelShape; TopoDS_Shape aSelShape;
TopoDS_Shape aFace; TopoDS_Shape aFace;
TopTools_IndexedMapOfShape anIndices; TopTools_IndexedMapOfShape anIndices;

View File

@ -407,17 +407,17 @@ bool RepairGUI_GlueDlg::execute( ObjectList& objects )
bool aResult = false; bool aResult = false;
objects.clear(); objects.clear();
GEOM::GEOM_IShapesOperations_var anOper = GEOM::GEOM_IShapesOperations::_narrow( getOperation() );
switch ( getConstructorId() ) { switch ( getConstructorId() ) {
case 0: case 0:
{ {
GEOM::GEOM_Object_var anObj = GEOM::GEOM_IShapesOperations::_narrow GEOM::GEOM_Object_var anObj = anOper->MakeGlueFaces( myObject, myTolEdt->value(), true );
( getOperation() )->MakeGlueFaces( myObject, myTolEdt->value(), true );
aResult = !anObj->_is_nil(); aResult = !anObj->_is_nil();
if ( aResult && !IsPreview() ) if ( aResult && !IsPreview() )
{ {
QStringList aParameters; QStringList aParameters;
aParameters << myTolEdt->text(); aParameters << myTolEdt->text();
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters)); anObj->SetParameters(aParameters.join(":").toLatin1().constData());
objects.push_back( anObj._retn() ); objects.push_back( anObj._retn() );
} }
@ -461,8 +461,7 @@ bool RepairGUI_GlueDlg::execute( ObjectList& objects )
ObjectList::iterator anIter3 = toGlue.begin(); ObjectList::iterator anIter3 = toGlue.begin();
for ( int i = 0; anIter3 != toGlue.end(); ++anIter3, ++i ) for ( int i = 0; anIter3 != toGlue.end(); ++anIter3, ++i )
aListForGlue[ i ] = *anIter3; aListForGlue[ i ] = *anIter3;
GEOM::GEOM_Object_var anObj = GEOM::GEOM_IShapesOperations::_narrow GEOM::GEOM_Object_var anObj = anOper->MakeGlueFacesByList( myObject, myTolEdt2->value(), aListForGlue, true );
( getOperation() )->MakeGlueFacesByList( myObject, myTolEdt2->value(), aListForGlue, true );
aResult = !anObj->_is_nil(); aResult = !anObj->_is_nil();
@ -472,7 +471,7 @@ bool RepairGUI_GlueDlg::execute( ObjectList& objects )
{ {
QStringList aParameters; QStringList aParameters;
aParameters << myTolEdt2->text(); aParameters << myTolEdt2->text();
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters)); anObj->SetParameters(aParameters.join(":").toLatin1().constData());
} }
objects.push_back( anObj._retn() ); objects.push_back( anObj._retn() );
} }
@ -607,12 +606,11 @@ bool RepairGUI_GlueDlg::onAcceptLocal()
} }
// JFA 28.12.2004 BEGIN // To enable warnings // JFA 28.12.2004 BEGIN // To enable warnings
if ( !getOperation()->_is_nil() ) { GEOM::GEOM_IShapesOperations_var anOper = GEOM::GEOM_IShapesOperations::_narrow( getOperation() );
if ( !getOperation()->IsDone() ) { if ( !CORBA::is_nil(anOper) && !anOper->IsDone() ) {
wc.suspend(); wc.suspend();
QString msgw = QObject::tr( getOperation()->GetErrorCode() ); QString msgw = QObject::tr( anOper->GetErrorCode() );
SUIT_MessageBox::warning( this, tr( "WRN_WARNING" ), msgw, tr( "BUT_OK" ) ); SUIT_MessageBox::warning( this, tr( "WRN_WARNING" ), msgw, tr( "BUT_OK" ) );
}
} }
// JFA 28.12.2004 END // JFA 28.12.2004 END
} }
@ -648,8 +646,8 @@ void RepairGUI_GlueDlg::onDetect()
buttonApply()->setEnabled( false ); buttonApply()->setEnabled( false );
globalSelection( GEOM_ALLSHAPES ); globalSelection( GEOM_ALLSHAPES );
GEOM::ListOfGO_var aList = GEOM::GEOM_IShapesOperations::_narrow GEOM::GEOM_IShapesOperations_var anOper = GEOM::GEOM_IShapesOperations::_narrow( getOperation() );
( getOperation() )->GetGlueFaces( myObject, myTolEdt2->value() ); GEOM::ListOfGO_var aList = anOper->GetGlueFaces( myObject, myTolEdt2->value() );
for ( int i = 0, n = aList->length(); i < n; i++ ) for ( int i = 0, n = aList->length(); i < n; i++ )
myTmpObjs.push_back(GEOM::GEOM_Object::_duplicate(aList[i])); myTmpObjs.push_back(GEOM::GEOM_Object::_duplicate(aList[i]));

View File

@ -288,8 +288,8 @@ bool RepairGUI_RemoveExtraEdgesDlg::execute( ObjectList& objects )
int nbFacesOptimum = -1; // -1 means do not union faces int nbFacesOptimum = -1; // -1 means do not union faces
if (GroupPoints->CheckButton1->isChecked()) if (GroupPoints->CheckButton1->isChecked())
nbFacesOptimum = 0; // 0 means union all faces, that possible nbFacesOptimum = 0; // 0 means union all faces, that possible
anObj = GEOM::GEOM_IBlocksOperations::_narrow(getOperation())->RemoveExtraEdges GEOM::GEOM_IBlocksOperations_var anOper = GEOM::GEOM_IBlocksOperations::_narrow(getOperation());
(myObject, nbFacesOptimum); anObj = anOper->RemoveExtraEdges(myObject, nbFacesOptimum);
if (!anObj->_is_nil()) if (!anObj->_is_nil())
objects.push_back(anObj._retn()); objects.push_back(anObj._retn());

View File

@ -329,8 +329,8 @@ bool RepairGUI_RemoveHolesDlg::execute (ObjectList& objects)
// highlight them (add to objects), display message dialog // highlight them (add to objects), display message dialog
GEOM::ListOfGO_var aClosed, anOpen; GEOM::ListOfGO_var aClosed, anOpen;
aResult = GEOM::GEOM_IHealingOperations::_narrow(getOperation())-> GEOM::GEOM_IHealingOperations_var anOper = GEOM::GEOM_IHealingOperations::_narrow(getOperation());
GetFreeBoundary(myObject, aClosed, anOpen); aResult = anOper->GetFreeBoundary(myObject, aClosed, anOpen);
if (aResult) { if (aResult) {
myClosed = aClosed->length(); myClosed = aClosed->length();
@ -345,8 +345,8 @@ bool RepairGUI_RemoveHolesDlg::execute (ObjectList& objects)
myClosed = -1; myClosed = -1;
} }
else { else {
GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow(getOperation())-> GEOM::GEOM_IHealingOperations_var anOper = GEOM::GEOM_IHealingOperations::_narrow(getOperation());
FillHoles(myObject, myWiresInd); GEOM::GEOM_Object_var anObj = anOper->FillHoles(myObject, myWiresInd);
aResult = !anObj->_is_nil(); aResult = !anObj->_is_nil();
if (aResult) if (aResult)
objects.push_back(anObj._retn()); objects.push_back(anObj._retn());

View File

@ -306,8 +306,8 @@ bool RepairGUI_RemoveIntWiresDlg::isValid (QString&)
//================================================================================= //=================================================================================
bool RepairGUI_RemoveIntWiresDlg::execute (ObjectList& objects) bool RepairGUI_RemoveIntWiresDlg::execute (ObjectList& objects)
{ {
GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow(getOperation())-> GEOM::GEOM_IHealingOperations_var anOper = GEOM::GEOM_IHealingOperations::_narrow(getOperation());
RemoveIntWires(myObject, myWiresInd); GEOM::GEOM_Object_var anObj = anOper->RemoveIntWires(myObject, myWiresInd);
bool aResult = !anObj->_is_nil(); bool aResult = !anObj->_is_nil();
if (aResult) if (aResult)

View File

@ -278,10 +278,12 @@ bool RepairGUI_SewingDlg::isValid( QString& msg )
bool RepairGUI_SewingDlg::execute( ObjectList& objects ) bool RepairGUI_SewingDlg::execute( ObjectList& objects )
{ {
bool aResult = false; bool aResult = false;
GEOM::GEOM_IHealingOperations_var anOper = GEOM::GEOM_IHealingOperations::_narrow( getOperation() );
if ( IsPreview() ) { // called from onDetect(): detect free boundary edges, highlight them (add to objects), display message dialog if ( IsPreview() ) { // called from onDetect(): detect free boundary edges, highlight them (add to objects), display message dialog
GEOM::ListOfGO_var aClosed, anOpen; GEOM::ListOfGO_var aClosed, anOpen;
aResult = GEOM::GEOM_IHealingOperations::_narrow( getOperation() )->GetFreeBoundary( myObject, aClosed, anOpen ); aResult = anOper->GetFreeBoundary( myObject, aClosed, anOpen );
if ( aResult ) { if ( aResult ) {
myClosed = aClosed->length(); myClosed = aClosed->length();
@ -296,7 +298,7 @@ bool RepairGUI_SewingDlg::execute( ObjectList& objects )
myClosed = -1; myClosed = -1;
} }
else { else {
GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow( getOperation() )->Sew( myObject, myTolEdt->value() ); GEOM::GEOM_Object_var anObj = anOper->Sew( myObject, myTolEdt->value() );
aResult = !anObj->_is_nil(); aResult = !anObj->_is_nil();
if ( aResult ) if ( aResult )
{ {
@ -304,7 +306,7 @@ bool RepairGUI_SewingDlg::execute( ObjectList& objects )
{ {
QStringList aParameters; QStringList aParameters;
aParameters << myTolEdt->text(); aParameters << myTolEdt->text();
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters)); anObj->SetParameters(aParameters.join(":").toLatin1().constData());
} }
objects.push_back( anObj._retn() ); objects.push_back( anObj._retn() );
} }

View File

@ -621,8 +621,8 @@ bool RepairGUI_ShapeProcessDlg::execute( ObjectList& objects )
QStringList anErrorObjNames; QStringList anErrorObjNames;
for ( int i = 0; i < myObjects->length(); i++ ) { for ( int i = 0; i < myObjects->length(); i++ ) {
GEOM::GEOM_Object_var obj = myObjects[i]; GEOM::GEOM_Object_var obj = myObjects[i];
GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow( getOperation() )-> GEOM::GEOM_IHealingOperations_var anOper = GEOM::GEOM_IHealingOperations::_narrow( getOperation() );
ProcessShape( obj, anOperators, aParams, aValues ); GEOM::GEOM_Object_var anObj = anOper->ProcessShape( obj, anOperators, aParams, aValues );
if ( anObj->_is_nil() ) if ( anObj->_is_nil() )
anErrorObjNames << GEOMBase::GetName( obj ); anErrorObjNames << GEOMBase::GetName( obj );
else else
@ -638,7 +638,7 @@ bool RepairGUI_ShapeProcessDlg::execute( ObjectList& objects )
aParameters << QString( aParams[i] ); aParameters << QString( aParams[i] );
aParameters << getTexts( aParams ); aParameters << getTexts( aParams );
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters)); anObj->SetParameters(aParameters.join(":").toLatin1().constData());
} }
objects.push_back( anObj._retn() ); objects.push_back( anObj._retn() );
} }

View File

@ -295,7 +295,8 @@ bool RepairGUI_SuppressFacesDlg::execute( ObjectList& objects )
GEOM::GEOM_Object_var obj = myObjects[i]; GEOM::GEOM_Object_var obj = myObjects[i];
GEOM::short_array faces = myFaces[i]; GEOM::short_array faces = myFaces[i];
//MESSAGE(">>>> Dlg, passing faces.. len = " << faces.length()); //MESSAGE(">>>> Dlg, passing faces.. len = " << faces.length());
GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow( getOperation() )->SuppressFaces( obj, faces ); GEOM::GEOM_IHealingOperations_var anOper = GEOM::GEOM_IHealingOperations::_narrow( getOperation() );
GEOM::GEOM_Object_var anObj = anOper->SuppressFaces( obj, faces );
if ( anObj->_is_nil() ) if ( anObj->_is_nil() )
anErrorObjNames << GEOMBase::GetName( obj ); anErrorObjNames << GEOMBase::GetName( obj );
else else