-// Copyright (C) 2007-2020 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2022 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
myIdList.clear();
if (!theGroup->IsEmpty()) {
- SMESH::long_array_var anElements = theGroup->GetListOfID();
+ SMESH::smIdType_array_var anElements = theGroup->GetListOfID();
int k = anElements->length();
for (int i = 0; i < k; i++) {
myIdList.append(anElements[i]);
// function : onNameChanged()
// purpose :
//=================================================================================
-void SMESHGUI_GroupDlg::onNameChanged (const QString& text)
+void SMESHGUI_GroupDlg::onNameChanged (const QString& /*text*/)
{
myOldName = myName->text();
updateButtons();
// function : onColorChanged()
// purpose : Color button management
//=================================================================================
-void SMESHGUI_GroupDlg::onColorChanged(QColor theColor)
+void SMESHGUI_GroupDlg::onColorChanged(QColor /*theColor*/)
{
updateButtons();
}
}
else
{
- SMESH::long_array_var anIdList = new SMESH::long_array;
+ SMESH::smIdType_array_var anIdList = new SMESH::smIdType_array;
int i, k = myElements->count();
anIdList->length(k);
for (i = 0; i < k; i++) {
myIdList.removeAt(idx);
}
if (!aAddList.empty()) {
- SMESH::long_array_var anIdList = new SMESH::long_array;
+ SMESH::smIdType_array_var anIdList = new SMESH::smIdType_array;
int added = aAddList.count();
anIdList->length(added);
for (i = 0; i < added; i++)
myGroup->Add(anIdList.inout());
}
if (!myIdList.empty()) {
- SMESH::long_array_var anIdList = new SMESH::long_array;
+ SMESH::smIdType_array_var anIdList = new SMESH::smIdType_array;
int removed = myIdList.count();
anIdList->length(removed);
for (i = 0; i < removed; i++)
if (myCurrentLineEdit == 0) {
mySelectionMgr->clearSelected();
- TColStd_MapOfInteger aIndexes;
+ SVTK_TVtkIDsMap aIndexes;
QList<QListWidgetItem*> selItems = myElements->selectedItems();
QListWidgetItem* anItem;
foreach(anItem, selItems) aIndexes.Add(anItem->text().toInt());
else if (myCurrentLineEdit == myGeomGroupLine)
{
myGeomObjects = new GEOM::ListOfGO();
+ myGeomObjects->length( aNbSel );
- // The mesh SObject
- _PTR(SObject) aMeshSO = SMESH::FindSObject(myMesh);
-
- if (aNbSel == 0 || !aMeshSO)
+ if ( aNbSel == 0 || myMesh->_is_nil() )
{
- myGeomObjects->length(0);
updateButtons();
myIsBusy = false;
return;
}
- myGeomObjects->length(aNbSel);
-
- GEOM::GEOM_Object_var aGeomGroup;
+ GEOM::GEOM_Object_var mainGeom = myMesh->GetShapeToMesh();
int i = 0;
-
- SALOME_ListIteratorOfListIO anIt (aList);
- for (; anIt.More(); anIt.Next())
+ for ( SALOME_ListIteratorOfListIO anIt( aList ); anIt.More(); anIt.Next() )
{
- CORBA::Object_var aGroupObj = SMESH::IObjectToObject(anIt.Value());
- if (CORBA::is_nil(aGroupObj))
- continue;
- // Check if the object is a geometry group
- aGeomGroup = GEOM::GEOM_Object::_narrow(aGroupObj);
- if (CORBA::is_nil(aGeomGroup))
- continue;
-
// Check if group constructed on the same shape as a mesh or on its child
-
- // The main shape of the group
- GEOM::GEOM_Object_var aGroupMainShape;
- if (aGeomGroup->GetType() == 37)
- {
- GEOM::GEOM_IGroupOperations_wrap anOp =
- SMESH::GetGEOMGen( aGeomGroup )->GetIGroupOperations();
- aGroupMainShape = anOp->GetMainShape( aGeomGroup );
- // aGroupMainShape is an existing servant => GEOM_Object_var not GEOM_Object_wrap
- }
- else
- {
- aGroupMainShape = aGeomGroup;
- aGroupMainShape->Register();
- }
- CORBA::String_var entry = aGroupMainShape->GetStudyEntry();
- _PTR(SObject) aGroupMainShapeSO =
- SMESH::getStudy()->FindObjectID( entry.in() );
-
- _PTR(SObject) anObj, aRef;
- bool isRefOrSubShape = false;
- if (aMeshSO->FindSubObject(1, anObj) && anObj->ReferencedObject(aRef)) {
- if (aRef->GetID() == aGroupMainShapeSO->GetID()) {
- isRefOrSubShape = true;
- } else {
- _PTR(SObject) aFather = aGroupMainShapeSO->GetFather();
- _PTR(SComponent) aComponent = aGroupMainShapeSO->GetFatherComponent();
- while (!isRefOrSubShape && aFather->GetID() != aComponent->GetID()) {
- if (aRef->GetID() == aFather->GetID())
- isRefOrSubShape = true;
- else
- aFather = aFather->GetFather();
- }
- }
- }
- if (isRefOrSubShape)
- myGeomObjects[i++] = aGeomGroup;
+ GEOM::GEOM_Object_var geomGroup = SMESH::GetGeom( anIt.Value() );
+ if ( SMESH::ContainsSubShape( mainGeom, geomGroup ))
+ myGeomObjects[ i++ ] = geomGroup;
}
myGeomObjects->length(i);
// check if mesh is the same
if (aSubMesh->GetFather()->GetId() == myMesh->GetId()) {
try {
- SMESH::long_array_var anElements = aSubMesh->GetElementsByType(aType);
+ SMESH::smIdType_array_var anElements = aSubMesh->GetElementsByType(aType);
int k = anElements->length();
for (int i = 0; i < k; i++) {
QString aText = QString::number(anElements[i]);
if (!aGroup->_is_nil()) {
// check if mesh is the same
if (aGroup->GetType() == aType && aGroup->GetMesh()->GetId() == myMesh->GetId()) {
- SMESH::long_array_var anElements = aGroup->GetListOfID();
+ SMESH::smIdType_array_var anElements = aGroup->GetListOfID();
int k = anElements->length();
for (int i = 0; i < k; i++) {
QString aText = QString::number(anElements[i]);
aBelongToGeom->SetElementType(aType);
aFilter->SetPredicate(aBelongToGeom);
- SMESH::long_array_var anElements = aFilter->GetElementsId(myMesh);
+ SMESH::smIdType_array_var anElements = aFilter->GetElementsId(myMesh);
int k = anElements->length();
for (int i = 0; i < k; i++) {
if (aSubMesh->GetFather()->GetId() == myMesh->GetId()) {
if (aType == SMESH::NODE) {
try {
- SMESH::long_array_var anElements = aSubMesh->GetNodesId();
+ SMESH::smIdType_array_var anElements = aSubMesh->GetNodesId();
int k = anElements->length();
for (int i = 0; i < k; i++) {
QList<QListWidgetItem*> found =
}
else {
try {
- SMESH::long_array_var anElements = aSubMesh->GetElementsId();
+ SMESH::smIdType_array_var anElements = aSubMesh->GetElementsId();
int k = anElements->length();
for (int i = 0; i < k; i++) {
QList<QListWidgetItem*> found =
if (!aGroup->_is_nil()) {
// check if mesh is the same
if (aGroup->GetType() == aType && aGroup->GetMesh()->GetId() == myMesh->GetId()) {
- SMESH::long_array_var anElements = aGroup->GetListOfID();
+ SMESH::smIdType_array_var anElements = aGroup->GetListOfID();
int k = anElements->length();
for (int i = 0; i < k; i++) {
QList<QListWidgetItem*> found =
// PAL5412: sorts items in ascending by "string" value
// myElements->sort(true);
// myElements->update();
- int i, k = myElements->count();
+ vtkIdType i, k = myElements->count();
if (k > 0) {
myIsBusy = true;
- QList<int> aSelected;
- std::vector<int> anArray(k);
+ QList<vtkIdType> aSelected;
+ std::vector<vtkIdType> anArray(k);
// QMemArray<int> anArray(k);
// fill the array
for (i = 0; i < k; i++) {
- int id = myElements->item(i)->text().toInt();
+ vtkIdType id;
+ if (sizeof(vtkIdType)==8)
+ id = myElements->item(i)->text().toLongLong();
+ else
+ id = myElements->item(i)->text().toInt();
anArray[i] = id;
if (myElements->item(i)->isSelected())
aSelected.append(id);