-// Copyright (C) 2007-2022 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023 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
#include <GEOMUtils.hxx>
-#undef _Precision_HeaderFile
+//#undef _Precision_HeaderFile
#include <BRepBndLib.hxx>
#include <BRepPrimAPI_MakeBox.hxx>
#include <Bnd_Box.hxx>
#include <pthread.h>
#endif
+#ifndef WIN32
#include <boost/filesystem.hpp>
namespace fs=boost::filesystem;
+#endif
// maximum stored group name length in MED file
#define MAX_MED_GROUP_NAME_LENGTH 80
-#ifdef _DEBUG_
-static int MYDEBUG = 0;
-#else
-static int MYDEBUG = 0;
-#endif
-
#define cSMESH_Hyp(h) static_cast<const SMESH_Hypothesis*>(h)
typedef SMESH_HypoFilter THypType;
SMESHDS_Document* theDocument):
_groupId( 0 ), _nbSubShapes( 0 )
{
- if(MYDEBUG) MESSAGE("SMESH_Mesh::SMESH_Mesh(int localId)");
+ MESSAGE("SMESH_Mesh::SMESH_Mesh(int localId)");
_id = theLocalId;
_gen = theGen;
_document = theDocument;
_callUp = NULL;
_meshDS->ShapeToMesh( PseudoShape() );
_subMeshHolder = new SubMeshHolder;
- // Temporary folder that will be used by parallel computation
- tmp_folder = fs::temp_directory_path()/fs::unique_path(fs::path("SMESH_%%%%-%%%%"));
- fs::create_directories(tmp_folder);
// assure unique persistent ID
if ( _document->NbMeshes() > 1 )
#ifndef WIN32
void deleteMeshDS(SMESHDS_Mesh* meshDS)
{
- //cout << "deleteMeshDS( " << meshDS << endl;
delete meshDS;
}
#else
static void* deleteMeshDS(void* meshDS)
{
- //cout << "deleteMeshDS( " << meshDS << endl;
SMESHDS_Mesh* m = (SMESHDS_Mesh*)meshDS;
if(m) {
delete m;
SMESH_Mesh::~SMESH_Mesh()
{
- if(MYDEBUG) MESSAGE("SMESH_Mesh::~SMESH_Mesh");
+ MESSAGE("SMESH_Mesh::~SMESH_Mesh");
if ( _document ) // avoid destructing _meshDS from ~SMESH_Gen()
_document->RemoveMesh( _id );
void SMESH_Mesh::ShapeToMesh(const TopoDS_Shape & aShape)
{
- if(MYDEBUG) MESSAGE("SMESH_Mesh::ShapeToMesh");
+ MESSAGE("SMESH_Mesh::ShapeToMesh");
if ( !aShape.IsNull() && _isShapeToMesh ) {
if ( aShape.ShapeType() != TopAbs_COMPOUND && // group contents is allowed to change
myReader.SetFile(theFileName);
myReader.SetMeshName(theMeshName);
Driver_Mesh::Status status = myReader.Perform();
-#ifdef _DEBUG_
- SMESH_ComputeErrorPtr er = myReader.GetError();
- if ( er && !er->IsOK() ) std::cout << er->myComment << std::endl;
-#endif
+
+ if (SALOME::VerbosityActivated())
+ {
+ SMESH_ComputeErrorPtr er = myReader.GetError();
+ if ( er && !er->IsOK() ) std::cout << er->myComment << std::endl;
+ }
// Reading groups (sub-meshes are out of scope of MED import functionality)
std::list<TNameAndType> aGroupNames = myReader.GetGroupNamesAndTypes();
int anHypId,
std::string* anError )
{
- if(MYDEBUG) MESSAGE("SMESH_Mesh::AddHypothesis");
+ MESSAGE("SMESH_Mesh::AddHypothesis");
if ( anError )
anError->clear();
std::string hypName = anHyp->GetName();
if ( hypName == "NotConformAllowed" )
{
- if(MYDEBUG) MESSAGE( "Hypothesis <NotConformAllowed> can be only global" );
+ MESSAGE( "Hypothesis <NotConformAllowed> can be only global" );
return SMESH_Hypothesis::HYP_INCOMPATIBLE;
}
}
HasModificationsToDiscard(); // to reset _isModified flag if a mesh becomes empty
GetMeshDS()->Modified();
- if(MYDEBUG) subMesh->DumpAlgoState(true);
- if(MYDEBUG) SCRUTE(ret);
+ if(SALOME::VerbosityActivated()) subMesh->DumpAlgoState(true);
+ SCRUTE(ret);
return ret;
}
SMESH_Mesh::RemoveHypothesis(const TopoDS_Shape & aSubShape,
int anHypId)
{
- if(MYDEBUG) MESSAGE("SMESH_Mesh::RemoveHypothesis");
+ MESSAGE("SMESH_Mesh::RemoveHypothesis");
StudyContextStruct *sc = _gen->GetStudyContext();
if (sc->mapHypothesis.find(anHypId) == sc->mapHypothesis.end())
throw SALOME_Exception(LOCALIZED("hypothesis does not exist"));
SMESH_Hypothesis *anHyp = sc->mapHypothesis[anHypId];
- if(MYDEBUG) { SCRUTE(anHyp->GetType()); }
+ SCRUTE(anHyp->GetType());
// shape
HasModificationsToDiscard(); // to reset _isModified flag if mesh become empty
GetMeshDS()->Modified();
- if(MYDEBUG) subMesh->DumpAlgoState(true);
- if(MYDEBUG) SCRUTE(ret);
+ if(SALOME::VerbosityActivated()) subMesh->DumpAlgoState(true);
+ SCRUTE(ret);
return ret;
}
rate = algo->GetProgress();
}
catch (...) {
-#ifdef _DEBUG_
- std::cerr << "Exception in " << algo->GetName() << "::GetProgress()" << std::endl;
-#endif
+ if (SALOME::VerbosityActivated())
+ std::cerr << "Exception in " << algo->GetName() << "::GetProgress()" << std::endl;
}
if ( 0. < rate && rate < 1.001 )
{
rate = algo->GetProgressByTic();
computedCost += algoDoneCost + rate * algoNotDoneCost;
}
- // cout << "rate: "<<rate << " algoNotDoneCost: " << algoNotDoneCost << endl;
}
// get cost of already treated sub-meshes
}
}
}
- // cout << "Total: " << totalCost
- // << " computed: " << computedCost << " progress: " << computedCost / totalCost
- // << " nbElems: " << GetMeshDS()->GetMeshInfo().NbElements() << endl;
return computedCost / totalCost;
}
bool SMESH_Mesh::IsNotConformAllowed() const
{
- if(MYDEBUG) MESSAGE("SMESH_Mesh::IsNotConformAllowed");
+ MESSAGE("SMESH_Mesh::IsNotConformAllowed");
static SMESH_HypoFilter filter( SMESH_HypoFilter::HasName( "NotConformAllowed" ));
return GetHypothesis( _meshDS->ShapeToMesh(), filter, false );