// IDL Headers
#include "SALOMEconfig.h"
#include CORBA_SERVER_HEADER(SMESH_Group)
+#include CORBA_SERVER_HEADER(SMESH_MeshEditor)
using namespace std;
SelectBasePointButton->setPixmap(selectImage);
XLab = new QLabel(tr("SMESH_X"), BasePointGrp);
+ XLab->setAlignment( Qt::AlignRight | Qt::AlignVCenter | Qt::ExpandTabs );
XSpin = new SMESHGUI_SpinBox(BasePointGrp);
YLab = new QLabel(tr("SMESH_Y"), BasePointGrp);
+ YLab->setAlignment( Qt::AlignRight | Qt::AlignVCenter | Qt::ExpandTabs );
YSpin = new SMESHGUI_SpinBox(BasePointGrp);
ZLab = new QLabel(tr("SMESH_Z"), BasePointGrp);
+ ZLab->setAlignment( Qt::AlignRight | Qt::AlignVCenter | Qt::ExpandTabs );
ZSpin = new SMESHGUI_SpinBox(BasePointGrp);
// layouting
AnglesGrpLayout->addWidget( AngleSpin, 0, 2 );
AnglesGrpLayout->setRowStretch(1, 10);
+ // CheckBox for groups generation
+ MakeGroupsCheck = new QCheckBox(tr("SMESH_MAKE_GROUPS"), GroupArguments);
+ MakeGroupsCheck->setChecked(true);
+
// layouting
GroupArgumentsLayout->addWidget( ElementsLab, 0, 0 );
GroupArgumentsLayout->addWidget( SelectElementsButton, 0, 1 );
GroupArgumentsLayout->addMultiCellWidget(BasePointGrp, 3, 4, 1, 2);
GroupArgumentsLayout->addWidget( AnglesCheck, 5, 0 );
GroupArgumentsLayout->addMultiCellWidget(AnglesGrp, 5, 6, 1, 2);
+ GroupArgumentsLayout->addMultiCellWidget(MakeGroupsCheck, 7, 7, 0, 2);
GroupArgumentsLayout->setRowStretch(6, 10);
/***************************************************************/
myElementsFilter = new SMESH_LogicalFilter (aListOfFilters, SMESH_LogicalFilter::LO_OR);
myPathMeshFilter = new SMESH_TypeFilter (MESH);
- myHelpFileName = "extrusion_along_a_path.htm";
+ myHelpFileName = "extrusion_along_path_page.html";
Init();
try {
SUIT_OverrideCursor wc;
SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor();
- SMESH::SMESH_MeshEditor::Extrusion_Error retVal =
- aMeshEditor->ExtrusionAlongPath(anElementsId.inout(), myPathMesh, myPathShape, aNodeStart,
- AnglesCheck->isChecked(), anAngles.inout(),
- BasePointCheck->isChecked(), aBasePoint);
+ SMESH::SMESH_MeshEditor::Extrusion_Error retVal;
+ if ( MakeGroupsCheck->isEnabled() && MakeGroupsCheck->isChecked() )
+ SMESH::ListOfGroups_var groups =
+ aMeshEditor->ExtrusionAlongPathMakeGroups(anElementsId.inout(), myPathMesh,
+ myPathShape, aNodeStart,
+ AnglesCheck->isChecked(), anAngles.inout(),
+ BasePointCheck->isChecked(), aBasePoint, retVal);
+ else
+ retVal = aMeshEditor->ExtrusionAlongPath(anElementsId.inout(), myPathMesh,
+ myPathShape, aNodeStart,
+ AnglesCheck->isChecked(), anAngles.inout(),
+ BasePointCheck->isChecked(), aBasePoint);
//wc.stop();
wc.suspend();
//mySelectionMgr->clearSelected();
SMESH::Update( myMeshActor->getIO(), myMeshActor->GetVisibility() );
+ if ( MakeGroupsCheck->isEnabled() && MakeGroupsCheck->isChecked() )
+ mySMESHGUI->updateObjBrowser(true); // new groups may appear
//SMESH::UpdateView();
Init(false);
ConstructorsClicked(GetConstructorId());
myMesh = SMESH::GetMeshByIO(IO);
if (myMesh->_is_nil())
return;
+
+ // MakeGroups is available if there are groups
+ if ( myMesh->NbGroups() == 0 ) {
+ MakeGroupsCheck->setChecked(false);
+ MakeGroupsCheck->setEnabled(false);
+ } else {
+ MakeGroupsCheck->setEnabled(true);
+ }
// find actor
myMeshActor = SMESH::FindActorByObject(myMesh);
if (!myMeshActor)
// try to get selected elements IDs
QString aString;
//int aNbUnits = SMESH::GetNameOfSelectedElements(mySelectionMgr, aString);
- SMESH::GetNameOfSelectedElements(mySelector, myMeshActor->getIO(), aString);
+ SMESH::GetNameOfSelectedElements(mySelector, IO, aString);
ElementsLineEdit->setText(aString);
}
} else if (myEditCurrentArgument == PathMeshLineEdit) {