1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

0023952: Improving thread-safety of intersections, approximations and other modeling algorithms

AdvApp2Var_SysBase::mcrgene_ size reduced from 1000 to 32 elements, and each element reworked into typed structure.
fixed IntAna_Curve.cxx to prevent access to #NAN# SigneSqrtDis
fixed alignment of doubles by 8 bytes, and minor corrections
Minor correction: static const N given more specific name (MAX_ALLOC_NB)
Added QAcommands OCC23952sweep and OCC23952intersect
Added test cases bugs/modalg_5/bug23952_1 bug23952_2
This commit is contained in:
Roman Lygin
2013-05-31 17:04:58 +04:00
parent 416d012709
commit 1ef32e96ee
30 changed files with 857 additions and 614 deletions

View File

@@ -54,7 +54,8 @@ void IntStart_SearchInside::Perform (TheFunction& Func,
done = Standard_False;
list.Clear();
static math_Vector Binf(1,2), Bsup(1,2), UVap(1,2),toler(1,2);
Standard_Real aBinf[2], aBsup[2], aUVap[2], atoler[2];
math_Vector Binf(aBinf,1,2), Bsup(aBsup,1,2), UVap(aUVap,1,2), toler(atoler,1,2);
gp_Pnt psol;
Standard_Boolean testpnt;
Standard_Integer i,j,nbpt;
@@ -140,7 +141,8 @@ void IntStart_SearchInside::Perform (TheFunction& Func,
//-- gp_Pnt Pmilieu = ThePSurfaceTool::Value(PS,0.5*(u1+u2),0.5*(v1+v2));
gp_Pnt Pextrm1 = ThePSurfaceTool::Value(PS,u1,v1);
gp_Pnt Pextrm2 = ThePSurfaceTool::Value(PS,u2,v2);
static math_Vector Valf(1,1);
Standard_Real aValf[1];
math_Vector Valf(aValf,1,1);
Func.Value(UVap,Valf);
Standard_Real rvalf = Valf(1);
Standard_Real DistPP = Pextrm1.SquareDistance(Pextrm2);