1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-06 18:26:22 +03:00

0025841: Incorrect edge displaying

Handling of too big step changed.
Test-case for issue #25841

Small correction in test-case
This commit is contained in:
aml 2015-03-12 12:21:29 +03:00 committed by bugmaster
parent 3629864d0b
commit 77e39787b4
3 changed files with 22 additions and 2 deletions

View File

@ -73,7 +73,7 @@ BRepMesh_EdgeTessellator::BRepMesh_EdgeTessellator(
if (aCurveType == GeomAbs_BSplineCurve) if (aCurveType == GeomAbs_BSplineCurve)
{ {
// TODO: remove this code block when #24959 is fixed // bug24220
const Standard_Integer aNbInt = myCOnS.NbIntervals(GeomAbs_C1); const Standard_Integer aNbInt = myCOnS.NbIntervals(GeomAbs_C1);
if ( aNbInt > 0 ) if ( aNbInt > 0 )
{ {

View File

@ -473,6 +473,11 @@ void GCPnts_TangentialDeflection::PerformCurve (const TheCurve& C)
else { else {
if (Coef >= 1.5) { if (Coef >= 1.5) {
if (!aPrevPoint.IsEqual(points.Last(), Precision::Confusion()))
{
parameters.Append (U1);
points .Append (aPrevPoint);
}
U2 = MiddleU; U2 = MiddleU;
Du = U2-U1; Du = U2-U1;
CurrentPoint = MiddlePoint; CurrentPoint = MiddlePoint;

View File

@ -0,0 +1,15 @@
puts "========"
puts "OCC25841"
puts "========"
puts ""
#############################
# Incorrect edge displaying
#############################
restore [locate_data_file OCC25841_Curve_2.brep] a
vinit
vclear
vfront
vdisplay a
vfit
set only_screen 1