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
[bos #40650][CEA 33012] Beta Law distribution: added a new type of distribution for...
[modules/smesh.git]
/
src
/
SMESHGUI
/
SMESHGUI_HypothesesUtils.cxx
diff --git
a/src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx
b/src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx
index 96055aa7e4d70c21bd62a395cd745c9e12178356..8a07c2b9b206b7bd60e86e4946c2270f445b1951 100644
(file)
--- a/
src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx
+++ b/
src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-20
19 CEA/DEN, EDF R&D
, OPEN CASCADE
+// Copyright (C) 2007-20
24 CEA, EDF
, 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
@@
-34,7
+34,8
@@
#include "SMESHGUI_VTKUtils.h"
#include "SMESHGUI_XmlHandler.h"
#include "SMESHGUI_VTKUtils.h"
#include "SMESHGUI_XmlHandler.h"
-#include "SMESH_Actor.h"
+#include <SMESH_Actor.h>
+#include <SMESH_TryCatch.hxx>
// SALOME GUI includes
#include <SUIT_Desktop.h>
// SALOME GUI includes
#include <SUIT_Desktop.h>
@@
-67,6
+68,7
@@
#define LoadLib( name ) LoadLibrary( name )
#define GetProc GetProcAddress
#define UnLoadLib( handle ) FreeLibrary( handle );
#define LoadLib( name ) LoadLibrary( name )
#define GetProc GetProcAddress
#define UnLoadLib( handle ) FreeLibrary( handle );
+ #define env_sep ";"
#else // WIN32
#define LibHandle void*
#ifdef DYNLOAD_LOCAL
#else // WIN32
#define LibHandle void*
#ifdef DYNLOAD_LOCAL
@@
-76,14
+78,9
@@
#endif // DYNLOAD_LOCAL
#define GetProc dlsym
#define UnLoadLib( handle ) dlclose( handle );
#endif // DYNLOAD_LOCAL
#define GetProc dlsym
#define UnLoadLib( handle ) dlclose( handle );
+ #define env_sep ":"
#endif // WIN32
#endif // WIN32
-#ifdef _DEBUG_
-static int MYDEBUG = 0;
-#else
-static int MYDEBUG = 0;
-#endif
-
namespace SMESH
{
typedef IMap<QString,HypothesisData*> THypothesisDataMap;
namespace SMESH
{
typedef IMap<QString,HypothesisData*> THypothesisDataMap;
@@
-197,7
+194,7
@@
namespace SMESH
if (cenv)
HypsXml.sprintf("%s", cenv);
if (cenv)
HypsXml.sprintf("%s", cenv);
- QStringList HypsXmlList = HypsXml.split(
":"
, QString::SkipEmptyParts);
+ QStringList HypsXmlList = HypsXml.split(
env_sep
, QString::SkipEmptyParts);
if (HypsXmlList.count() == 0) {
SUIT_MessageBox::critical(SMESHGUI::desktop(),
QObject::tr("SMESH_WRN_WARNING"),
if (HypsXmlList.count() == 0) {
SUIT_MessageBox::critical(SMESHGUI::desktop(),
QObject::tr("SMESH_WRN_WARNING"),
@@
-329,8
+326,7
@@
namespace SMESH
hypoSet != myListOfHypothesesSets.end();
++hypoSet ) {
HypothesesSet* aSet = *hypoSet;
hypoSet != myListOfHypothesesSets.end();
++hypoSet ) {
HypothesesSet* aSet = *hypoSet;
- if ( aSet && ( aSet->count( true ) || aSet->count( false )) &&
- aSet->maxDim() <= maxDim)
+ if ( aSet && 0 <= aSet->maxDim() && aSet->maxDim() <= maxDim )
{
aSetNameList.append( mangledHypoSetName( aSet ));
}
{
aSetNameList.append( mangledHypoSetName( aSet ));
}
@@
-495,7
+491,7
@@
namespace SMESH
SMESHGUI_GenericHypothesisCreator* GetHypothesisCreator(const QString& aHypType)
{
SMESHGUI_GenericHypothesisCreator* GetHypothesisCreator(const QString& aHypType)
{
-
if(MYDEBUG)
MESSAGE("Get HypothesisCreator for " << aHypType.toLatin1().data());
+ MESSAGE("Get HypothesisCreator for " << aHypType.toLatin1().data());
SMESHGUI_GenericHypothesisCreator* aCreator = 0;
SMESHGUI_GenericHypothesisCreator* aCreator = 0;
@@
-520,7
+516,7
@@
namespace SMESH
// 3. Load Client Plugin Library
try {
// load plugin library
// 3. Load Client Plugin Library
try {
// load plugin library
-
if(MYDEBUG)
MESSAGE("Loading client meshers plugin library ...");
+ MESSAGE("Loading client meshers plugin library ...");
#ifdef WIN32
#ifdef UNICODE
LPTSTR path = new TCHAR[aClientLibName.length() + 1];
#ifdef WIN32
#ifdef UNICODE
LPTSTR path = new TCHAR[aClientLibName.length() + 1];
@@
-550,21
+546,21
@@
namespace SMESH
}
else {
// get method, returning hypothesis creator
}
else {
// get method, returning hypothesis creator
-
if(MYDEBUG)
MESSAGE("Find GetHypothesisCreator() method ...");
+ MESSAGE("Find GetHypothesisCreator() method ...");
typedef SMESHGUI_GenericHypothesisCreator* (*GetHypothesisCreator) \
( const QString& );
GetHypothesisCreator procHandle =
(GetHypothesisCreator)GetProc(libHandle, "GetHypothesisCreator");
if (!procHandle) {
typedef SMESHGUI_GenericHypothesisCreator* (*GetHypothesisCreator) \
( const QString& );
GetHypothesisCreator procHandle =
(GetHypothesisCreator)GetProc(libHandle, "GetHypothesisCreator");
if (!procHandle) {
-
if(MYDEBUG)
MESSAGE("bad hypothesis client plugin library");
+ MESSAGE("bad hypothesis client plugin library");
UnLoadLib(libHandle);
}
else {
// get hypothesis creator
UnLoadLib(libHandle);
}
else {
// get hypothesis creator
-
if(MYDEBUG)
MESSAGE("Get Hypothesis Creator for " << aHypType.toLatin1().data());
+ MESSAGE("Get Hypothesis Creator for " << aHypType.toLatin1().data());
aCreator = procHandle( aHypType );
if (!aCreator) {
aCreator = procHandle( aHypType );
if (!aCreator) {
-
if(MYDEBUG)
MESSAGE("no such a hypothesis in this plugin");
+ MESSAGE("no such a hypothesis in this plugin");
}
else {
// map hypothesis creator to a hypothesis name
}
else {
// map hypothesis creator to a hypothesis name
@@
-591,9
+587,9
@@
namespace SMESH
SMESH::SMESH_Hypothesis_ptr CreateHypothesis(const QString& aHypType,
const QString& aHypName,
SMESH::SMESH_Hypothesis_ptr CreateHypothesis(const QString& aHypType,
const QString& aHypName,
- const bool
isAlgo
)
+ const bool
/*isAlgo*/
)
{
{
-
if(MYDEBUG)
MESSAGE("Create " << aHypType.toLatin1().data() <<
+ MESSAGE("Create " << aHypType.toLatin1().data() <<
" with name " << aHypName.toLatin1().data());
HypothesisData* aHypData = GetHypothesisData(aHypType);
QString aServLib = aHypData->ServerLibName;
" with name " << aHypName.toLatin1().data());
HypothesisData* aHypData = GetHypothesisData(aHypType);
QString aServLib = aHypData->ServerLibName;
@@
-627,16
+623,19
@@
namespace SMESH
HypothesisData* aHypData = GetHypothesisData(aHypType);
QString aServLib = aHypData->ServerLibName;
HypothesisData* aHypData = GetHypothesisData(aHypType);
QString aServLib = aHypData->ServerLibName;
+ SMESH_TRY;
return SMESHGUI::GetSMESHGen()->IsApplicable( aHypType.toLatin1().data(),
aServLib.toUtf8().data(),
theGeomObject,
toCheckAll);
return SMESHGUI::GetSMESHGen()->IsApplicable( aHypType.toLatin1().data(),
aServLib.toUtf8().data(),
theGeomObject,
toCheckAll);
+ SMESH_CATCH( SMESH::printErrorInDebugMode );
+ return false;
}
bool AddHypothesisOnMesh (SMESH::SMESH_Mesh_ptr aMesh, SMESH::SMESH_Hypothesis_ptr aHyp)
{
}
bool AddHypothesisOnMesh (SMESH::SMESH_Mesh_ptr aMesh, SMESH::SMESH_Hypothesis_ptr aHyp)
{
-
if(MYDEBUG)
MESSAGE ("SMESHGUI::AddHypothesisOnMesh");
+ MESSAGE ("SMESHGUI::AddHypothesisOnMesh");
int res = SMESH::HYP_UNKNOWN_FATAL;
SUIT_OverrideCursor wc;
int res = SMESH::HYP_UNKNOWN_FATAL;
SUIT_OverrideCursor wc;
@@
-646,6
+645,7
@@
namespace SMESH
try {
CORBA::String_var error;
res = aMesh->AddHypothesis(aShapeObject, aHyp, error.out());
try {
CORBA::String_var error;
res = aMesh->AddHypothesis(aShapeObject, aHyp, error.out());
+ UpdateViewer(aMesh);
if (res > SMESH::HYP_OK) {
wc.suspend();
processHypothesisStatus(res, aHyp, true, error.in() );
if (res > SMESH::HYP_OK) {
wc.suspend();
processHypothesisStatus(res, aHyp, true, error.in() );
@@
-664,11
+664,11
@@
namespace SMESH
bool AddHypothesisOnSubMesh (SMESH::SMESH_subMesh_ptr aSubMesh, SMESH::SMESH_Hypothesis_ptr aHyp)
{
bool AddHypothesisOnSubMesh (SMESH::SMESH_subMesh_ptr aSubMesh, SMESH::SMESH_Hypothesis_ptr aHyp)
{
-
if(MYDEBUG)
MESSAGE("SMESHGUI::AddHypothesisOnSubMesh() ");
+ MESSAGE("SMESHGUI::AddHypothesisOnSubMesh() ");
int res = SMESH::HYP_UNKNOWN_FATAL;
SUIT_OverrideCursor wc;
int res = SMESH::HYP_UNKNOWN_FATAL;
SUIT_OverrideCursor wc;
- if (
!aSubMesh->_is_nil() && ! aHyp->_is_nil()
) {
+ if (
!aSubMesh->_is_nil() && !aHyp->_is_nil()
) {
try {
SMESH::SMESH_Mesh_var aMesh = aSubMesh->GetFather();
_PTR(SObject) SsubM = SMESH::FindSObject(aSubMesh);
try {
SMESH::SMESH_Mesh_var aMesh = aSubMesh->GetFather();
_PTR(SObject) SsubM = SMESH::FindSObject(aSubMesh);
@@
-677,6
+677,7
@@
namespace SMESH
{
CORBA::String_var error;
res = aMesh->AddHypothesis( aShapeObject, aHyp, error.out() );
{
CORBA::String_var error;
res = aMesh->AddHypothesis( aShapeObject, aHyp, error.out() );
+ UpdateViewer(aMesh);
if (res > SMESH::HYP_OK) {
wc.suspend();
processHypothesisStatus( res, aHyp, true, error.in() );
if (res > SMESH::HYP_OK) {
wc.suspend();
processHypothesisStatus( res, aHyp, true, error.in() );
@@
-765,12
+766,7
@@
namespace SMESH
processHypothesisStatus(res, anHyp, false);
wc.resume();
}
processHypothesisStatus(res, anHyp, false);
wc.resume();
}
- if ( _PTR(SObject) meshSO = SMESH::FindSObject(aMesh) )
- {
- if ( SMESH_Actor* actor = SMESH::FindActorByEntry( meshSO->GetID().c_str() ))
- if( actor->GetVisibility() )
- actor->Update();
- }
+ UpdateViewer(aMesh);
}
} catch(const SALOME::SALOME_Exception& S_ex) {
wc.suspend();
}
} catch(const SALOME::SALOME_Exception& S_ex) {
wc.suspend();
@@
-779,6
+775,16
@@
namespace SMESH
}
}
return res < SMESH::HYP_UNKNOWN_FATAL;
}
}
return res < SMESH::HYP_UNKNOWN_FATAL;
+ }
+
+ void UpdateViewer(SMESH::SMESH_Mesh_ptr theMesh)
+ {
+ if (_PTR(SObject) meshSO = SMESH::FindSObject(theMesh))
+ {
+ if (SMESH_Actor* actor = SMESH::FindActorByEntry(meshSO->GetID().c_str()))
+ if (actor->GetVisibility())
+ actor->Update();
+ }
}
SObjectList GetMeshesUsingAlgoOrHypothesis(SMESH::SMESH_Hypothesis_ptr AlgoOrHyp)
}
SObjectList GetMeshesUsingAlgoOrHypothesis(SMESH::SMESH_Hypothesis_ptr AlgoOrHyp)
@@
-792,7
+798,7
@@
namespace SMESH
if (SO_Hypothesis) {
SObjectList listSO = SMESH::getStudy()->FindDependances(SO_Hypothesis);
if (SO_Hypothesis) {
SObjectList listSO = SMESH::getStudy()->FindDependances(SO_Hypothesis);
-
if(MYDEBUG)
MESSAGE("SMESHGUI::GetMeshesUsingAlgoOrHypothesis(): dependency number ="<<listSO.size());
+ MESSAGE("SMESHGUI::GetMeshesUsingAlgoOrHypothesis(): dependency number ="<<listSO.size());
for (unsigned int i = 0; i < listSO.size(); i++) {
_PTR(SObject) SO = listSO[i];
if (SO) {
for (unsigned int i = 0; i < listSO.size(); i++) {
_PTR(SObject) SO = listSO[i];
if (SO) {
@@
-800,7
+806,7
@@
namespace SMESH
if (aFather) {
_PTR(SObject) SOfatherFather = aFather->GetFather();
if (SOfatherFather) {
if (aFather) {
_PTR(SObject) SOfatherFather = aFather->GetFather();
if (SOfatherFather) {
-
if(MYDEBUG)
MESSAGE("SMESHGUI::GetMeshesUsingAlgoOrHypothesis(): dependency added to list");
+ MESSAGE("SMESHGUI::GetMeshesUsingAlgoOrHypothesis(): dependency added to list");
index++;
listSOmesh.resize(index);
listSOmesh[index - 1] = SOfatherFather;
index++;
listSOmesh.resize(index);
listSOmesh[index - 1] = SOfatherFather;
@@
-810,7
+816,7
@@
namespace SMESH
}
}
}
}
}
}
-
if (MYDEBUG)
MESSAGE("SMESHGUI::GetMeshesUsingAlgoOrHypothesis(): completed");
+ MESSAGE("SMESHGUI::GetMeshesUsingAlgoOrHypothesis(): completed");
return listSOmesh;
}
return listSOmesh;
}