1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-08 14:17:06 +03:00

Compare commits

...

3 Commits

Author SHA1 Message Date
mkv
eb58d64102 Small corrections for issue CR27133_v690 2016-02-09 14:52:28 +03:00
aml
dac92a59aa test case backporting. 2016-02-08 14:16:48 +03:00
aml
134f1e8d5f 0027133: Incorrect result of the normal projection algorithm
Topological tolerances changed to geometric tolerances.
Test case added.
2016-02-08 13:37:44 +03:00
3 changed files with 33 additions and 6 deletions

View File

@@ -611,7 +611,7 @@ void ProjLib_CompProjectedCurve::Init()
gp_Pnt Triple, prevTriple;
//Basic loop
//Basic loop
while(t <= LastU)
{
//Search for the begining a new continuous part
@@ -660,7 +660,8 @@ void ProjLib_CompProjectedCurve::Init()
#ifdef OCCT_DEBUG_CHRONO
InitChron(chr_init_point);
#endif
initpoint=InitialPoint(CPoint, t,myCurve,mySurface, myTolU, myTolV, U, V);
// PConfusion - use geometric tolerances in extrema / optimization.
initpoint=InitialPoint(CPoint, t,myCurve,mySurface, Precision::PConfusion(), Precision::PConfusion(), U, V);
#ifdef OCCT_DEBUG_CHRONO
ResultChron(chr_init_point,t_init_point);
init_point_count++;
@@ -855,10 +856,10 @@ void ProjLib_CompProjectedCurve::Init()
(Abs (Triple.Z() - mySurface->FirstVParameter()) < Precision::Confusion() ||
Abs (Triple.Z() - mySurface->LastVParameter() ) < Precision::Confusion() ))
{
// Go out from possible attraktor.
// Go out from possible attractor.
Standard_Real U,V;
InitialPoint(myCurve->Value(t), t, myCurve, mySurface, myTolU, myTolV, U, V);
// PConfusion - use geometric tolerances in extrema / optimization.
InitialPoint(myCurve->Value(t), t, myCurve, mySurface, Precision::PConfusion(), Precision::PConfusion(), U, V);
if (Abs (Abs(U - Triple.Y()) - mySurface->UPeriod()) < Precision::Confusion())
{
// Handle period jump.

View File

@@ -0,0 +1,20 @@
puts "================"
puts "0027133"
puts "================"
puts ""
##############################################################
# Incorrect result of the normal projection algorithm
# Oscillation at the edge end
##############################################################
restore [locate_data_file bug27133_aE.brep] aE
restore [locate_data_file bug27133_aF.brep] aF
nproject result aE aF
# Visual check.
donly result
smallview
fit
display aE aF
xwd ${imagedir}/${test_image}.png

View File

@@ -5,8 +5,14 @@ puts "=================================="
puts "Select3D_ISensitivePointSet: Crash when clearing selections (only with TBB)"
puts "=================================="
restore [locate_data_file crash_compound.brep]
restore [locate_data_file bug26146_crash_compound.brep] crash_compound
vinit
vdisplay crash_compound
vfit
vdump ${imagedir}/${casename}_1.png
vremove crash_compound ;# crashed here
vdump ${imagedir}/${casename}_2.png