mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-13 18:20:34 +05:00
22252: EDF 2684 SMESH: Extrusion along a path with a curvilinear edge
Allow selecting any node as a Base Point
This commit is contained in:
parent
e7dbe802e0
commit
667c4a210e
@ -883,7 +883,7 @@ void SMESHGUI_ExtrusionAlongPathDlg::SelectionIntoArgument()
|
||||
return;
|
||||
|
||||
QString aString;
|
||||
int aNbUnits = SMESH::GetNameOfSelectedNodes(mySelector, myMeshActor->getIO(), aString);
|
||||
int aNbUnits = SMESH::GetNameOfSelectedNodes(mySelector, IO, aString);
|
||||
// return if more than one node is selected
|
||||
if (aNbUnits != 1)
|
||||
return;
|
||||
@ -978,17 +978,15 @@ void SMESHGUI_ExtrusionAlongPathDlg::SetEditCurrentArgument (QToolButton* button
|
||||
if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
|
||||
aViewWindow->SetSelectionMode(NodeSelection);
|
||||
|
||||
SMESH_TypeFilter* aMeshOrSubMeshFilter = new SMESH_TypeFilter(SMESH::MESHorSUBMESH);
|
||||
SMESH_TypeFilter* aSmeshGroupFilter = new SMESH_TypeFilter(SMESH::GROUP);
|
||||
SMESH_TypeFilter* aMeshOrSubMeshFilter = new SMESH_TypeFilter(SMESH::IDSOURCE);
|
||||
SMESH_NumberFilter* aVertexFilter = new SMESH_NumberFilter ("GEOM", TopAbs_SHAPE,
|
||||
-1, TopAbs_VERTEX);
|
||||
QList<SUIT_SelectionFilter*> aListOfFilters;
|
||||
if (aMeshOrSubMeshFilter) aListOfFilters.append(aMeshOrSubMeshFilter);
|
||||
if (aSmeshGroupFilter) aListOfFilters.append(aSmeshGroupFilter);
|
||||
if (aVertexFilter) aListOfFilters.append(aVertexFilter);
|
||||
|
||||
mySelectionMgr->installFilter(new SMESH_LogicalFilter
|
||||
(aListOfFilters, SMESH_LogicalFilter::LO_OR));
|
||||
(aListOfFilters, SMESH_LogicalFilter::LO_OR, true));
|
||||
}
|
||||
|
||||
if (myEditCurrentArgument && !myEditCurrentArgument->hasFocus())
|
||||
@ -1277,9 +1275,7 @@ void SMESHGUI_ExtrusionAlongPathDlg::onDisplaySimulation( bool toDisplayPreview
|
||||
SMESH::SMESH_MeshEditor::Extrusion_Error retVal;
|
||||
SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditPreviewer();
|
||||
bool NeedGroups = false;
|
||||
SMESH::ElementType ElemType = SMESH::FACE;
|
||||
if( GetConstructorId() == 0 )
|
||||
ElemType = SMESH::EDGE;
|
||||
SMESH::ElementType ElemType = ( GetConstructorId() == 0 ) ? SMESH::EDGE : SMESH::FACE;
|
||||
if( !MeshCheck->isChecked() ) {
|
||||
aMeshEditor->ExtrusionAlongPathX(anElementsId, myPath, aNodeStart, AnglesGrp->isChecked(),
|
||||
anAngles, LinearAnglesCheck->isChecked(),
|
||||
@ -1294,7 +1290,6 @@ void SMESHGUI_ExtrusionAlongPathDlg::onDisplaySimulation( bool toDisplayPreview
|
||||
NeedGroups, ElemType, retVal);
|
||||
}
|
||||
|
||||
wc.suspend();
|
||||
if( retVal == SMESH::SMESH_MeshEditor::EXTR_OK ) {
|
||||
SMESH::MeshPreviewStruct_var aMeshPreviewStruct = aMeshEditor->GetPreviewData();
|
||||
mySimulation->SetData(aMeshPreviewStruct._retn());
|
||||
|
Loading…
Reference in New Issue
Block a user