-// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
return new GEOM_SelectionFilter( (SalomeApp_Study*)study(), true );
}
else if ( theId == SMESHGUI_MeshDlg::Obj && !myToCreate )
- return new SMESH_TypeFilter( MESHorSUBMESH );
+ return new SMESH_TypeFilter( SMESH::MESHorSUBMESH );
else if ( theId == SMESHGUI_MeshDlg::Mesh )
- return new SMESH_TypeFilter( MESH );
+ return new SMESH_TypeFilter( SMESH::MESH );
else
return 0;
}
//================================================================================
/*!
- * \brief check if selected shape is a subshape of the shape to mesh
+ * \brief check if selected shape is a sub-shape of the shape to mesh
* \retval bool - check result
*/
//================================================================================
switch ( aGeomVar->GetShapeType() ) {
case GEOM::SOLID: shapeDim = 3; break;
case GEOM::SHELL:
- {
- //shapeDim = 3; // Bug 0016155: EDF PAL 447: If the shape is a Shell, disable 3D tab
- TopoDS_Shape aShape;
- bool isClosed = GEOMBase::GetShape(aGeomVar, aShape) && /*aShape.Closed()*/BRep_Tool::IsClosed(aShape);
- shapeDim = qMax(isClosed ? 3 : 2, shapeDim);
- }
- break;
+ // Bug 0016155: EDF PAL 447: If the shape is a Shell, disable 3D tab
+ // {
+ // TopoDS_Shape aShape;
+ // bool isClosed = GEOMBase::GetShape(aGeomVar, aShape) && /*aShape.Closed()*/BRep_Tool::IsClosed(aShape);
+ // shapeDim = qMax(isClosed ? 3 : 2, shapeDim);
+ // }
+ // break;
case GEOM::FACE: shapeDim = qMax(2, shapeDim); break;
case GEOM::WIRE:
case GEOM::EDGE: shapeDim = qMax(1, shapeDim); break;
default:
{
TopoDS_Shape aShape;
- if (GEOMBase::GetShape(aGeomVar, aShape)) {
- TopExp_Explorer exp (aShape, TopAbs_SHELL);
+ if (GEOMBase::GetShape(aGeomVar, aShape))
+ {
+ TopExp_Explorer exp (aShape, TopAbs_SOLID);
if (exp.More()) {
- //shapeDim = 3; // Bug 0016155: EDF PAL 447: If the shape is a Shell, disable 3D tab
- shapeDim = qMax(2, shapeDim);
- for (; exp.More() && shapeDim == 2; exp.Next()) {
- if (/*exp.Current().Closed()*/BRep_Tool::IsClosed(exp.Current()))
- shapeDim = 3;
- }
+ shapeDim = 3;
}
+ // Bug 0016155: EDF PAL 447: If the shape is a Shell, disable 3D tab
+ // else if ( exp.Init( aShape, TopAbs_SHELL ), exp.More() )
+ // {
+ // shapeDim = 2;
+ // for (; exp.More() && shapeDim == 2; exp.Next()) {
+ // if (/*exp.Current().Closed()*/BRep_Tool::IsClosed(exp.Current()))
+ // shapeDim = 3;
+ // }
+ // }
else if ( exp.Init( aShape, TopAbs_FACE ), exp.More() )
shapeDim = qMax(2, shapeDim);
else if ( exp.Init( aShape, TopAbs_EDGE ), exp.More() )
}
}
}
+ if ( shapeDim == 3 )
+ break;
}
}
for (int i = SMESH::DIM_3D; i > shapeDim; i--) {
//================================================================================
/*!
* \brief If create or edit a submesh, return a hypothesis holding parameters used
- * to mesh a subshape
+ * to mesh a sub-shape
* \param aHypType - The hypothesis type name
* \param aServerLib - Server library name
* \param hypData - The structure holding the hypothesis type etc.
}
}
- // deselect geometry: next submesh should be created on other subshape
+ // deselect geometry: next submesh should be created on other sub-shape
myDlg->clearSelection( SMESHGUI_MeshDlg::Geom );
selectObject( _PTR(SObject)() );
selectionDone();