0020082: EDF 869 GEOM : Edges Orientation indicator/reverse

This commit is contained in:
dmv 2009-09-15 14:16:35 +00:00
parent 3e09f90deb
commit 067947492f
2 changed files with 11 additions and 5 deletions

View File

@ -1085,7 +1085,8 @@ void SMESHGUI_MeshOp::createHypothesis(const int theDim,
if ( aMeshEntry == "" && aGeomEntry == "" ) {
_PTR(SObject) pObj = studyDS()->FindObjectID( anObjEntry.toLatin1().data() );
GEOM::GEOM_Object_var aGeomVar = SMESH::GetShapeOnMeshOrSubMesh( pObj );
aGeomEntry = aGeomVar->GetStudyEntry();
if ( !aGeomVar->_is_nil() )
aGeomEntry = aGeomVar->GetStudyEntry();
}
if ( anObjEntry != "" && aGeomEntry != "" && aMeshEntry == "" ) { // take geometry from submesh
@ -1099,7 +1100,8 @@ void SMESHGUI_MeshOp::createHypothesis(const int theDim,
if ( !aMeshVar->_is_nil() ) {
_PTR(SObject) aMeshSO = SMESH::FindSObject( aMeshVar );
GEOM::GEOM_Object_var aGeomVar = SMESH::GetShapeOnMeshOrSubMesh( aMeshSO );
aMeshEntry = aGeomVar->GetStudyEntry();
if ( !aGeomVar->_is_nil() )
aMeshEntry = aGeomVar->GetStudyEntry();
}
}
}
@ -1206,7 +1208,8 @@ void SMESHGUI_MeshOp::onEditHyp( const int theHypType, const int theIndex )
if ( aMeshEntry == "" && aGeomEntry == "" ) {
_PTR(SObject) pObj = studyDS()->FindObjectID( anObjEntry.toLatin1().data() );
GEOM::GEOM_Object_var aGeomVar = SMESH::GetShapeOnMeshOrSubMesh( pObj );
aGeomEntry = aGeomVar->GetStudyEntry();
if ( !aGeomVar->_is_nil() )
aGeomEntry = aGeomVar->GetStudyEntry();
}
if ( anObjEntry != "" && aGeomEntry != "" && aMeshEntry == "" ) { // take geometry from submesh
@ -1220,7 +1223,8 @@ void SMESHGUI_MeshOp::onEditHyp( const int theHypType, const int theIndex )
if ( !aMeshVar->_is_nil() ) {
_PTR(SObject) aMeshSO = SMESH::FindSObject( aMeshVar );
GEOM::GEOM_Object_var aGeomVar = SMESH::GetShapeOnMeshOrSubMesh( aMeshSO );
aMeshEntry = aGeomVar->GetStudyEntry();
if ( !aGeomVar->_is_nil() )
aMeshEntry = aGeomVar->GetStudyEntry();
}
}
}

View File

@ -475,8 +475,10 @@ const char* StdMeshersGUI_SubShapeSelectorWdg::GetMainShapeEntry()
//=================================================================================
QList<int> StdMeshersGUI_SubShapeSelectorWdg::GetCorrectedListOfIDs( bool fromSubshapeToMainshape )
{
if ( myMainShape.IsNull() || myGeomShape.IsNull() )
if ( ( myMainShape.IsNull() || myGeomShape.IsNull() ) && fromSubshapeToMainshape )
return myListOfIDs;
else if ( ( myMainShape.IsNull() || myGeomShape.IsNull() ) && !fromSubshapeToMainshape )
return mySelectedIDs;
QList<int> aList;
TopTools_IndexedMapOfShape aGeomMap;