Salome HOME
projects
/
modules
/
smesh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
#19926 [CEA 19782] renumbering meshes \\ fix excess nodes
[modules/smesh.git]
/
src
/
SMESHGUI
/
SMESHGUI_FilterDlg.cxx
diff --git
a/src/SMESHGUI/SMESHGUI_FilterDlg.cxx
b/src/SMESHGUI/SMESHGUI_FilterDlg.cxx
old mode 100755
(executable)
new mode 100644
(file)
index
04732d8
..
5d7f160
--- a/
src/SMESHGUI/SMESHGUI_FilterDlg.cxx
+++ b/
src/SMESHGUI/SMESHGUI_FilterDlg.cxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-20
15
CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-20
20
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
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@
-798,7
+798,7
@@
void SMESHGUI_FilterTable::Table::setEditable (bool isEditable,
//=======================================================================
// name : SMESHGUI_FilterTable::Table::isEditable
//=======================================================================
// name : SMESHGUI_FilterTable::Table::isEditable
-// Purpose : Verify wheter cell is editable
+// Purpose : Verify whet
h
er cell is editable
//=======================================================================
bool SMESHGUI_FilterTable::Table::isEditable (int row, int col) const
{
//=======================================================================
bool SMESHGUI_FilterTable::Table::isEditable (int row, int col) const
{
@@
-856,7
+856,7
@@
QList<int> SMESHGUI_FilterTable::Table::selectedRows()
/*
Class : SMESHGUI_FilterTable
/*
Class : SMESHGUI_FilterTable
- Description : Frame containig
+ Description : Frame containi
n
g
- Button group for switching entity type
- Table for displaying filter criterions
- Buttons for editing table and filter libraries
- Button group for switching entity type
- Table for displaying filter criterions
- Buttons for editing table and filter libraries
@@
-1369,8
+1369,7
@@
void SMESHGUI_FilterTable::SetCriterion (const int theRow,
{
if ( strlen( theCriterion.ThresholdID ) > 0 ) // shape ID -> name
{
{
if ( strlen( theCriterion.ThresholdID ) > 0 ) // shape ID -> name
{
- _PTR(SObject) sobj =
- SMESH::GetActiveStudyDocument()->FindObjectID( theCriterion.ThresholdID.in() );
+ _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( theCriterion.ThresholdID.in() );
if ( !sobj )
aTable->item( theRow, 2 )->setText( QString( theCriterion.ThresholdID ) );
else
if ( !sobj )
aTable->item( theRow, 2 )->setText( QString( theCriterion.ThresholdID ) );
else
@@
-1403,7
+1402,7
@@
void SMESHGUI_FilterTable::SetCriterion (const int theRow,
theCriterion.Type != SMESH::FT_OverConstrainedVolume &&
theCriterion.Type != SMESH::FT_LinearOrQuadratic)
{
theCriterion.Type != SMESH::FT_OverConstrainedVolume &&
theCriterion.Type != SMESH::FT_LinearOrQuadratic)
{
- // Num
b
eric criterion
+ // Numeric criterion
aTable->item( theRow, 2 )->setText(QString("%1").arg(theCriterion.Threshold, 0, 'g', 15));
}
else
aTable->item( theRow, 2 )->setText(QString("%1").arg(theCriterion.Threshold, 0, 'g', 15));
}
else
@@
-1546,7
+1545,7
@@
void SMESHGUI_FilterTable::onRemoveBtn()
//=======================================================================
// name : SMESHGUI_FilterTable::updateAdditionalWidget
//=======================================================================
// name : SMESHGUI_FilterTable::updateAdditionalWidget
-// Purpose : Enable/Disable widget with additonal parameters
+// Purpose : Enable/Disable widget with addit
i
onal parameters
//=======================================================================
void SMESHGUI_FilterTable::updateAdditionalWidget()
{
//=======================================================================
void SMESHGUI_FilterTable::updateAdditionalWidget()
{
@@
-1572,6
+1571,8
@@
void SMESHGUI_FilterTable::updateAdditionalWidget()
aCriterion == SMESH::FT_MaxElementLength3D ||
aCriterion == SMESH::FT_Length ||
aCriterion == SMESH::FT_Length2D ||
aCriterion == SMESH::FT_MaxElementLength3D ||
aCriterion == SMESH::FT_Length ||
aCriterion == SMESH::FT_Length2D ||
+ aCriterion == SMESH::FT_Length3D ||
+ aCriterion == SMESH::FT_Deflection2D ||
aCriterion == SMESH::FT_BallDiameter );
bool toEnable = (( isDbl && ((ComboItem*)aTable->item(aRow, 1))->value() == SMESH::FT_EqualTo) ||
aCriterion == SMESH::FT_BallDiameter );
bool toEnable = (( isDbl && ((ComboItem*)aTable->item(aRow, 1))->value() == SMESH::FT_EqualTo) ||
@@
-1618,6
+1619,8
@@
const char* SMESHGUI_FilterTable::getPrecision( const int aType )
retval = "len_tol_precision"; break;
case SMESH::FT_Length:
case SMESH::FT_Length2D:
retval = "len_tol_precision"; break;
case SMESH::FT_Length:
case SMESH::FT_Length2D:
+ case SMESH::FT_Length3D:
+ case SMESH::FT_Deflection2D:
case SMESH::FT_MaxElementLength2D:
case SMESH::FT_MaxElementLength3D:
case SMESH::FT_BallDiameter:
case SMESH::FT_MaxElementLength2D:
case SMESH::FT_MaxElementLength3D:
case SMESH::FT_BallDiameter:
@@
-1753,6
+1756,7
@@
static QList<int> entityTypes( const int theType )
typeIds.append( SMDSEntity_TriQuad_Hexa );
typeIds.append( SMDSEntity_Penta );
typeIds.append( SMDSEntity_Quad_Penta );
typeIds.append( SMDSEntity_TriQuad_Hexa );
typeIds.append( SMDSEntity_Penta );
typeIds.append( SMDSEntity_Quad_Penta );
+ typeIds.append( SMDSEntity_BiQuad_Penta );
typeIds.append( SMDSEntity_Hexagonal_Prism );
typeIds.append( SMDSEntity_Polyhedra );
//typeIds.append( SMDSEntity_Quad_Polyhedra );
typeIds.append( SMDSEntity_Hexagonal_Prism );
typeIds.append( SMDSEntity_Polyhedra );
//typeIds.append( SMDSEntity_Quad_Polyhedra );
@@
-1792,13
+1796,13
@@
void SMESHGUI_FilterTable::onCriterionChanged (const int row, const int col, con
}
// find out a type of item required by a new criterion and other table features
}
// find out a type of item required by a new criterion and other table features
- int
aCriterionType
= GetCriterionType(row);
+ int
aCriterionType
= GetCriterionType(row);
bool anIsDoubleCriterion = false;
bool anIsIntCriterion = false;
bool anIsComboCriterion = false;
// other features:
QList<int> comboIDs; // values to show in a combo item
bool anIsDoubleCriterion = false;
bool anIsIntCriterion = false;
bool anIsComboCriterion = false;
// other features:
QList<int> comboIDs; // values to show in a combo item
- int
nbCompareSigns
= 0; // possible values are 0,1,3
+ int
nbCompareSigns
= 0; // possible values are 0,1,3
bool isThresholdEditable = false; // actual for "simple" item types
switch ( aCriterionType )
{
bool isThresholdEditable = false; // actual for "simple" item types
switch ( aCriterionType )
{
@@
-1811,8
+1815,7
@@
void SMESHGUI_FilterTable::onCriterionChanged (const int row, const int col, con
case SMESH::FT_Area:
case SMESH::FT_Volume3D:
case SMESH::FT_MaxElementLength2D:
case SMESH::FT_Area:
case SMESH::FT_Volume3D:
case SMESH::FT_MaxElementLength2D:
- case SMESH::FT_MaxElementLength3D:
- anIsDoubleCriterion = true; break;
+ case SMESH::FT_MaxElementLength3D: anIsDoubleCriterion = true; break;
case SMESH::FT_FreeBorders:
case SMESH::FT_FreeEdges:
case SMESH::FT_FreeBorders:
case SMESH::FT_FreeEdges:
@@
-1823,11
+1826,14
@@
void SMESHGUI_FilterTable::onCriterionChanged (const int row, const int col, con
case SMESH::FT_EqualFaces:
case SMESH::FT_EqualVolumes: break;
case SMESH::FT_EqualFaces:
case SMESH::FT_EqualVolumes: break;
+ case SMESH::FT_NodeConnectivityNumber:
case SMESH::FT_MultiConnection:
case SMESH::FT_MultiConnection2D: anIsIntCriterion = true; nbCompareSigns = 3; break;
case SMESH::FT_Length:
case SMESH::FT_MultiConnection:
case SMESH::FT_MultiConnection2D: anIsIntCriterion = true; nbCompareSigns = 3; break;
case SMESH::FT_Length:
- case SMESH::FT_Length2D: anIsDoubleCriterion = true; break;
+ case SMESH::FT_Length2D:
+ case SMESH::FT_Length3D:
+ case SMESH::FT_Deflection2D: anIsDoubleCriterion = true; break;
case SMESH::FT_BelongToMeshGroup: break;
case SMESH::FT_BelongToMeshGroup: break;
@@
-2054,7
+2060,7
@@
void SMESHGUI_FilterTable::addRow (Table* theTable, const int theType, const boo
}
myIsLocked = false;
}
myIsLocked = false;
- // IPAL19372 - to prevent calling onCriterionChaged() slot before completion of setItem()
+ // IPAL19372 - to prevent calling onCriterionCha
n
ged() slot before completion of setItem()
bool isSignalsBlocked = theTable->signalsBlocked();
theTable->blockSignals( true );
bool isSignalsBlocked = theTable->signalsBlocked();
theTable->blockSignals( true );
@@
-2115,7
+2121,7
@@
QTableWidgetItem* SMESHGUI_FilterTable::getCriterionItem (const int theType) con
//=======================================================================
// name : SMESHGUI_FilterTable::getCompareItem
//=======================================================================
// name : SMESHGUI_FilterTable::getCompareItem
-// Purpose : Get combo table item for operation of comparis
i
on
+// Purpose : Get combo table item for operation of comparison
//=======================================================================
QTableWidgetItem* SMESHGUI_FilterTable::getCompareItem () const
{
//=======================================================================
QTableWidgetItem* SMESHGUI_FilterTable::getCompareItem () const
{
@@
-2190,6
+2196,7
@@
const QMap<int, QString>& SMESHGUI_FilterTable::getCriteria (const int theType)
aCriteria[ SMESH::FT_GroupColor ] = tr("GROUP_COLOR");
aCriteria[ SMESH::FT_EqualNodes ] = tr("EQUAL_NODE");
aCriteria[ SMESH::FT_ConnectedElements ] = tr("CONNECTED_ELEMS");
aCriteria[ SMESH::FT_GroupColor ] = tr("GROUP_COLOR");
aCriteria[ SMESH::FT_EqualNodes ] = tr("EQUAL_NODE");
aCriteria[ SMESH::FT_ConnectedElements ] = tr("CONNECTED_ELEMS");
+ aCriteria[ SMESH::FT_NodeConnectivityNumber ] = tr("NODE_CONN_NUMBER");
}
return aCriteria;
}
}
return aCriteria;
}
@@
-2238,6
+2245,7
@@
const QMap<int, QString>& SMESHGUI_FilterTable::getCriteria (const int theType)
aCriteria[ SMESH::FT_BelongToGenSurface ] = tr("BELONG_TO_GENSURFACE");
aCriteria[ SMESH::FT_LyingOnGeom ] = tr("LYING_ON_GEOM");
aCriteria[ SMESH::FT_Length2D ] = tr("LENGTH2D");
aCriteria[ SMESH::FT_BelongToGenSurface ] = tr("BELONG_TO_GENSURFACE");
aCriteria[ SMESH::FT_LyingOnGeom ] = tr("LYING_ON_GEOM");
aCriteria[ SMESH::FT_Length2D ] = tr("LENGTH2D");
+ aCriteria[ SMESH::FT_Deflection2D ] = tr("DEFLECTION2D");
aCriteria[ SMESH::FT_MultiConnection2D ] = tr("MULTI2D_BORDERS");
aCriteria[ SMESH::FT_FreeFaces ] = tr("FREE_FACES");
aCriteria[ SMESH::FT_BareBorderFace ] = tr("BARE_BORDER_FACE");
aCriteria[ SMESH::FT_MultiConnection2D ] = tr("MULTI2D_BORDERS");
aCriteria[ SMESH::FT_FreeFaces ] = tr("FREE_FACES");
aCriteria[ SMESH::FT_BareBorderFace ] = tr("BARE_BORDER_FACE");
@@
-2265,6
+2273,7
@@
const QMap<int, QString>& SMESHGUI_FilterTable::getCriteria (const int theType)
aCriteria[ SMESH::FT_BadOrientedVolume ] = tr("BAD_ORIENTED_VOLUME");
aCriteria[ SMESH::FT_BareBorderVolume ] = tr("BARE_BORDER_VOLUME");
aCriteria[ SMESH::FT_OverConstrainedVolume] = tr("OVER_CONSTRAINED_VOLUME");
aCriteria[ SMESH::FT_BadOrientedVolume ] = tr("BAD_ORIENTED_VOLUME");
aCriteria[ SMESH::FT_BareBorderVolume ] = tr("BARE_BORDER_VOLUME");
aCriteria[ SMESH::FT_OverConstrainedVolume] = tr("OVER_CONSTRAINED_VOLUME");
+ aCriteria[ SMESH::FT_Length3D ] = tr("LENGTH3D");
aCriteria[ SMESH::FT_Volume3D ] = tr("VOLUME_3D");
aCriteria[ SMESH::FT_MaxElementLength3D ] = tr("MAX_ELEMENT_LENGTH_3D");
aCriteria[ SMESH::FT_LinearOrQuadratic ] = tr("LINEAR");
aCriteria[ SMESH::FT_Volume3D ] = tr("VOLUME_3D");
aCriteria[ SMESH::FT_MaxElementLength3D ] = tr("MAX_ELEMENT_LENGTH_3D");
aCriteria[ SMESH::FT_LinearOrQuadratic ] = tr("LINEAR");
@@
-2735,7
+2744,7
@@
void SMESHGUI_FilterDlg::construct (const QList<int>& theTypes)
aDlgLay->setStretchFactor(myMainFrame, 1);
aDlgLay->setStretchFactor(myMainFrame, 1);
- myHelpFileName = "selection_filter_library
_page
.html";
+ myHelpFileName = "selection_filter_library.html";
Init(myTypes);
}
Init(myTypes);
}
@@
-3067,7
+3076,7
@@
void SMESHGUI_FilterDlg::onHelp()
//=======================================================================
// name : SMESHGUI_FilterDlg::onDeactivate
//=======================================================================
// name : SMESHGUI_FilterDlg::onDeactivate
-// Purpose : SLOT called when dialog must be deativated
+// Purpose : SLOT called when dialog must be dea
c
tivated
//=======================================================================
void SMESHGUI_FilterDlg::onDeactivate()
{
//=======================================================================
void SMESHGUI_FilterDlg::onDeactivate()
{
@@
-3193,8
+3202,9
@@
bool SMESHGUI_FilterDlg::isValid() const
QString aName;
myTable->GetThreshold(i, aName);
QString aName;
myTable->GetThreshold(i, aName);
- std::vector<_PTR(SObject)> aList =
- SMESH::GetActiveStudyDocument()->FindObjectByName(aName.toLatin1().constData(), "GEOM");
+ std::vector<_PTR(SObject)> aList = SMESH::getStudy()->FindObjectByName(aName.toUtf8().constData(), "GEOM");
+ if (aList.size() == 0)
+ aList = SMESH::getStudy()->FindObjectByName(aName.toUtf8().constData(), "SHAPERSTUDY");
if (aList.size() == 0) {
SUIT_MessageBox::information(SMESHGUI::desktop(), tr("SMESH_INSUFFICIENT_DATA"),
tr("BAD_SHAPE_NAME").arg(aName));
if (aList.size() == 0) {
SUIT_MessageBox::information(SMESHGUI::desktop(), tr("SMESH_INSUFFICIENT_DATA"),
tr("BAD_SHAPE_NAME").arg(aName));
@@
-3487,7
+3497,8
@@
void SMESHGUI_FilterDlg::UnRegisterFilters()
//=======================================================================
void SMESHGUI_FilterDlg::insertFilterInViewer()
{
//=======================================================================
void SMESHGUI_FilterDlg::insertFilterInViewer()
{
- if (SVTK_Selector* aSelector = SMESH::GetSelector()) {
+ if (SVTK_Selector* aSelector = SMESH::GetSelector())
+ {
SMESH::ElementType anEntType = (SMESH::ElementType)myTable->GetType();
if (myFilter[ myTable->GetType() ]->_is_nil() ||
SMESH::ElementType anEntType = (SMESH::ElementType)myTable->GetType();
if (myFilter[ myTable->GetType() ]->_is_nil() ||
@@
-3497,7
+3508,8
@@
void SMESHGUI_FilterDlg::insertFilterInViewer()
{
SMESH::RemoveFilter(getFilterId(anEntType), aSelector);
}
{
SMESH::RemoveFilter(getFilterId(anEntType), aSelector);
}
- else {
+ else
+ {
Handle(SMESHGUI_PredicateFilter) aFilter = new SMESHGUI_PredicateFilter();
aFilter->SetPredicate(myFilter[ myTable->GetType() ]->GetPredicate());
SMESH::RemoveFilter(getFilterId(anEntType), aSelector); //skl for IPAL12631
Handle(SMESHGUI_PredicateFilter) aFilter = new SMESHGUI_PredicateFilter();
aFilter->SetPredicate(myFilter[ myTable->GetType() ]->GetPredicate());
SMESH::RemoveFilter(getFilterId(anEntType), aSelector); //skl for IPAL12631
@@
-3657,7
+3669,7
@@
SMESH_Actor* SMESHGUI_FilterDlg::getActor()
//=======================================================================
void SMESHGUI_FilterDlg::selectInViewer (const int theType, const QList<int>& theIds)
{
//=======================================================================
void SMESHGUI_FilterDlg::selectInViewer (const int theType, const QList<int>& theIds)
{
- if (mySelectionMgr == 0 || myMesh->_is_nil())
+ if (mySelectionMgr == 0 || myMesh->_is_nil()
)
return;
mySelectionMgr->clearFilters();
return;
mySelectionMgr->clearFilters();
@@
-3665,7
+3677,8
@@
void SMESHGUI_FilterDlg::selectInViewer (const int theType, const QList<int>& th
// Set new selection mode if necessary
Selection_Mode aSelMode = getSelMode(theType);
SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI );
// Set new selection mode if necessary
Selection_Mode aSelMode = getSelMode(theType);
SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI );
- if ( aViewWindow && aViewWindow->SelectionMode()!=aSelMode) {
+ if ( aViewWindow && aViewWindow->SelectionMode() != aSelMode )
+ {
mySelectionMgr->clearSelected();
mySelectionMgr->clearFilters();
SMESH::SetPointRepresentation( aSelMode == NodeSelection );
mySelectionMgr->clearSelected();
mySelectionMgr->clearFilters();
SMESH::SetPointRepresentation( aSelMode == NodeSelection );
@@
-3678,8
+3691,6
@@
void SMESHGUI_FilterDlg::selectInViewer (const int theType, const QList<int>& th
return;
Handle(SALOME_InteractiveObject) anIO = anActor->getIO();
return;
Handle(SALOME_InteractiveObject) anIO = anActor->getIO();
- //mySelectionMgr->clearSelected();
- //mySelectionMgr->AddIObject(anIO, false);
SALOME_ListIO aList;
aList.Append(anIO);
mySelectionMgr->setSelectedObjects(aList, false);
SALOME_ListIO aList;
aList.Append(anIO);
mySelectionMgr->setSelectedObjects(aList, false);