//================================================================================
/*!
* \brief Creates selection filter
- * \param theId - identifier of current selection widget
- * \retval SUIT_SelectionFilter* - pointer to the created filter or null
+ * \param theId - identifier of current selection widget
+ * \retval SUIT_SelectionFilter* - pointer to the created filter or null
*
* Creates selection filter in accordance with identifier of current selection widget
*/
initParams.way = isSubMesh ? BY_MESH : BY_GEOM;
}
- SMESH::SMESH_Hypothesis_var hyp =
- SMESHGUI::GetSMESHGen()->GetHypothesisParameterValues( aHypType.toUtf8().data(),
- aServerLib.toUtf8().data(),
- aMesh,
- aGeomVar,
- initParams );
+ SMESH::SMESH_Hypothesis_var hyp;
+ if ( initParams.way == BY_AVERAGE_LENGTH )
+ hyp = SMESHGUI::GetSMESHGen()->CreateHypothesisByAverageLength( aHypType.toUtf8().data(),
+ aServerLib.toUtf8().data(),
+ initParams.averageLength,
+ initParams.quadDominated );
+ else
+ hyp = SMESHGUI::GetSMESHGen()->GetHypothesisParameterValues( aHypType.toUtf8().data(),
+ aServerLib.toUtf8().data(),
+ aMesh,
+ aGeomVar,
+ initParams );
if ( hyp->_is_nil() && initParams.way == BY_MESH )
{
initParams.way = BY_GEOM;
HypothesesSet::SetType setType = aHypoSet->getPreferredHypType();
if ( !aHypoSet->getAlgoAvailable( setType ))
{
- setType = setType == HypothesesSet::ALT ? HypothesesSet::MAIN : HypothesesSet::ALT;
+ setType = ( setType == HypothesesSet::ALT ) ? HypothesesSet::MAIN : HypothesesSet::ALT;
if ( !aHypoSet->getAlgoAvailable( setType ))
return;
}
GEOM::GEOM_Gen_var geomGen = SMESH::GetGEOMGen();
GEOM::GEOM_IShapesOperations_wrap op = geomGen->GetIShapesOperations();
GEOM::ListOfGO_var geomGroups = op->GetExistingSubObjects( aGeomVar,
- /*groupsOnly=*/true );
+ /*groupsOnly=*/false );
SMESH::SMESH_GroupOnGeom_var meshGroup;
for ( CORBA::ULong iG = 0; iG < geomGroups->length(); ++iG )
{
SMESH::ElementType elemType = SMESHGUI_GroupOnShapeOp::ElementType( geomGroups[ iG ] );
if ( elemType == SMESH::ALL )
continue;
+ if ( elemType == SMESH::ELEM0D )
+ elemType = SMESH::NODE;
CORBA::String_var name = geomGroups[ iG ]->GetName();
meshGroup = aMesh->CreateGroupFromGEOM( elemType, name, geomGroups[ iG ]);
- if ( elemType != SMESH::NODE )
- meshGroup = aMesh->CreateGroupFromGEOM( SMESH::NODE, name, geomGroups[ iG ]);
+ // if ( elemType != SMESH::NODE )
+ // meshGroup = aMesh->CreateGroupFromGEOM( SMESH::NODE, name, geomGroups[ iG ]);
}
}