From: eap Date: Thu, 26 Jan 2012 16:02:10 +0000 (+0000) Subject: 0021338: EDF 1926 SMESH: New controls and filters X-Git-Tag: V6_5_0a1~167 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=601f8a87b58403981019656b43f9d87c060ffa17;p=modules%2Fsmesh.git 0021338: EDF 1926 SMESH: New controls and filters Return all nodes from sub-mesh and group --- diff --git a/src/OBJECT/SMESH_Object.cxx b/src/OBJECT/SMESH_Object.cxx index 1912c9156..6c418c17d 100644 --- a/src/OBJECT/SMESH_Object.cxx +++ b/src/OBJECT/SMESH_Object.cxx @@ -845,29 +845,7 @@ int SMESH_SubMeshObj::GetElemDimension( const int theObjId ) void SMESH_SubMeshObj::UpdateFunctor( const SMESH::Controls::FunctorPtr& theFunctor ) { - if ( SMESH::Controls::CoincidentNodes* cn = - dynamic_cast(theFunctor.get()) ) - { - TEntityList theResList; - GetEntities( SMDSAbs_Node, theResList ); - TIDSortedNodeSet nodeSet; - TEntityList::iterator e = theResList.begin(); - for ( ; e != theResList.end(); ++e ) - nodeSet.insert( nodeSet.end(), (const SMDS_MeshNode* ) *e ); - cn->SetMesh( myMeshObj->GetMesh(), &nodeSet ); - } - else if ( SMESH::Controls::CoincidentElements* ce = - dynamic_cast(theFunctor.get()) ) - { - TEntityList theResList; - GetEntities( ce->GetType(), theResList ); - TIDSortedElemSet elemSet( theResList.begin(), theResList.end() ); - ce->SetMesh( myMeshObj->GetMesh(), &elemSet ); - } - else - { - theFunctor->SetMesh( myMeshObj->GetMesh() ); - } + theFunctor->SetMesh( myMeshObj->GetMesh() ); } //================================================================================= @@ -985,9 +963,12 @@ static int getPointers( const SMDSAbs_ElementType theRequestType, //================================================================================= int SMESH_GroupObj::GetNbEntities( const SMDSAbs_ElementType theType) const { - if(SMDSAbs_ElementType(myGroupServer->GetType()) == theType){ + if(SMDSAbs_ElementType(myGroupServer->GetType()) == theType) { return myGroupServer->Size(); } + if ( theType == SMDSAbs_Node ) { + return myGroupServer->GetNumberOfNodes(); + } return 0; } @@ -1047,7 +1028,7 @@ int SMESH_subMeshObj::GetNbEntities( const SMDSAbs_ElementType theType) const { case SMDSAbs_Node: { - return mySubMeshServer->GetNumberOfNodes( false ); + return mySubMeshServer->GetNumberOfNodes( /*all=*/true ); } break; case SMDSAbs_0DElement: