IPAL21265 It's impossible to select edge for Reverce in Arithmetic 1D Hypothesis when Edit Mesh

This commit is contained in:
dmv 2009-07-22 07:33:31 +00:00
parent 4137f1c07b
commit f02c3a1b9e
2 changed files with 22 additions and 16 deletions

View File

@ -1066,14 +1066,17 @@ void SMESHGUI_MeshOp::createHypothesis (const int theDim,
int obj = myDlg->getActiveObject(); int obj = myDlg->getActiveObject();
removeCustomFilters(); // Issue 0020170 removeCustomFilters(); // Issue 0020170
// Set Geometry // Get Entry of the Geom object
QStringList aList; QString anObjEntry = "";
myDlg->selectedObject( SMESHGUI_MeshDlg::Geom, aList ); anObjEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Geom );
if (aList.count() != 0) if ( anObjEntry == "" ) {
aCreator->setShapeEntry( aList.first() ); anObjEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Obj );
else _PTR(SObject) pObj = studyDS()->FindObjectID( anObjEntry.toLatin1().data() );
aCreator->setShapeEntry( QString() ); GEOM::GEOM_Object_var aGeomVar = SMESH::GetShapeOnMeshOrSubMesh( pObj );
anObjEntry = aGeomVar->GetStudyEntry();
}
aCreator->setShapeEntry( anObjEntry );
myDlg->setEnabled( false ); myDlg->setEnabled( false );
aCreator->create(initParamHyp, aHypName, myDlg); aCreator->create(initParamHyp, aHypName, myDlg);
onActivateObject( obj ); // Issue 0020170. Restore filters onActivateObject( obj ); // Issue 0020170. Restore filters
@ -1129,14 +1132,17 @@ void SMESHGUI_MeshOp::onEditHyp( const int theHypType, const int theIndex )
getInitParamsHypothesis( aHyp->GetName(), aHyp->GetLibName()); getInitParamsHypothesis( aHyp->GetName(), aHyp->GetLibName());
aCreator->setInitParamsHypothesis( initParamHyp ); aCreator->setInitParamsHypothesis( initParamHyp );
// Set Geometry // Get Entry of the Geom object
QStringList aList; QString anObjEntry = "";
myDlg->selectedObject( SMESHGUI_MeshDlg::Geom, aList ); anObjEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Geom );
if (aList.count() > 0) if ( anObjEntry == "" ) {
aCreator->setShapeEntry( aList.first() ); anObjEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Obj );
else _PTR(SObject) pObj = studyDS()->FindObjectID( anObjEntry.toLatin1().data() );
aCreator->setShapeEntry( "" ); GEOM::GEOM_Object_var aGeomVar = SMESH::GetShapeOnMeshOrSubMesh( pObj );
anObjEntry = aGeomVar->GetStudyEntry();
}
aCreator->setShapeEntry( anObjEntry );
int obj = myDlg->getActiveObject(); int obj = myDlg->getActiveObject();
removeCustomFilters(); // Issue 0020170 removeCustomFilters(); // Issue 0020170
myDlg->setEnabled( false ); myDlg->setEnabled( false );

View File

@ -201,7 +201,7 @@ void StdMeshersGUI_EdgeDirectionParamWdg::SelectionIntoArgument()
if ( !CORBA::is_nil( aGeomFatherObj ) ) { if ( !CORBA::is_nil( aGeomFatherObj ) ) {
// Get Main Shape // Get Main Shape
GEOM::GEOM_Object_var aGeomMain = GetGeomObjectByEntry( myEntry ); GEOM::GEOM_Object_var aGeomMain = GetGeomObjectByEntry( myEntry );
if ( !CORBA::is_nil( aGeomMain ) || aGeomMain->GetType() == 37 ) { // Main Shape is a Group if ( !CORBA::is_nil( aGeomMain ) && aGeomMain->GetType() == 37 ) { // Main Shape is a Group
GEOM::GEOM_Object_ptr aMainFatherObj = aGeomMain->GetMainShape(); GEOM::GEOM_Object_ptr aMainFatherObj = aGeomMain->GetMainShape();
if ( !CORBA::is_nil( aMainFatherObj ) ) if ( !CORBA::is_nil( aMainFatherObj ) )
aMainFatherEntry = aMainFatherObj->GetStudyEntry(); aMainFatherEntry = aMainFatherObj->GetStudyEntry();