anEnfMeshLayout->setRowStretch(ENF_MESH_MESH, 10);
- // selection of faces
+ // selection of faces for layers
- QWidget* faceSelGroup = new QWidget( dlg() );
- QGridLayout* faceSelLayout = new QGridLayout( faceSelGroup );
+ QWidget* faceSelLayersGroup = new QWidget( dlg() );
+ QGridLayout* faceSelLayersLayout = new QGridLayout( faceSelLayersGroup );
- QLabel* facesLbl = new QLabel( tr("HYBRID_FACE_IDS"), faceSelGroup );
- faceSelLayout->addWidget( facesLbl, 0, 0 );
+ QLabel* facesLbl = new QLabel( tr("HYBRID_FACE_IDS"), faceSelLayersGroup );
+ faceSelLayersLayout->addWidget( facesLbl, 0, 0 );
- myFaceSelector = new StdMeshersGUI_SubShapeSelectorWdg( faceSelGroup, TopAbs_FACE, true, true );
+ myFaceSelectorLayers = new StdMeshersGUI_SubShapeSelectorWdg( faceSelLayersGroup, TopAbs_FACE, true, true );
QString aMainEntry = SMESHGUI_GenericHypothesisCreator::getMainShapeEntry();
QString aSubEntry = SMESHGUI_GenericHypothesisCreator::getShapeEntry();
- myFaceSelector->SetGeomShapeEntry( aSubEntry, aMainEntry );
- faceSelLayout->addWidget( myFaceSelector, 1, 0, 2, 2 );
- faceSelLayout->setRowStretch( 1, 10);
+ myFaceSelectorLayers->SetGeomShapeEntry( aSubEntry, aMainEntry );
+ faceSelLayersLayout->addWidget( myFaceSelectorLayers, 1, 0, 2, 2 );
+ faceSelLayersLayout->setRowStretch( 1, 10);
+ // selection of faces for imprinting
+
+ QWidget* faceSelImprintingGroup = new QWidget( dlg() );
+ QGridLayout* faceSelImprintingLayout = new QGridLayout( faceSelImprintingGroup );
+
+ QLabel* facesLblImprinting = new QLabel( tr("HYBRID_FACE_IDS"), faceSelImprintingGroup );
+ faceSelImprintingLayout->addWidget( facesLblImprinting, 0, 0 );
+
+ myFaceSelectorImprinting = new StdMeshersGUI_SubShapeSelectorWdg( faceSelImprintingGroup, TopAbs_FACE, true, true );
+ myFaceSelectorImprinting->SetGeomShapeEntry( aSubEntry, aMainEntry );
+ faceSelImprintingLayout->addWidget( myFaceSelectorImprinting, 1, 0, 2, 2 );
+ faceSelImprintingLayout->setRowStretch( 1, 10);
// add tabs
tab->insertTab( STD_TAB, myStdGroup, tr( "SMESH_ARGUMENTS" ) );
tab->insertTab( ADV_TAB, myAdvGroup, tr( "HYBRID_ADV_ARGS" ) );
tab->insertTab( ENF_MESH_TAB, myEnfMeshGroup, tr( "HYBRID_ENFORCED_MESHES" ) );
if ( aMainEntry.isEmpty() && aSubEntry.isEmpty() ) // mesh not based of geometry
- faceSelGroup->hide();
- else
- tab->insertTab( FACE_SEL_TAB, faceSelGroup, tr( "HYBRID_FACES_TAB" ));
+ faceSelLayersGroup->hide();
+ else {
+ tab->insertTab( FACE_SEL_LAYERS_TAB, faceSelLayersGroup, tr( "HYBRID_FACES_LAYERS_TAB" ));
+ tab->insertTab( FACE_SEL_IMPRINTING_TAB, faceSelImprintingGroup, tr( "HYBRID_FACES_IMPRINTING_TAB" ));
+ }
tab->setCurrentIndex( STD_TAB );
// connections
{
myEnfVertexWdg->deactivateSelection();
myEnfMeshWdg->deactivateSelection();
- myFaceSelector->ActivateSelection( false );
- myFaceSelector->ShowPreview( false );
+ myFaceSelectorLayers->ActivateSelection( false );
+ myFaceSelectorLayers->ShowPreview( false );
+ myFaceSelectorImprinting->ActivateSelection( false );
+ myFaceSelectorImprinting->ShowPreview( false );
}
void HYBRIDPluginGUI_HypothesisCreator::updateWidgets()
addEnfMeshButton->setEnabled(enabled);
removeEnfMeshButton->setEnabled(enabled);
myEnfMeshWdg->setEnabled(enabled);
- if ( QTabWidget* tab = qobject_cast<QTabWidget*>( myStdGroup->parentWidget()->parentWidget() ))
- tab->setTabEnabled( FACE_SEL_TAB, enabled );
+ if ( QTabWidget* tab = qobject_cast<QTabWidget*>( myStdGroup->parentWidget()->parentWidget() )) {
+ tab->setTabEnabled( FACE_SEL_LAYERS_TAB, enabled );
+ tab->setTabEnabled( FACE_SEL_IMPRINTING_TAB, enabled );
+ }
}
bool HYBRIDPluginGUI_HypothesisCreator::checkParams(QString& msg) const
else
myCoreSizeSpin -> setValue( data.myCoreSize );
myMultinormalsAngleSpin -> setValue( data.myMultinormalsAngle );
- myFaceSelector ->SetListOfIDs( data.myFaceWLIds );
+ myFaceSelectorLayers ->SetListOfIDs( data.myFaceWLIds );
+ myFaceSelectorImprinting ->SetListOfIDs( data.myFaceWIIds );
myAdvWidget->workingDirectoryLineEdit ->setText ( data.myWorkingDir );
myAdvWidget->keepWorkingFilesCheck ->setChecked( data.myKeepFiles );
h_data.myMultinormalsAngle = h->GetMultinormalsAngle();
h_data.myNbOfBoundaryLayers = h->GetNbOfBoundaryLayers();
h_data.myFaceWLIds = h->GetFacesWithLayers();
+ h_data.myFaceWIIds = h->GetFacesWithImprinting();
h_data.myLayersOnAllWrap = h->GetLayersOnAllWrap();
h_data.myToMeshHoles = h->GetToMeshHoles();
if ( h->GetNbOfBoundaryLayers() != h_data.myNbOfBoundaryLayers )
h->SetNbOfBoundaryLayers ( h_data.myNbOfBoundaryLayers );
h->SetFacesWithLayers( h_data.myFaceWLIds );
+ h->SetFacesWithImprinting( h_data.myFaceWIIds );
if ( h->GetKeepFiles() != h_data.myKeepFiles)
h->SetKeepFiles ( h_data.myKeepFiles);
h_data.myBoundaryLayersProgression = myBoundaryLayersProgressionSpin -> value();
h_data.myCoreSize = myCoreSizeSpin->text().isEmpty() ? 0.0 : myCoreSizeSpin -> value();
h_data.myMultinormalsAngle = myMultinormalsAngleSpin -> value();
- h_data.myFaceWLIds = myFaceSelector->GetListOfIDs();
+ h_data.myFaceWLIds = myFaceSelectorLayers->GetListOfIDs();
+ h_data.myFaceWIIds = myFaceSelectorImprinting->GetListOfIDs();
h_data.myKeepFiles = myAdvWidget->keepWorkingFilesCheck->isChecked();
h_data.myWorkingDir = myAdvWidget->workingDirectoryLineEdit->text().trimmed();