1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-19 13:40:49 +03:00

Compare commits

..

1 Commits

Author SHA1 Message Date
atychini
cbc7d857f5 0033000: JT Import - perform XT translation in multiple threads
Creating mutex for proper parallel processing.
2022-07-05 16:19:34 +03:00
3 changed files with 17 additions and 9 deletions

View File

@@ -20,6 +20,7 @@
#include <ShapeProcess_Context.hxx>
#include <Standard_ErrorHandler.hxx>
#include <Standard_Failure.hxx>
#include <Standard_Mutex.hxx>
#include <Standard_Type.hxx>
#include <TCollection_AsciiString.hxx>
#include <TCollection_HAsciiString.hxx>
@@ -27,6 +28,8 @@
#include <sys/stat.h>
IMPLEMENT_STANDARD_RTTIEXT(ShapeProcess_Context, Standard_Transient)
static Standard_Mutex THE_SHAPE_PROCESS_MUTEX;
//=======================================================================
//function : ShapeProcess_Context
//purpose :
@@ -73,6 +76,7 @@ Standard_Boolean ShapeProcess_Context::Init (const Standard_CString file,
Handle(Resource_Manager) ShapeProcess_Context::LoadResourceManager (const Standard_CString name)
{
Standard_Mutex::Sentry aLock(&THE_SHAPE_PROCESS_MUTEX);
// Optimisation of loading resource file: file is load only once
// and reloaded only if file date has changed
static Handle(Resource_Manager) sRC;
@@ -127,7 +131,7 @@ Handle(Resource_Manager) ShapeProcess_Context::LoadResourceManager (const Standa
sUMtime = aUMtime;
}
}
return sRC;
return new Resource_Manager(*sRC);
}
//=======================================================================

View File

@@ -35,19 +35,19 @@
// Primary definitions
#define OCC_VERSION_MAJOR 7
#define OCC_VERSION_MINOR 5
#define OCC_VERSION_MAINTENANCE 1
#define OCC_VERSION_MAINTENANCE 0
//! This macro must be commented in official release, and set to non-empty
//! string in other situations, to identify specifics of the version, e.g.:
//! - "dev" for development version between releases
//! - "beta..." or "rc..." for beta releases or release candidates
//! - "project..." for version containing project-specific fixes
#define OCC_VERSION_DEVELOPMENT "dev"
//#define OCC_VERSION_DEVELOPMENT "beta"
// Derived (manually): version as real and string (major.minor)
#define OCC_VERSION 7.5
#define OCC_VERSION_STRING "7.5"
#define OCC_VERSION_COMPLETE "7.5.1"
#define OCC_VERSION_COMPLETE "7.5.0"
//! Derived: extended version as string ("major.minor.maintenance.dev")
#ifdef OCC_VERSION_DEVELOPMENT

View File

@@ -66,6 +66,8 @@
IMPLEMENT_STANDARD_RTTIEXT(XSAlgo_AlgoContainer, Standard_Transient)
static Standard_Mutex THE_RESOURCE_MUTEX;
//=======================================================================
//function : XSAlgo_AlgoContainer
//purpose :
@@ -167,9 +169,11 @@ TopoDS_Shape XSAlgo_AlgoContainer::ProcessShape (const TopoDS_Shape& shape,
}
// Define runtime tolerances and do Shape Processing
{
Standard_Mutex::Sentry aLock(&THE_RESOURCE_MUTEX);
rsc->SetResource("Runtime.Tolerance", Prec);
rsc->SetResource("Runtime.MaxTolerance", maxTol);
}
if ( !ShapeProcess::Perform(context, seq, theProgress) )
return shape; // return original shape