mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-27 09:50:34 +05:00
IPAL16934: Selection works incorrectly if Source and Target Vertices in Projection 1D are the same vertex.
1) BUG: impossible to use shared vertices for vertex association in Projection Source hyps 2) Regression: Order of Sub-meshes dialog dialog does not appear when a sub-mesh is created
This commit is contained in:
parent
b9986eb294
commit
b73d2603ed
@ -92,14 +92,14 @@
|
|||||||
#include "SMESHGUI_Utils.h"
|
#include "SMESHGUI_Utils.h"
|
||||||
#include "SMESHGUI_VTKUtils.h"
|
#include "SMESHGUI_VTKUtils.h"
|
||||||
|
|
||||||
#include <SMESH_version.h>
|
#include "SMESH_version.h"
|
||||||
|
|
||||||
#include "SMESH_ControlsDef.hxx"
|
#include "SMESH_ControlsDef.hxx"
|
||||||
#include <SMESH_Actor.h>
|
#include "SMESH_Actor.h"
|
||||||
#include <SMESH_ActorUtils.h>
|
#include "SMESH_ActorUtils.h"
|
||||||
#include <SMESH_Client.hxx>
|
#include "SMESH_Client.hxx"
|
||||||
#include <SMESH_ScalarBarActor.h>
|
#include "SMESH_ScalarBarActor.h"
|
||||||
#include <SMESH_TypeFilter.hxx>
|
#include "SMESH_TypeFilter.hxx"
|
||||||
|
|
||||||
// SALOME GUI includes
|
// SALOME GUI includes
|
||||||
#include <SalomeApp_Application.h>
|
#include <SalomeApp_Application.h>
|
||||||
|
@ -26,15 +26,15 @@
|
|||||||
#include "SMESHGUI_MeshOp.h"
|
#include "SMESHGUI_MeshOp.h"
|
||||||
|
|
||||||
#include "SMESHGUI.h"
|
#include "SMESHGUI.h"
|
||||||
#include "SMESHGUI_MeshDlg.h"
|
|
||||||
#include "SMESHGUI_ShapeByMeshDlg.h"
|
|
||||||
#include "SMESHGUI_HypothesesUtils.h"
|
|
||||||
#include "SMESHGUI_Hypotheses.h"
|
|
||||||
#include "SMESHGUI_Utils.h"
|
|
||||||
#include "SMESHGUI_GEOMGenUtils.h"
|
#include "SMESHGUI_GEOMGenUtils.h"
|
||||||
|
#include "SMESHGUI_Hypotheses.h"
|
||||||
#include <SMESH_TypeFilter.hxx>
|
#include "SMESHGUI_HypothesesUtils.h"
|
||||||
#include <SMESH_NumberFilter.hxx>
|
#include "SMESHGUI_MeshDlg.h"
|
||||||
|
#include "SMESHGUI_Operations.h"
|
||||||
|
#include "SMESHGUI_ShapeByMeshDlg.h"
|
||||||
|
#include "SMESHGUI_Utils.h"
|
||||||
|
#include "SMESH_NumberFilter.hxx"
|
||||||
|
#include "SMESH_TypeFilter.hxx"
|
||||||
|
|
||||||
// SALOME GEOM includes
|
// SALOME GEOM includes
|
||||||
#include <GEOM_SelectionFilter.h>
|
#include <GEOM_SelectionFilter.h>
|
||||||
@ -2408,7 +2408,7 @@ bool SMESHGUI_MeshOp::checkSubMeshConcurrency(SMESH::SMESH_Mesh_ptr mesh,
|
|||||||
myDlg->setEnabled( false ); // disactivate selection
|
myDlg->setEnabled( false ); // disactivate selection
|
||||||
selectionMgr()->clearFilters();
|
selectionMgr()->clearFilters();
|
||||||
selectObject( meshSO );
|
selectObject( meshSO );
|
||||||
SMESHGUI::GetSMESHGUI()->OnGUIEvent( 713 ); // MESH_ORDER
|
SMESHGUI::GetSMESHGUI()->OnGUIEvent( SMESHOp::OpMeshOrder ); // MESH_ORDER
|
||||||
qApp->processEvents();
|
qApp->processEvents();
|
||||||
|
|
||||||
myDlg->setEnabled( true );
|
myDlg->setEnabled( true );
|
||||||
|
@ -1320,7 +1320,17 @@ bool StdMeshers_Prism_3D::compute(const Prism_3D::TPrismTopo& thePrism)
|
|||||||
// clear data
|
// clear data
|
||||||
myBotToColumnMap.clear();
|
myBotToColumnMap.clear();
|
||||||
myBlock.Clear();
|
myBlock.Clear();
|
||||||
|
|
||||||
|
// update state of sub-meshes (mostly in order to erase improper errors)
|
||||||
|
SMESH_subMesh* sm = myHelper->GetMesh()->GetSubMesh( thePrism.myShape3D );
|
||||||
|
SMESH_subMeshIteratorPtr smIt = sm->getDependsOnIterator(/*includeSelf=*/false);
|
||||||
|
while ( smIt->more() )
|
||||||
|
{
|
||||||
|
sm = smIt->next();
|
||||||
|
sm->GetComputeError().reset();
|
||||||
|
sm->ComputeStateEngine( SMESH_subMesh::CHECK_COMPUTE_STATE );
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -550,7 +550,7 @@ bool StdMeshers_ProjectionUtils::FindSubShapeAssociation(const TopoDS_Shape& the
|
|||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
case TopAbs_EDGE: { // TopAbs_EDGE
|
case TopAbs_EDGE: { // TopAbs_EDGE
|
||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
if ( theMap.Extent() != 2 )
|
if ( theMap.Extent() != 1 )
|
||||||
RETURN_BAD_RESULT("Wrong map extent " << theMap.Extent() );
|
RETURN_BAD_RESULT("Wrong map extent " << theMap.Extent() );
|
||||||
TopoDS_Edge edge1 = TopoDS::Edge( theShape1 );
|
TopoDS_Edge edge1 = TopoDS::Edge( theShape1 );
|
||||||
TopoDS_Edge edge2 = TopoDS::Edge( theShape2 );
|
TopoDS_Edge edge2 = TopoDS::Edge( theShape2 );
|
||||||
|
@ -408,7 +408,7 @@ bool StdMeshersGUI_StdHypothesisCreator::checkParams( QString& msg ) const
|
|||||||
srcV = w1->GetValue();
|
srcV = w1->GetValue();
|
||||||
tgtV = w2->GetValue();
|
tgtV = w2->GetValue();
|
||||||
ok = (( srcV.isEmpty() && tgtV.isEmpty() ) ||
|
ok = (( srcV.isEmpty() && tgtV.isEmpty() ) ||
|
||||||
( !srcV.isEmpty() && !tgtV.isEmpty() && srcV != tgtV ));
|
( !srcV.isEmpty() && !tgtV.isEmpty() /*&& srcV != tgtV*/ ));
|
||||||
if ( !ok ) {
|
if ( !ok ) {
|
||||||
w1->SetObject( CORBA::Object::_nil() );
|
w1->SetObject( CORBA::Object::_nil() );
|
||||||
w2->SetObject( CORBA::Object::_nil() );
|
w2->SetObject( CORBA::Object::_nil() );
|
||||||
|
Loading…
Reference in New Issue
Block a user