aTimer.Stop();
if (IsDebuggerPresent())
{
- std::cout << "ERROR: CPU limit (" << CPU_LIMIT << " sec) has been reached but ignored because of attached Debugger" << std::endl;
+ std::cout << "Info: CPU limit (" << CPU_LIMIT << " sec) has been reached but ignored because of attached Debugger" << std::endl;
return 0;
}
else
aTimer.Stop();
if (IsDebuggerPresent())
{
- std::cout << "ERROR: Elapsed limit (" << CPU_LIMIT << " sec) has been reached but ignored because of attached Debugger" << std::endl;
+ std::cout << "Info: Elapsed limit (" << CPU_LIMIT << " sec) has been reached but ignored because of attached Debugger" << std::endl;
return 0;
}
else
Handle(Geom2d_Curve) c2d;
Standard_Real a, b;
sae.PCurve ( splitE, face, c2d, a, b, Standard_True );
- Standard_Real ppar = (isRemoveFirst ? b : a);
ShapeBuild_Edge sbe;
TopAbs_Orientation orient = splitE.Orientation();
- if ( Abs(param - ppar) > ::Precision::PConfusion() ) {
- //pdn perform splitting of the edge and adding to wire
-
+
+ // check whether the whole edges should be removed - this is the case
+ // when split point coincides with the end of the edge;
+ // for closed edges split point may fall at the other end (see issue #0029780)
+ if (Abs(param - (isRemoveFirst ? b : a)) <= ::Precision::PConfusion() ||
+ (sae.IsClosed3d(splitE) && Abs(param - (isRemoveFirst ? a : b)) <= ::Precision::PConfusion()))
+ {
+ FixDummySeam(n1);
+ // The seam edge is removed from the list. So, need to step back to avoid missing of edge processing
+ i--;
+ }
+ else // perform splitting of the edge and adding to wire
+ {
//pdn check if it is necessary
if( Abs((isRemoveFirst ? a : b)-param) < ::Precision::PConfusion() ) {
continue;
FixDummySeam(isRemoveLast ? NbEdges() : toRemove);
myLastFixStatus |= ShapeExtend::EncodeStatus ( ShapeExtend_DONE2 );
}
- else
- {
- FixDummySeam(n1);
- // The seam edge is removed from the list. So, need to step back to avoid missing of edge processing
- i--;
- }
i--;
if(!Context().IsNull()) //skl 07.03.2002 for OCC180
--- /dev/null
+puts "========================"
+puts "0029780 "
+puts "========================"
+
+
+stepread [locate_data_file bug29780.stp] a *
+
+checkshape a_1
+checknbshapes a_1 -shell 1 -face 244
+checkview -display result -2d -path ${imagedir}/${test_image}.png