diff --git a/src/BRepToIGES/BRepToIGES_BRWire.cxx b/src/BRepToIGES/BRepToIGES_BRWire.cxx index 39153cc20b..c35c3e04cf 100644 --- a/src/BRepToIGES/BRepToIGES_BRWire.cxx +++ b/src/BRepToIGES/BRepToIGES_BRWire.cxx @@ -32,6 +32,7 @@ #include #include +#include #include #include #include @@ -64,6 +65,8 @@ #include +#include + #include #include @@ -390,6 +393,25 @@ Handle(IGESData_IGESEntity) BRepToIGES_BRWire ::TransferEdge (const TopoDS_Edge& } else Curve2d = Handle(Geom2d_Curve)::DownCast(Curve2d->Copy()); + //shift pcurves on periodic BSpline surfaces (issue 26138) + if (Surf->IsKind(STANDARD_TYPE(Geom_BSplineSurface))) { + Handle(Geom_BSplineSurface) aBSpline = Handle(Geom_BSplineSurface)::DownCast(Surf); + Standard_Real uShift = 0., vShift = 0.; + Standard_Real U0, U1, V0, V1; + Surf->Bounds(U0, U1, V0, V1); + if (aBSpline->IsUPeriodic() && Abs(Ufirst - U0) > Precision::PConfusion()) { + uShift = ShapeAnalysis::AdjustToPeriod(Ufirst, U0, U1); + } + if (aBSpline->IsVPeriodic() && Abs(Vfirst - V0) > Precision::PConfusion()) { + vShift = ShapeAnalysis::AdjustToPeriod(Vfirst, V0, V1); + } + if (Abs(uShift) > Precision::PConfusion() || Abs(vShift) > Precision::PConfusion()) { + gp_Trsf2d TR; + TR.SetTranslation(gp_Pnt2d(0.,0.),gp_Pnt2d(uShift,vShift)); + Curve2d = Handle(Geom2d_Curve)::DownCast(Curve2d->Transformed(TR)); + } + } + if (!analyticMode&&((Surf->IsKind(STANDARD_TYPE(Geom_CylindricalSurface))) || (Surf->IsKind(STANDARD_TYPE(Geom_ConicalSurface))) || (Surf->IsKind(STANDARD_TYPE(Geom_SphericalSurface))))) { diff --git a/src/GeomToIGES/GeomToIGES_GeomSurface.cxx b/src/GeomToIGES/GeomToIGES_GeomSurface.cxx index cd70db17f8..4c3d43d058 100644 --- a/src/GeomToIGES/GeomToIGES_GeomSurface.cxx +++ b/src/GeomToIGES/GeomToIGES_GeomSurface.cxx @@ -90,6 +90,10 @@ #include +#include +#include +#include + #include #include #include @@ -244,29 +248,90 @@ Handle(IGESData_IGESEntity) GeomToIGES_GeomSurface::TransferSurface(const Handle Standard_Boolean PeriodU = start->IsUPeriodic(); Standard_Boolean PeriodV = start->IsVPeriodic(); - if (PeriodU || PeriodV) { - mysurface = Handle(Geom_BSplineSurface)::DownCast(start->Copy()); + mysurface = Handle(Geom_BSplineSurface)::DownCast(start->Copy()); - //szv#10:PRO19566:05Oct99 - Standard_Boolean workaround = !(mysurface->IsURational() || mysurface->IsVRational()); - if (workaround) mysurface->SetWeight(1,1,0.3); + Standard_Real Umin = Udeb, Umax = Ufin, Vmin = Vdeb, Vmax = Vfin; + Standard_Real U0,U1,V0,V1; + Standard_Real uShift = 0, vShift = 0; + mysurface->Bounds(U0,U1,V0,V1); - if ( PeriodU ) mysurface->SetUNotPeriodic(); - if ( PeriodV ) mysurface->SetVNotPeriodic(); - - //szv#10:PRO19566:05Oct99 - if (workaround) mysurface->SetWeight(1,1,1.); + // cut segment from periodic surfaces for syncronization of pcurves ranges + // and surface bounds (issue 26138) + if (!PeriodU) { + if (Umin < U0) + Umin = U0; + if (U1 < Umax) + Umax = U1; } else { - mysurface = start; + if (Abs(Umin - U0) < Precision::PConfusion()) + Umin = U0; + if (Abs(Umax - U1) < Precision::PConfusion()) + Umax = U1; + uShift = ShapeAnalysis::AdjustToPeriod(Umin, U0, U1); + Umin += uShift; + Umax += uShift; + } + if (!PeriodV) { + if (Vmin < V0) + Vmin = V0; + if (V1 < Vmax) + Vmax = V1; + } + else { + if (Abs(Vmin - V0) < Precision::PConfusion()) + Vmin = V0; + if (Abs(Vmax - V1) < Precision::PConfusion()) + Vmax = V1; + vShift = ShapeAnalysis::AdjustToPeriod(Vmin, V0, V1); + Vmin += vShift; + Vmax += vShift; + } + if ( Abs(uShift) > Precision::PConfusion() || Abs(vShift) > Precision::PConfusion()) { + Standard_Boolean isNeedSegment = Standard_True; + isNeedSegment = Abs(Umax-Umin) > Precision::PConfusion() && + Abs(Vmax-Vmin) > Precision::PConfusion(); + Standard_Real uMaxShift = 0, vMaxShift = 0; + uMaxShift = ShapeAnalysis::AdjustToPeriod(Ufin, U0, U1); + vMaxShift = ShapeAnalysis::AdjustToPeriod(Vfin, V0, V1); + isNeedSegment &= + (PeriodU && Abs(uShift - uMaxShift) > Precision::PConfusion()) || + (PeriodV && Abs(vShift - vMaxShift) > Precision::PConfusion()); + if (isNeedSegment) { + try { + OCC_CATCH_SIGNALS + Handle(Geom_BSplineSurface) bspl = Handle(Geom_BSplineSurface)::DownCast ( start->Copy() ); + if ( ! bspl.IsNull() ) { + bspl->CheckAndSegment(Umin, Umax, Vmin, Vmax); + if ((U1 - U0) - (Umax - Umin) > Precision::PConfusion()) + PeriodU = Standard_False; + if ((V1 - V0) - (Vmax - Vmin) > Precision::PConfusion()) + PeriodV = Standard_False; + mysurface = bspl; + } + } + catch ( Standard_Failure ) { + #ifdef DEB + cout << "Warning: GeomToIGES_GeomSurface: can't trim bspline" << endl; + cout << "Warning: Exception in Segment(): " ; + Standard_Failure::Caught()->Print(cout); + #endif + } + } + } + + //unperiodize surface to get neccessary for IGES standard number of knots and mults + if ( mysurface->IsUPeriodic() ) { + mysurface->SetUNotPeriodic(); + } + if ( mysurface->IsVPeriodic() ) { + mysurface->SetVNotPeriodic(); } Standard_Integer DegU = mysurface->UDegree(); Standard_Integer DegV = mysurface->VDegree(); Standard_Boolean CloseU = mysurface->IsUClosed(); Standard_Boolean CloseV = mysurface->IsVClosed(); - //Standard_Boolean PeriodU = start->IsUPeriodic(); - //Standard_Boolean PeriodV = start->IsVPeriodic(); Standard_Boolean RationU = mysurface->IsURational(); Standard_Boolean RationV = mysurface->IsVRational(); Standard_Integer NbUPoles = mysurface->NbUPoles(); @@ -348,18 +413,6 @@ Handle(IGESData_IGESEntity) GeomToIGES_GeomSurface::TransferSurface(const Handle UIndex++; VIndex = Poles->LowerCol(); } - - // mjm le 9/10/97 mise en place d`une protection - Standard_Real U1,U2,V1,V2; - Standard_Real Umin = Udeb; - Standard_Real Umax = Ufin; - Standard_Real Vmin = Vdeb; - Standard_Real Vmax = Vfin; - mysurface->Bounds(U1,U2,V1,V2); - if ( U1 > Umin ) Umin = U1; - if ( V1 > Vmin ) Vmin = V1; - if ( U2 < Umax ) Umax = U2; - if ( V2 < Vmax ) Vmax = V2; BSpline-> Init (IndexU, IndexV, DegU, DegV, CloseU, CloseV, Polynom, PeriodU, PeriodV, KnotsU, KnotsV, Weights, Poles, Umin, Umax, Vmin, Vmax); diff --git a/tests/bugs/iges/bug26138 b/tests/bugs/iges/bug26138 new file mode 100644 index 0000000000..435163865c --- /dev/null +++ b/tests/bugs/iges/bug26138 @@ -0,0 +1,16 @@ +puts "========" +puts "OCC26138" +puts "========" +puts "" +##################################################### +# Problems with writing periodic BSplines into IGES +##################################################### + +igesbrep [locate_data_file OCC26138_Torus.igs] a * +brepiges a ${imagedir}/bug26138.igs +igesbrep ${imagedir}/bug26138.igs b * +set a_info [lindex [sprops a] 2] +set b_info [lindex [sprops b] 2] +if {$a_info != $b_info} { + puts "ERROR: OCC26138 is reproduced. Shape a is not equal to shape b." +} diff --git a/tests/de/iges_1/H5 b/tests/de/iges_1/H5 index e0afebb3d7..e21e53951a 100755 --- a/tests/de/iges_1/H5 +++ b/tests/de/iges_1/H5 @@ -1,5 +1,5 @@ # !!!! This file is generated automatically, do not edit manually! See end script -puts "TODO CR23096 ALL: TOLERANCE : Faulty" +puts "TODO CR23096 ALL: NBSHAPES : Faulty" puts "TODO CR23096 ALL: LABELS : Faulty" @@ -7,11 +7,11 @@ set filename BUC60032.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) -TPSTAT : Faulties = 0 ( 53 ) Warnings = 36 ( 167 ) Summary = 36 ( 220 ) +TPSTAT : Faulties = 0 ( 53 ) Warnings = 72 ( 167 ) Summary = 72 ( 220 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 42 ( 42 ) Summary = 1134 ( 1135 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 42 ( 42 ) FreeWire = 8 ( 58 ) FreeEdge = 217 ( 217 ) SharedEdge = 413 ( 395 ) -TOLERANCE : MaxTol = 0.9314567018 ( 0.01444583491 ) AvgTol = 0.01569636351 ( 0.0003004299328 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 42 ( 42 ) Summary = 1082 ( 1135 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 42 ( 42 ) FreeWire = 8 ( 58 ) FreeEdge = 217 ( 217 ) SharedEdge = 395 ( 395 ) +TOLERANCE : MaxTol = 0.01444583491 ( 0.01444583491 ) AvgTol = 0.0002992099521 ( 0.0003004299328 ) LABELS : N0Labels = 3 ( 6 ) N1Labels = 193 ( 264 ) N2Labels = 0 ( 0 ) TotalLabels = 196 ( 270 ) NameLabels = 144 ( 230 ) ColorLabels = 193 ( 261 ) LayerLabels = 192 ( 209 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 6 ( 6 ) diff --git a/tests/de/iges_1/H6 b/tests/de/iges_1/H6 index dca3330f43..81c81c3df7 100644 --- a/tests/de/iges_1/H6 +++ b/tests/de/iges_1/H6 @@ -1,6 +1,5 @@ # !!!! This file is generated automatically, do not edit manually! See end script puts "TODO CR23096 ALL: NBSHAPES : Faulty" -puts "TODO CR23096 ALL: TOLERANCE : Faulty" puts "TODO CR23096 ALL: LABELS : Faulty" @@ -8,11 +7,11 @@ set filename BUC60033.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) -TPSTAT : Faulties = 0 ( 5 ) Warnings = 78 ( 831 ) Summary = 78 ( 836 ) +TPSTAT : Faulties = 0 ( 5 ) Warnings = 106 ( 832 ) Summary = 106 ( 837 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 208 ( 208 ) Summary = 7973 ( 8005 ) STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 208 ( 208 ) FreeWire = 0 ( 32 ) FreeEdge = 70 ( 70 ) SharedEdge = 3748 ( 3748 ) -TOLERANCE : MaxTol = 0.9313845927 ( 0.9049033554 ) AvgTol = 0.01438156805 ( 0.01221739863 ) +TOLERANCE : MaxTol = 0.9049033554 ( 0.9049033554 ) AvgTol = 0.01221723065 ( 0.01221855991 ) LABELS : N0Labels = 1 ( 1 ) N1Labels = 246 ( 2188 ) N2Labels = 0 ( 0 ) TotalLabels = 247 ( 2189 ) NameLabels = 247 ( 374 ) ColorLabels = 246 ( 2188 ) LayerLabels = 241 ( 2183 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 5 ( 5 ) diff --git a/tests/de/iges_1/H7 b/tests/de/iges_1/H7 index f97a13e55e..7ae10f6e8c 100755 --- a/tests/de/iges_1/H7 +++ b/tests/de/iges_1/H7 @@ -1,4 +1,5 @@ # !!!! This file is generated automatically, do not edit manually! See end script +puts "TODO CR23096 ALL: NBSHAPES : Faulty" puts "TODO CR23096 ALL: LABELS : Faulty" @@ -6,11 +7,11 @@ set filename BUC60034.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) -TPSTAT : Faulties = 0 ( 53 ) Warnings = 2 ( 632 ) Summary = 2 ( 685 ) +TPSTAT : Faulties = 0 ( 53 ) Warnings = 3 ( 637 ) Summary = 3 ( 690 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1766 ( 1766 ) Summary = 18585 ( 18587 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1766 ( 1766 ) FreeWire = 0 ( 2 ) FreeEdge = 104 ( 104 ) SharedEdge = 7470 ( 7469 ) -TOLERANCE : MaxTol = 0.1881003203 ( 0.1881003203 ) AvgTol = 0.0004558439058 ( 0.0004561075883 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1766 ( 1766 ) Summary = 18582 ( 18587 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1766 ( 1766 ) FreeWire = 0 ( 2 ) FreeEdge = 104 ( 104 ) SharedEdge = 7469 ( 7469 ) +TOLERANCE : MaxTol = 0.1881003203 ( 0.1881003203 ) AvgTol = 0.0004558439058 ( 0.0004561112628 ) LABELS : N0Labels = 3 ( 6 ) N1Labels = 1868 ( 3154 ) N2Labels = 0 ( 0 ) TotalLabels = 1871 ( 3160 ) NameLabels = 1819 ( 2019 ) ColorLabels = 1868 ( 3151 ) LayerLabels = 1868 ( 3100 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 5 ( 5 ) diff --git a/tests/de/iges_1/K9 b/tests/de/iges_1/K9 index 55027ac841..d92cfe9296 100644 --- a/tests/de/iges_1/K9 +++ b/tests/de/iges_1/K9 @@ -1,19 +1,25 @@ # !!!! This file is generated automatically, do not edit manually! See end script -puts "TODO CR23096 ALL: CHECKSHAPE : Faulty" puts "TODO CR23096 ALL: NBSHAPES : Faulty" puts "TODO CR23096 ALL: LABELS : Faulty" + +puts "TODO CR23096 ALL: STATSHAPE : Faulty " + +puts "TODO CR23096 ALL: TOLERANCE : Faulty " + +puts "TODO CR23096 ALL: Error : 3 differences with reference data found :" + set LinuxDiff 3 set LinuxFaulties {STATSHAPE TOLERANCE} set filename Inner.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) -TPSTAT : Faulties = 0 ( 0 ) Warnings = 17 ( 869 ) Summary = 17 ( 869 ) -CHECKSHAPE : Wires = 1 ( 0 ) Faces = 1 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 392 ( 392 ) Summary = 10888 ( 10908 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 392 ( 392 ) FreeWire = 97 ( 121 ) FreeEdge = 1546 ( 1546 ) SharedEdge = 4314 ( 4310 ) -TOLERANCE : MaxTol = 0.9393822539 ( 0.9393822539 ) AvgTol = 0.01467424621 ( 0.01255966366 ) +TPSTAT : Faulties = 0 ( 0 ) Warnings = 35 ( 890 ) Summary = 35 ( 890 ) +CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 392 ( 392 ) Summary = 10882 ( 10908 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 392 ( 392 ) FreeWire = 97 ( 121 ) FreeEdge = 1546 ( 1546 ) SharedEdge = 4308 ( 4310 ) +TOLERANCE : MaxTol = 0.9393822539 ( 0.9393822539 ) AvgTol = 0.01258756217 ( 0.0125611438 ) LABELS : N0Labels = 1 ( 1 ) N1Labels = 1695 ( 3509 ) N2Labels = 0 ( 0 ) TotalLabels = 1696 ( 3510 ) NameLabels = 1696 ( 1972 ) ColorLabels = 1695 ( 3509 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 4 ( 4 ) diff --git a/tests/de/iges_1/O4 b/tests/de/iges_1/O4 index 93b3b94f1f..758f385587 100644 --- a/tests/de/iges_1/O4 +++ b/tests/de/iges_1/O4 @@ -1,6 +1,6 @@ # !!!! This file is generated automatically, do not edit manually! See end script +puts "TODO CR23096 ALL: NBSHAPES : Faulty" puts "TODO CR23096 ALL: STATSHAPE : Faulty" -puts "TODO CR23096 ALL: TOLERANCE : Faulty" puts "TODO CR23096 ALL: LABELS : Faulty" @@ -8,11 +8,11 @@ set filename UKI60556.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 1 ) Summary = 0 ( 1 ) -TPSTAT : Faulties = 0 ( 0 ) Warnings = 427 ( 1005 ) Summary = 427 ( 1005 ) +TPSTAT : Faulties = 0 ( 0 ) Warnings = 444 ( 1005 ) Summary = 444 ( 1005 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 300 ( 300 ) Summary = 50240 ( 50232 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 300 ( 300 ) FreeWire = 119 ( 139 ) FreeEdge = 4488 ( 4487 ) SharedEdge = 24686 ( 24678 ) -TOLERANCE : MaxTol = 0.2692383113 ( 0.06099237775 ) AvgTol = 0.0001130111651 ( 1.621424764e-005 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 300 ( 300 ) Summary = 50219 ( 50232 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 300 ( 300 ) FreeWire = 119 ( 139 ) FreeEdge = 4488 ( 4487 ) SharedEdge = 24679 ( 24678 ) +TOLERANCE : MaxTol = 1e-05 ( 0.06099237775 ) AvgTol = 3.184880431e-07 ( 1.621424764e-05 ) LABELS : N0Labels = 432 ( 432 ) N1Labels = 12 ( 845 ) N2Labels = 0 ( 0 ) TotalLabels = 444 ( 1277 ) NameLabels = 432 ( 687 ) ColorLabels = 320 ( 1277 ) LayerLabels = 320 ( 1277 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 6 ( 6 ) diff --git a/tests/de/iges_1/P6 b/tests/de/iges_1/P6 index 441d4d04ac..8eabdcbf15 100644 --- a/tests/de/iges_1/P6 +++ b/tests/de/iges_1/P6 @@ -1,5 +1,4 @@ # !!!! This file is generated automatically, do not edit manually! See end script -puts "TODO CR23096 ALL: TOLERANCE : Faulty" puts "TODO CR23096 ALL: LABELS : Faulty" @@ -7,11 +6,11 @@ set filename igsBF6.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) -TPSTAT : Faulties = 0 ( 4 ) Warnings = 56 ( 2482 ) Summary = 56 ( 2486 ) +TPSTAT : Faulties = 0 ( 4 ) Warnings = 122 ( 2490 ) Summary = 122 ( 2494 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 478 ( 478 ) Summary = 9622 ( 9620 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 478 ( 478 ) FreeWire = 11 ( 11 ) FreeEdge = 679 ( 679 ) SharedEdge = 4100 ( 4098 ) -TOLERANCE : MaxTol = 0.9116177018 ( 0.7254994252 ) AvgTol = 0.01026239826 ( 0.001491209557 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 478 ( 478 ) Summary = 9620 ( 9620 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 478 ( 478 ) FreeWire = 11 ( 11 ) FreeEdge = 679 ( 679 ) SharedEdge = 4098 ( 4098 ) +TOLERANCE : MaxTol = 0.7255001399 ( 0.7254994252 ) AvgTol = 0.00150384607 ( 0.001491267872 ) LABELS : N0Labels = 1 ( 1 ) N1Labels = 856 ( 1636 ) N2Labels = 0 ( 0 ) TotalLabels = 857 ( 1637 ) NameLabels = 857 ( 1390 ) ColorLabels = 856 ( 1636 ) LayerLabels = 856 ( 1636 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 10 ( 10 ) diff --git a/tests/de/iges_1/P7 b/tests/de/iges_1/P7 index d22a89dd10..e28a30ee8d 100644 --- a/tests/de/iges_1/P7 +++ b/tests/de/iges_1/P7 @@ -2,15 +2,18 @@ puts "TODO CR23096 ALL: NBSHAPES : Faulty" puts "TODO CR23096 ALL: LABELS : Faulty" + +puts "TODO CR23096 ALL: Error : 1 differences with reference data found :" + set LinuxDiff 1 set filename igsFB2.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) -TPSTAT : Faulties = 0 ( 0 ) Warnings = 95 ( 771 ) Summary = 95 ( 771 ) +TPSTAT : Faulties = 0 ( 0 ) Warnings = 97 ( 771 ) Summary = 97 ( 771 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 770 ( 770 ) Summary = 12757 ( 12759 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 770 ( 770 ) FreeWire = 36 ( 36 ) FreeEdge = 232 ( 232 ) SharedEdge = 5543 ( 5545 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 770 ( 770 ) Summary = 12751 ( 12759 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 770 ( 770 ) FreeWire = 36 ( 36 ) FreeEdge = 232 ( 232 ) SharedEdge = 5541 ( 5545 ) TOLERANCE : MaxTol = 0.9845041621 ( 0.9845038147 ) AvgTol = 0.00992720939 ( 0.009919874447 ) LABELS : N0Labels = 880 ( 880 ) N1Labels = 0 ( 1770 ) N2Labels = 0 ( 0 ) TotalLabels = 880 ( 2650 ) NameLabels = 880 ( 1500 ) ColorLabels = 844 ( 2650 ) LayerLabels = 844 ( 2650 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) diff --git a/tests/de/iges_1/Q3 b/tests/de/iges_1/Q3 index b4e6d196bd..679048c1af 100644 --- a/tests/de/iges_1/Q3 +++ b/tests/de/iges_1/Q3 @@ -1,17 +1,19 @@ # !!!! This file is generated automatically, do not edit manually! See end script +puts "TODO CR23096 ALL: CHECKSHAPE : Faulty" +puts "TODO CR23096 ALL: NBSHAPES : Faulty" puts "TODO CR23096 ALL: LABELS : Faulty" puts "TODO CR23096 ALL: COLORS : Faulty" -puts "TODO CR22598 ALL: CHECKSHAPE : Faulty" + set filename 919-001-T02-04-CP-VL.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) -TPSTAT : Faulties = 0 ( 0 ) Warnings = 98 ( 1376 ) Summary = 98 ( 1376 ) +TPSTAT : Faulties = 0 ( 0 ) Warnings = 101 ( 1433 ) Summary = 101 ( 1433 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 1 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 899 ( 899 ) Summary = 24042 ( 24038 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 899 ( 899 ) FreeWire = 366 ( 366 ) FreeEdge = 3783 ( 3783 ) SharedEdge = 9390 ( 9388 ) -TOLERANCE : MaxTol = 0.3151652209 ( 0.3151652209 ) AvgTol = 0.0006858150184 ( 0.000729734612 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 899 ( 899 ) Summary = 24030 ( 24038 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 899 ( 899 ) FreeWire = 366 ( 366 ) FreeEdge = 3783 ( 3783 ) SharedEdge = 9384 ( 9388 ) +TOLERANCE : MaxTol = 0.3151652209 ( 0.3151652209 ) AvgTol = 0.0007056494899 ( 0.0007458034854 ) LABELS : N0Labels = 1 ( 1 ) N1Labels = 3581 ( 9378 ) N2Labels = 0 ( 0 ) TotalLabels = 3582 ( 9379 ) NameLabels = 3582 ( 4454 ) ColorLabels = 3581 ( 9378 ) LayerLabels = 3581 ( 9378 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 1 ( 2 ) diff --git a/tests/de/iges_1/Q4 b/tests/de/iges_1/Q4 index 6aca9276a5..5480ead233 100644 --- a/tests/de/iges_1/Q4 +++ b/tests/de/iges_1/Q4 @@ -1,5 +1,4 @@ # !!!! This file is generated automatically, do not edit manually! See end script -puts "TODO CR23096 ALL: TOLERANCE : Faulty" puts "TODO CR23096 ALL: LABELS : Faulty" puts "TODO CR23096 ALL: COLORS : Faulty" @@ -8,11 +7,11 @@ set filename 919-001-T02-04-FT-VL.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) -TPSTAT : Faulties = 0 ( 0 ) Warnings = 99 ( 787 ) Summary = 99 ( 787 ) +TPSTAT : Faulties = 0 ( 0 ) Warnings = 129 ( 798 ) Summary = 129 ( 798 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 426 ( 426 ) Summary = 14323 ( 14321 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 426 ( 426 ) FreeWire = 265 ( 265 ) FreeEdge = 2465 ( 2465 ) SharedEdge = 5783 ( 5781 ) -TOLERANCE : MaxTol = 0.7242522382 ( 0.09805261731 ) AvgTol = 0.001420422933 ( 0.0005172907259 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 426 ( 426 ) Summary = 14321 ( 14321 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 426 ( 426 ) FreeWire = 265 ( 265 ) FreeEdge = 2465 ( 2465 ) SharedEdge = 5781 ( 5781 ) +TOLERANCE : MaxTol = 0.09805261731 ( 0.09805261731 ) AvgTol = 0.0005286623368 ( 0.0005262647535 ) LABELS : N0Labels = 1 ( 1 ) N1Labels = 1739 ( 5424 ) N2Labels = 0 ( 0 ) TotalLabels = 1740 ( 5425 ) NameLabels = 1740 ( 2237 ) ColorLabels = 1739 ( 5424 ) LayerLabels = 1739 ( 5424 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 1 ( 2 ) diff --git a/tests/de/iges_1/Q5 b/tests/de/iges_1/Q5 index 59837e9763..c49f6edbd7 100644 --- a/tests/de/iges_1/Q5 +++ b/tests/de/iges_1/Q5 @@ -1,5 +1,4 @@ # !!!! This file is generated automatically, do not edit manually! See end script -puts "TODO CR23096 ALL: TOLERANCE : Faulty" puts "TODO CR23096 ALL: LABELS : Faulty" puts "TODO CR23096 ALL: COLORS : Faulty" @@ -8,11 +7,11 @@ set filename 919-004-T02-01-FT-VL.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) -TPSTAT : Faulties = 0 ( 0 ) Warnings = 89 ( 816 ) Summary = 89 ( 816 ) +TPSTAT : Faulties = 0 ( 0 ) Warnings = 116 ( 825 ) Summary = 116 ( 825 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 406 ( 406 ) Summary = 13723 ( 13718 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 406 ( 406 ) FreeWire = 275 ( 275 ) FreeEdge = 2361 ( 2361 ) SharedEdge = 5556 ( 5553 ) -TOLERANCE : MaxTol = 0.6283236351 ( 0.08309604195 ) AvgTol = 0.0009031477049 ( 0.0004620593503 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 406 ( 406 ) Summary = 13718 ( 13718 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 406 ( 406 ) FreeWire = 275 ( 275 ) FreeEdge = 2361 ( 2361 ) SharedEdge = 5553 ( 5553 ) +TOLERANCE : MaxTol = 0.08309604195 ( 0.08309604195 ) AvgTol = 0.0004559007514 ( 0.0004699758829 ) LABELS : N0Labels = 2 ( 2 ) N1Labels = 1614 ( 5210 ) N2Labels = 0 ( 0 ) TotalLabels = 1616 ( 5212 ) NameLabels = 1614 ( 2096 ) ColorLabels = 1614 ( 5211 ) LayerLabels = 1614 ( 5211 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 1 ( 2 ) diff --git a/tests/de/iges_1/R7 b/tests/de/iges_1/R7 index 4508ef77b9..45915f3516 100644 --- a/tests/de/iges_1/R7 +++ b/tests/de/iges_1/R7 @@ -1,4 +1,5 @@ # !!!! This file is generated automatically, do not edit manually! See end script +puts "TODO CR23096 ALL: NBSHAPES : Faulty" puts "TODO CR23096 ALL: LABELS : Faulty" puts "TODO CR23096 ALL: COLORS : Faulty" @@ -6,12 +7,12 @@ puts "TODO CR23096 ALL: COLORS : Faulty" set filename BUC60625-1.igs set ref_data { -DATA : Faulties = 0 ( 1 ) Warnings = 0 ( 0 ) Summary = 0 ( 1 ) -TPSTAT : Faulties = 0 ( 0 ) Warnings = 4 ( 63 ) Summary = 4 ( 63 ) +DATA : Faulties = 0 ( 1 ) Warnings = 0 ( 83 ) Summary = 0 ( 84 ) +TPSTAT : Faulties = 0 ( 0 ) Warnings = 6 ( 63 ) Summary = 6 ( 63 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 120 ( 120 ) Summary = 5878 ( 5876 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 120 ( 120 ) FreeWire = 31 ( 31 ) FreeEdge = 1039 ( 1039 ) SharedEdge = 2358 ( 2356 ) -TOLERANCE : MaxTol = 1.421161348e-006 ( 1e-005 ) AvgTol = 1.219835444e-007 ( 3.646635427e-006 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 120 ( 120 ) Summary = 5872 ( 5876 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 120 ( 120 ) FreeWire = 31 ( 31 ) FreeEdge = 1039 ( 1039 ) SharedEdge = 2356 ( 2356 ) +TOLERANCE : MaxTol = 1.421161348e-06 ( 1e-05 ) AvgTol = 1.219850877e-07 ( 3.646635427e-06 ) LABELS : N0Labels = 1051 ( 1051 ) N1Labels = 0 ( 448 ) N2Labels = 0 ( 0 ) TotalLabels = 1051 ( 1499 ) NameLabels = 1051 ( 1051 ) ColorLabels = 822 ( 1300 ) LayerLabels = 971 ( 1499 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 2 ( 3 ) diff --git a/tests/de/iges_2/A5 b/tests/de/iges_2/A5 index 79e1c5686d..273d1b935b 100644 --- a/tests/de/iges_2/A5 +++ b/tests/de/iges_2/A5 @@ -8,11 +8,11 @@ set filename t_cat_424_002_sgi_hybdrw_vw_tuer_standard.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) -TPSTAT : Faulties = 0 ( 733 ) Warnings = 67 ( 4329 ) Summary = 67 ( 5062 ) +TPSTAT : Faulties = 0 ( 733 ) Warnings = 64 ( 4345 ) Summary = 64 ( 5078 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 2263 ( 2263 ) Summary = 81573 ( 81625 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 2263 ( 2263 ) FreeWire = 2854 ( 2907 ) FreeEdge = 19507 ( 19507 ) SharedEdge = 29769 ( 29768 ) -TOLERANCE : MaxTol = 0.7925892163 ( 0.7925891552 ) AvgTol = 0.001587411664 ( 0.001633612857 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 2263 ( 2263 ) Summary = 81570 ( 81625 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 2263 ( 2263 ) FreeWire = 2854 ( 2907 ) FreeEdge = 19507 ( 19507 ) SharedEdge = 29768 ( 29768 ) +TOLERANCE : MaxTol = 0.7925892163 ( 0.7925891552 ) AvgTol = 0.001587410529 ( 0.001648822728 ) LABELS : N0Labels = 28 ( 28 ) N1Labels = 13487 ( 17629 ) N2Labels = 0 ( 0 ) TotalLabels = 13515 ( 17657 ) NameLabels = 13515 ( 17494 ) ColorLabels = 13489 ( 17629 ) LayerLabels = 13438 ( 17573 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 18 ( 18 ) diff --git a/tests/de/iges_2/E6 b/tests/de/iges_2/E6 index 276c9ed23c..0f7fec086b 100644 --- a/tests/de/iges_2/E6 +++ b/tests/de/iges_2/E6 @@ -1,18 +1,19 @@ # !!!! This file is generated automatically, do not edit manually! See end script -puts "TODO CR23096 ALL: TOLERANCE : Faulty" puts "TODO CR23096 ALL: LABELS : Faulty" -#puts "TODO CR23096 ALL: Error : 1 differences with reference data found :" + + +puts "TODO CR23096 ALL: Error : 1 differences with reference data found :" set LinuxDiff 1 set filename ims010.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) -TPSTAT : Faulties = 0 ( 0 ) Warnings = 6 ( 523 ) Summary = 6 ( 523 ) +TPSTAT : Faulties = 0 ( 0 ) Warnings = 15 ( 524 ) Summary = 15 ( 524 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1177 ( 1177 ) Summary = 18232 ( 18230 ) STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1177 ( 1177 ) FreeWire = 5 ( 5 ) FreeEdge = 714 ( 714 ) SharedEdge = 7614 ( 7614 ) -TOLERANCE : MaxTol = 0.9436610236 ( 0.8261873283 ) AvgTol = 0.01104814108 ( 0.01076280021 ) +TOLERANCE : MaxTol = 0.8261873294 ( 0.8261873283 ) AvgTol = 0.01075755448 ( 0.01076339213 ) LABELS : N0Labels = 1884 ( 1885 ) N1Labels = 0 ( 1020 ) N2Labels = 0 ( 0 ) TotalLabels = 1884 ( 2905 ) NameLabels = 1884 ( 1885 ) ColorLabels = 1873 ( 2904 ) LayerLabels = 1873 ( 2904 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 7 ( 7 ) diff --git a/tests/de/iges_2/F9 b/tests/de/iges_2/F9 index f05122ec5a..0426eb03d5 100644 --- a/tests/de/iges_2/F9 +++ b/tests/de/iges_2/F9 @@ -1,18 +1,21 @@ # !!!! This file is generated automatically, do not edit manually! See end script +puts "TODO CR23096 ALL: NBSHAPES : Faulty" puts "TODO CR23096 ALL: STATSHAPE : Faulty" -puts "TODO CR23096 ALL: TOLERANCE : Faulty" puts "TODO CR23096 ALL: LABELS : Faulty" + +puts "TODO CR23096 ALL: Error : 1 differences with reference data found :" + set LinuxDiff 1 set filename 919-004-T03-04-CP-VL.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) -TPSTAT : Faulties = 0 ( 2 ) Warnings = 277 ( 2065 ) Summary = 277 ( 2067 ) +TPSTAT : Faulties = 0 ( 2 ) Warnings = 312 ( 2188 ) Summary = 312 ( 2190 ) CHECKSHAPE : Wires = 0 ( 3 ) Faces = 0 ( 3 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1457 ( 1455 ) Summary = 38866 ( 38834 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1457 ( 1455 ) FreeWire = 516 ( 528 ) FreeEdge = 6208 ( 6208 ) SharedEdge = 15329 ( 15304 ) -TOLERANCE : MaxTol = 0.7947997475 ( 0.4653265785 ) AvgTol = 0.001017262894 ( 0.0008404073573 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1457 ( 1455 ) Summary = 38832 ( 38834 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1457 ( 1455 ) FreeWire = 516 ( 528 ) FreeEdge = 6208 ( 6208 ) SharedEdge = 15307 ( 15304 ) +TOLERANCE : MaxTol = 0.3053256329 ( 0.4653265763 ) AvgTol = 0.0008083573819 ( 0.0008563940583 ) LABELS : N0Labels = 5 ( 5 ) N1Labels = 5689 ( 14457 ) N2Labels = 0 ( 0 ) TotalLabels = 5694 ( 14462 ) NameLabels = 5694 ( 7040 ) ColorLabels = 5689 ( 14461 ) LayerLabels = 5689 ( 14461 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 2 ( 2 ) diff --git a/tests/de/iges_3/A7 b/tests/de/iges_3/A7 index 98f9b2f8ac..8a026f91dd 100644 --- a/tests/de/iges_3/A7 +++ b/tests/de/iges_3/A7 @@ -1,15 +1,17 @@ # !!!! This file is generated automatically, do not edit manually! See end script +puts "TODO CR23096 ALL: NBSHAPES : Faulty" puts "TODO CR23096 ALL: LABELS : Faulty" + set filename t_cat_424_002_sgi_hybdrw_vw_dosenhalter_standard.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) -TPSTAT : Faulties = 0 ( 569 ) Warnings = 103 ( 8440 ) Summary = 103 ( 9009 ) +TPSTAT : Faulties = 0 ( 569 ) Warnings = 152 ( 8440 ) Summary = 152 ( 9009 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 9171 ( 9171 ) Summary = 288559 ( 288510 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 9171 ( 9171 ) FreeWire = 998 ( 1096 ) FreeEdge = 28215 ( 28215 ) SharedEdge = 122324 ( 122275 ) -TOLERANCE : MaxTol = 0.6305328468 ( 0.6305328468 ) AvgTol = 0.0003777026196 ( 0.0003780896454 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 9171 ( 9171 ) Summary = 288412 ( 288510 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 9171 ( 9171 ) FreeWire = 998 ( 1096 ) FreeEdge = 28215 ( 28215 ) SharedEdge = 122275 ( 122275 ) +TOLERANCE : MaxTol = 0.6305328468 ( 0.6305328468 ) AvgTol = 0.0003777026264 ( 0.0003780896454 ) LABELS : N0Labels = 1 ( 1 ) N1Labels = 31624 ( 37142 ) N2Labels = 0 ( 0 ) TotalLabels = 31625 ( 37143 ) NameLabels = 31621 ( 36777 ) ColorLabels = 31624 ( 37142 ) LayerLabels = 29174 ( 34054 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 4 ( 4 )