23126: [CEA 1562] Regression : Wrong nodes position using SetEnforcedVertex on a sphere

Fix SMESH_MesherHelper::IsQuadraticSubMesh()

IPAL52836: A sub-face of a box can't be selected in OB to be added to Viscous Layers hypothesis
   Fix StdMeshersGUI_SubShapeSelectorWdg::selectionIntoArgument()
This commit is contained in:
eap 2015-08-03 20:45:26 +03:00
parent 2e144ad6b9
commit afb2a8e781
2 changed files with 23 additions and 19 deletions

View File

@ -192,11 +192,12 @@ bool SMESH_MesherHelper::IsQuadraticSubMesh(const TopoDS_Shape& aSh)
}
// if ( nbOldLinks == myTLinkNodeMap.size() ) -- 0023068
// myCreateQuadratic = false;
if ( myTLinkNodeMap.empty() )
myCreateQuadratic = false;
if(!myCreateQuadratic) {
if ( !myCreateQuadratic )
myTLinkNodeMap.clear();
}
SetSubShape( aSh );
return myCreateQuadratic;

View File

@ -255,24 +255,27 @@ void StdMeshersGUI_SubShapeSelectorWdg::selectionIntoArgument()
GEOM::GEOM_Object_var aGeomObj = GetGeomObjectByEntry( IO->getEntry() );
if ( !CORBA::is_nil( aGeomObj ) ) { // Selected Object From Study
GEOM::GEOM_Object_var aGeomFatherObj = aGeomObj->GetMainShape();
QString aFatherEntry = "";
QString aMainFatherEntry = "";
TopoDS_Shape shape;
if ( !CORBA::is_nil( aGeomFatherObj ) ) {
// Get Main Shape
GEOM::GEOM_Object_var aGeomMain = GetGeomObjectByEntry( myEntry.c_str() );
if ( !CORBA::is_nil( aGeomMain ) && aGeomMain->GetType() == 37 ) { // Main Shape is a Group
GEOM::GEOM_Object_var aMainFatherObj = aGeomMain->GetMainShape();
if ( !CORBA::is_nil( aMainFatherObj ) )
aMainFatherEntry = aMainFatherObj->GetStudyEntry();
}
aFatherEntry = aGeomFatherObj->GetStudyEntry();
}
// commented for IPAL52836
//
// GEOM::GEOM_Object_var aGeomFatherObj = aGeomObj->GetMainShape();
// QString aFatherEntry = "";
// QString aMainFatherEntry = "";
// TopoDS_Shape shape;
// if ( !CORBA::is_nil( aGeomFatherObj ) ) {
// // Get Main Shape
// GEOM::GEOM_Object_var aGeomMain = GetGeomObjectByEntry( myEntry.c_str() );
// if ( !CORBA::is_nil( aGeomMain ) && aGeomMain->GetType() == 37 ) { // Main Shape is a Group
// GEOM::GEOM_Object_var aMainFatherObj = aGeomMain->GetMainShape();
// if ( !CORBA::is_nil( aMainFatherObj ) )
// aMainFatherEntry = aMainFatherObj->GetStudyEntry();
// }
// aFatherEntry = aGeomFatherObj->GetStudyEntry();
// }
if (( ! aFatherEntry.isEmpty() ) &&
( aFatherEntry == myEntry.c_str() || aFatherEntry == aMainFatherEntry ) )
// if (( ! aFatherEntry.isEmpty() ) &&
// ( aFatherEntry == myEntry.c_str() || aFatherEntry == aMainFatherEntry ) )
{
TopoDS_Shape shape;
if ( aGeomObj->GetType() == 37 /*GEOM_GROUP*/ ) { // Selected Group that belongs the main object
GEOMBase::GetShape(aGeomObj, shape);
if ( !shape.IsNull() ) {