mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-02-04 04:40:33 +05:00
54250: Wrong group contents after SplitQuad()
+ fix a bug that in Split Quadrangles dialog it's impossible to add a quadrangle from a group
This commit is contained in:
parent
e956f25bc6
commit
7647033197
@ -163,7 +163,7 @@ bool SMDS_MeshGroup::Remove(const SMDS_MeshElement * theElem)
|
|||||||
|
|
||||||
bool SMDS_MeshGroup::Contains(const SMDS_MeshElement * theElem) const
|
bool SMDS_MeshGroup::Contains(const SMDS_MeshElement * theElem) const
|
||||||
{
|
{
|
||||||
return myElements.find(theElem)!=myElements.end();
|
return myElements.find(theElem) != myElements.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
|
@ -51,7 +51,7 @@ SMESHDS_GroupBase::SMESHDS_GroupBase (const int theID,
|
|||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
/*!
|
/*!
|
||||||
*
|
* Don't use it!
|
||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ class SMESHDS_EXPORT SMESHDS_GroupBase
|
|||||||
virtual SMDS_ElemIteratorPtr GetElements() const = 0;
|
virtual SMDS_ElemIteratorPtr GetElements() const = 0;
|
||||||
|
|
||||||
virtual int GetID (const int theIndex);
|
virtual int GetID (const int theIndex);
|
||||||
// use it for iterations 1..Extent()
|
// DON'T use it for iterations 1..Extent()
|
||||||
|
|
||||||
virtual int GetTic() const = 0;
|
virtual int GetTic() const = 0;
|
||||||
|
|
||||||
|
@ -974,18 +974,18 @@ void SMESHGUI_MultiEditDlg::setSelectionMode()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (entityType()) {
|
if (entityType()) {
|
||||||
if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
|
|
||||||
aViewWindow->SetSelectionMode(VolumeSelection);
|
|
||||||
SMESH::SetFilter(new SMESHGUI_VolumesFilter());
|
SMESH::SetFilter(new SMESHGUI_VolumesFilter());
|
||||||
} else {
|
|
||||||
if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
|
if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
|
||||||
aViewWindow->SetSelectionMode(FaceSelection);
|
aViewWindow->SetSelectionMode(VolumeSelection); // here myActor set to a filter
|
||||||
|
} else {
|
||||||
if (myFilterType == SMESH::TriaFilter)
|
if (myFilterType == SMESH::TriaFilter)
|
||||||
SMESH::SetFilter(new SMESHGUI_TriangleFilter());
|
SMESH::SetFilter(new SMESHGUI_TriangleFilter());
|
||||||
else if (myFilterType == SMESH::QuadFilter)
|
else if (myFilterType == SMESH::QuadFilter)
|
||||||
SMESH::SetFilter(new SMESHGUI_QuadrangleFilter());
|
SMESH::SetFilter(new SMESHGUI_QuadrangleFilter());
|
||||||
else
|
else
|
||||||
SMESH::SetFilter(new SMESHGUI_FacesFilter());
|
SMESH::SetFilter(new SMESHGUI_FacesFilter());
|
||||||
|
if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
|
||||||
|
aViewWindow->SetSelectionMode(FaceSelection); // here myActor set to a filter
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -474,8 +474,9 @@ SMESH::long_array* SMESH_GroupBase_i::GetListOfID()
|
|||||||
{
|
{
|
||||||
int aSize = aGroupDS->Extent();
|
int aSize = aGroupDS->Extent();
|
||||||
aRes->length(aSize);
|
aRes->length(aSize);
|
||||||
for (int i = 0; i < aSize; i++)
|
SMDS_ElemIteratorPtr it = aGroupDS->GetElements();
|
||||||
aRes[i] = aGroupDS->GetID(i+1);
|
for (int i = 0; it->more(); i++)
|
||||||
|
aRes[i] = it->next()->GetID();
|
||||||
|
|
||||||
if ( 0 < aSize && aSize < 100 ) // for comfortable testing ;)
|
if ( 0 < aSize && aSize < 100 ) // for comfortable testing ;)
|
||||||
std::sort( &aRes[0], &aRes[0]+aSize );
|
std::sort( &aRes[0], &aRes[0]+aSize );
|
||||||
|
Loading…
Reference in New Issue
Block a user