-
- if (myEditCurrentArgument == LineEditElements)
- {
- int aNbElements = 0;
- myElementsId = "";
-
- if (CheckBoxMesh->isChecked())
- {
- SMESH::GetNameOfSelectedIObjects(mySelection, aString);
-
- int aConstructorId = GetConstructorId();
-
- if(!SMESH::IObjectToInterface<SMESH::SMESH_Mesh>(IO)->_is_nil()) //MESH
- {
- // get IDs from mesh
- SMDS_Mesh* aSMDSMesh = myActor->GetObject()->GetMesh();
- if (!aSMDSMesh)
- return;
-
- if (aConstructorId == 0)
- {
- SMDS_EdgeIteratorPtr anIter = aSMDSMesh->edgesIterator();
-
- while ( anIter->more() )
- {
- const SMDS_MeshEdge * edge = anIter->next();
- if ( edge ) {
- myElementsId += QString(" %1").arg(edge->GetID());
- aNbElements++;
- }
- }
- }
- else if (aConstructorId == 1)
- {
- SMDS_FaceIteratorPtr anIter = aSMDSMesh->facesIterator();
- while ( anIter->more() )
- {
- const SMDS_MeshFace * face = anIter->next();
- if ( face ) {
- myElementsId += QString(" %1").arg(face->GetID());
- aNbElements++;
- }
- }
- }
- }
- else if (!SMESH::IObjectToInterface<SMESH::SMESH_subMesh>(IO)->_is_nil()) //SUBMESH
- {
- // get submesh
- SMESH::SMESH_subMesh_var aSubMesh = SMESH::IObjectToInterface<SMESH::SMESH_subMesh>(IO) ;
-
- // get IDs from submesh
- SMESH::long_array_var anElementsIds = new SMESH::long_array;
- if (aConstructorId == 0)
- anElementsIds = aSubMesh->GetElementsByType(SMESH::EDGE);
- else if (aConstructorId == 1)
- anElementsIds = aSubMesh->GetElementsByType(SMESH::FACE);
-
- for ( int i = 0; i < anElementsIds->length(); i++ )
- myElementsId += QString(" %1").arg(anElementsIds[i]);
- aNbElements = anElementsIds->length();
- }
- else // GROUP
- {
- // get smesh group
- SMESH::SMESH_GroupBase_var aGroup =
- SMESH::IObjectToInterface<SMESH::SMESH_GroupBase>(IO);
- if (aGroup->_is_nil())
- return;
-
- if ( (aConstructorId == 0 && aGroup->GetType()!= SMESH::EDGE) ||
- (aConstructorId == 1 && aGroup->GetType()!= SMESH::FACE) )
- return;
-
- // get IDs from smesh group
- SMESH::long_array_var anElementsIds = new SMESH::long_array;
- anElementsIds = aGroup->GetListOfID();
- for ( int i = 0; i < anElementsIds->length(); i++ )
- myElementsId += QString(" %1").arg(anElementsIds[i]);
- aNbElements = anElementsIds->length();
- }
- }
- else
- {
- aNbElements = SMESH::GetNameOfSelectedElements(mySelection, aString) ;
- myElementsId = aString;
- }
-
- if(aNbElements < 1)
- return ;
-
- myNbOkElements = true;
+
+ if (myEditCurrentArgument == LineEditElements) {
+ int aNbElements = 0;
+ myElementsId = "";
+
+ if (CheckBoxMesh->isChecked()) {
+ int aConstructorId = GetConstructorId();
+
+ SMESH::GetNameOfSelectedIObjects(mySelectionMgr, aString);
+
+ if (!SMESH::IObjectToInterface<SMESH::SMESH_Mesh>(IO)->_is_nil()) { //MESH
+ // get IDs from mesh
+ SMDS_Mesh* aSMDSMesh = myActor->GetObject()->GetMesh();
+ if (!aSMDSMesh)
+ return;
+
+ if (aConstructorId == 0) {
+ SMDS_EdgeIteratorPtr anIter = aSMDSMesh->edgesIterator();
+
+ while (anIter->more()) {
+ const SMDS_MeshEdge * edge = anIter->next();
+ if (edge) {
+ myElementsId += QString(" %1").arg(edge->GetID());
+ aNbElements++;
+ }
+ }
+ } else if (aConstructorId == 1) {
+ SMDS_FaceIteratorPtr anIter = aSMDSMesh->facesIterator();
+ while (anIter->more()) {
+ const SMDS_MeshFace * face = anIter->next();
+ if (face) {
+ myElementsId += QString(" %1").arg(face->GetID());
+ aNbElements++;
+ }
+ }
+ }
+ } else if (!SMESH::IObjectToInterface<SMESH::SMESH_subMesh>(IO)->_is_nil()) { //SUBMESH
+ // get submesh
+ SMESH::SMESH_subMesh_var aSubMesh = SMESH::IObjectToInterface<SMESH::SMESH_subMesh>(IO);
+
+ // get IDs from submesh
+ SMESH::long_array_var anElementsIds = new SMESH::long_array;
+ if (aConstructorId == 0)
+ anElementsIds = aSubMesh->GetElementsByType(SMESH::EDGE);
+ else if (aConstructorId == 1)
+ anElementsIds = aSubMesh->GetElementsByType(SMESH::FACE);
+
+ for (int i = 0; i < anElementsIds->length(); i++)
+ myElementsId += QString(" %1").arg(anElementsIds[i]);
+ aNbElements = anElementsIds->length();
+ } else { // GROUP
+ // get smesh group
+ SMESH::SMESH_GroupBase_var aGroup =
+ SMESH::IObjectToInterface<SMESH::SMESH_GroupBase>(IO);
+ if (aGroup->_is_nil())
+ return;
+
+ if ((aConstructorId == 0 && aGroup->GetType() != SMESH::EDGE) ||
+ (aConstructorId == 1 && aGroup->GetType()!= SMESH::FACE))
+ return;
+
+ // get IDs from smesh group
+ SMESH::long_array_var anElementsIds = new SMESH::long_array;
+ anElementsIds = aGroup->GetListOfID();
+ for (int i = 0; i < anElementsIds->length(); i++)
+ myElementsId += QString(" %1").arg(anElementsIds[i]);
+ aNbElements = anElementsIds->length();
+ }
+ } else {
+ aNbElements = SMESH::GetNameOfSelectedElements(mySelector, myActor->getIO(), aString);
+ myElementsId = aString;