diff --git a/src/ShapeFix/ShapeFix_Face.cxx b/src/ShapeFix/ShapeFix_Face.cxx index 32dede1de6..f0ad0e3ed1 100644 --- a/src/ShapeFix/ShapeFix_Face.cxx +++ b/src/ShapeFix/ShapeFix_Face.cxx @@ -51,6 +51,7 @@ #include #include #include +#include #include #include #include @@ -118,9 +119,9 @@ static Standard_Boolean IsSurfaceUVInfinite(const Handle(Geom_Surface)& theSurf) Precision::IsInfinite(VMax) ); } -static Standard_Boolean IsSurfaceUVPeriodic(const Handle(Geom_Surface)& theSurf) +static Standard_Boolean IsSurfaceUVPeriodic(const Handle(GeomAdaptor_HSurface)& theSurf) { - return theSurf->IsUPeriodic() && theSurf->IsVPeriodic(); + return ( (theSurf->IsUPeriodic() && theSurf->IsVPeriodic()) || theSurf->GetType() == GeomAbs_Sphere); } //======================================================================= @@ -855,7 +856,7 @@ Standard_Boolean ShapeFix_Face::FixAddNaturalBound() } // check if surface is double-closed and fix is needed - if ( !IsSurfaceUVPeriodic (mySurf->Surface()) || ShapeAnalysis::IsOuterBound (myFace) ) + if ( !IsSurfaceUVPeriodic (mySurf->Adaptor3d()) || ShapeAnalysis::IsOuterBound (myFace) ) return Standard_False; // Collect informations on free intervals in U and V @@ -866,6 +867,7 @@ Standard_Boolean ShapeFix_Face::FixAddNaturalBound() intV.Append ( gp_Pnt2d(SVF, SVL) ); Standard_Integer nb = ws.Length(); Standard_Integer i; + for ( i=1; i <= nb; i ++) { Standard_Real Umin, Vmin, Umax, Vmax; // Bnd_Box2d B; @@ -877,12 +879,13 @@ Standard_Boolean ShapeFix_Face::FixAddNaturalBound() BRep_Builder aB; aB.Add( aWireFace, aw ); ShapeAnalysis::GetFaceUVBounds(aWireFace, Umin, Umax, Vmin, Vmax); + // PTV 01.11.2002 ACIS907, OCC921 end if ( mySurf->IsUClosed() ) CutInterval ( intU, gp_Pnt2d(Umin,Umax), SUL-SUF ); if ( mySurf->IsVClosed() ) CutInterval ( intV, gp_Pnt2d(Vmin,Vmax), SVL-SVF ); centers.Append ( gp_Pnt2d ( 0.5*(Umin+Umax), 0.5*(Vmin+Vmax) ) ); } - + // find best interval and thus compute shift gp_Pnt2d shift(0.,0.); if ( mySurf->IsUClosed() ) shift.SetX ( FindBestInterval ( intU ) ); @@ -1084,8 +1087,8 @@ Standard_Boolean ShapeFix_Face::FixOrientation(TopTools_DataMapOfShapeListOfShap // if no wires, just do nothing if ( nb <= 0) return Standard_False; Standard_Integer nbInternal=0; - Standard_Boolean isAddNaturalBounds = (NeedFix (myFixAddNaturalBoundMode) && - IsSurfaceUVPeriodic (mySurf->Surface())); + + Standard_Boolean isAddNaturalBounds = (NeedFix (myFixAddNaturalBoundMode) && IsSurfaceUVPeriodic(mySurf->Adaptor3d())); TColStd_SequenceOfInteger aSeqReversed; // if wire is only one, check its orientation if ( nb == 1 ) { @@ -1095,19 +1098,17 @@ Standard_Boolean ShapeFix_Face::FixOrientation(TopTools_DataMapOfShapeListOfShap TopoDS_Face af = TopoDS::Face ( dummy ); af.Orientation ( TopAbs_FORWARD ); B.Add (af,ws.Value(1)); + if ((myFixAddNaturalBoundMode != 1 || - !IsSurfaceUVPeriodic (mySurf->Surface()) ) && - !ShapeAnalysis::IsOuterBound (af) ) + !IsSurfaceUVPeriodic(mySurf->Adaptor3d())) && + !ShapeAnalysis::IsOuterBound(af)) { - Handle(ShapeExtend_WireData) sbdw = - new ShapeExtend_WireData (TopoDS::Wire(ws.Value(1))); - sbdw->Reverse ( myFace ); - ws.SetValue ( 1, sbdw->Wire() ); - SendWarning ( sbdw->Wire(), Message_Msg ( "FixAdvFace.FixOrientation.MSG5" ) );// Wire on face was reversed + Handle(ShapeExtend_WireData) sbdw = + new ShapeExtend_WireData(TopoDS::Wire(ws.Value(1))); + sbdw->Reverse(myFace); + ws.SetValue(1, sbdw->Wire()); + SendWarning(sbdw->Wire(), Message_Msg("FixAdvFace.FixOrientation.MSG5"));// Wire on face was reversed done = Standard_True; -#ifdef OCCT_DEBUG - std::cout<<"Wire reversed"< need to reverse ShapeExtend_WireData sewd (aw); sewd.Reverse(myFace); diff --git a/src/StepToTopoDS/StepToTopoDS_TranslateFace.cxx b/src/StepToTopoDS/StepToTopoDS_TranslateFace.cxx index 6dbd42ce36..8bf7a3ee4f 100644 --- a/src/StepToTopoDS/StepToTopoDS_TranslateFace.cxx +++ b/src/StepToTopoDS/StepToTopoDS_TranslateFace.cxx @@ -140,8 +140,8 @@ void StepToTopoDS_TranslateFace::Init done = Standard_True; if (aTool.IsBound(FS)) { myResult = TopoDS::Face(aTool.Find(FS)); - myError = StepToTopoDS_TranslateFaceDone; - done = Standard_True; + myError = StepToTopoDS_TranslateFaceDone; + done = Standard_True; return; } @@ -251,35 +251,43 @@ void StepToTopoDS_TranslateFace::Init GeomSurf->IsKind (STANDARD_TYPE(Geom_BSplineSurface)) || GeomSurf->IsKind (STANDARD_TYPE(Geom_SurfaceOfRevolution))) { - if (NbBnd ==1 || FaceBound->IsKind(STANDARD_TYPE(StepShape_FaceOuterBound))) { - BRepBuilderAPI_MakeFace mf (GeomSurf, Precision()); - for (TopoDS_Iterator it(mf); it.More(); it.Next()) - B.Add (F, it.Value()); - continue; + + // Modification to create natural bounds for face based on the spherical and Bspline surface and having only one bound represented by Vertex loop was made. + // According to the specification of ISO - 10303 part 42: + // "If the face has only one bound and this is of type vertex_loop, then the interior of the face is the domain of the face_surface.face_geometry. + // In such a case the underlying surface shall be closed (e.g. a spherical_surface.)" + // - natural bounds are applied only in case if VertexLoop is only the one defined face bound. + if (NbBnd == 1) { + BRepBuilderAPI_MakeFace mf(GeomSurf, Precision()); + for (TopoDS_Iterator it(mf); it.More(); it.Next()) + B.Add(F, it.Value()); + } - } - - if (GeomSurf->IsKind(STANDARD_TYPE(Geom_ToroidalSurface))) { continue; + } - if (GeomSurf->IsKind(STANDARD_TYPE(Geom_Plane))) { - TP->AddWarning(VL, "VertexLoop on plane is ignored"); - continue; //smh : BUC60809 - } - myTranVL.SetPrecision(Precision());//gka - myTranVL.SetMaxTol(MaxTol()); - myTranVL.Init(VL, aTool, NMTool); - if (myTranVL.IsDone()) { - B.Add(F, myTranVL.Value()); - } - else { - TP->AddWarning(VL, " a VertexLoop not mapped to TopoDS"); - } - } - // ---------------------- - // The Loop is a PolyLoop - // ---------------------- + if (GeomSurf->IsKind(STANDARD_TYPE(Geom_ToroidalSurface))) { + continue; + } + if (GeomSurf->IsKind(STANDARD_TYPE(Geom_Plane))) { + TP->AddWarning(VL, "VertexLoop on plane is ignored"); + continue; //smh : BUC60809 + } + myTranVL.SetPrecision(Precision());//gka + myTranVL.SetMaxTol(MaxTol()); + myTranVL.Init(VL, aTool, NMTool); + if (myTranVL.IsDone()) { + B.Add(F, myTranVL.Value()); + } + else { + TP->AddWarning(VL, " a VertexLoop not mapped to TopoDS"); + } + } + + // ---------------------- + // The Loop is a PolyLoop + // ---------------------- else if (Loop->IsKind(STANDARD_TYPE(StepShape_PolyLoop))) { //:S4136 STF.Closed() = Standard_False; @@ -302,54 +310,54 @@ void StepToTopoDS_TranslateFace::Init // The Loop is an EdgeLoop // ----------------------- - else if (Loop->IsKind(STANDARD_TYPE(StepShape_EdgeLoop))) { - //:S4136 if (STF.Closed()) { - //:S4136 Handle(StepShape_EdgeLoop) EL = - //:S4136 Handle(StepShape_EdgeLoop)::DownCast(FaceBound->Bound()); - //:S4136 if (EL->NbEdgeList() != 1) STF.Closed() = Standard_False; - //:S4136 } + else if (Loop->IsKind(STANDARD_TYPE(StepShape_EdgeLoop))) { + //:S4136 if (STF.Closed()) { + //:S4136 Handle(StepShape_EdgeLoop) EL = + //:S4136 Handle(StepShape_EdgeLoop)::DownCast(FaceBound->Bound()); + //:S4136 if (EL->NbEdgeList() != 1) STF.Closed() = Standard_False; + //:S4136 } - TopoDS_Wire W; - myTranEdgeLoop.SetPrecision(Precision()); //gka - myTranEdgeLoop.SetMaxTol(MaxTol()); - myTranEdgeLoop.Init(FaceBound, F, GeomSurf, StepSurf, sameSense, aTool, NMTool); + TopoDS_Wire W; + myTranEdgeLoop.SetPrecision(Precision()); //gka + myTranEdgeLoop.SetMaxTol(MaxTol()); + myTranEdgeLoop.Init(FaceBound, F, GeomSurf, StepSurf, sameSense, aTool, NMTool); - if (myTranEdgeLoop.IsDone()) { - W = TopoDS::Wire(myTranEdgeLoop.Value()); + if (myTranEdgeLoop.IsDone()) { + W = TopoDS::Wire(myTranEdgeLoop.Value()); - // STEP Face_Surface orientation : - // if the topological orientation is opposite to the geometric - // orientation of the surface => the underlying topological - // orientation are not implicitly reversed - // this is the case in CAS.CADE => If the face_surface is reversed, - // the wire orientation has to be explictly reversed - if (FaceBound->Orientation()) { - // *DTH* if (sameSense || GeomSurf->IsKind(STANDARD_TYPE(Geom_Plane))) - W.Orientation(sameSense ? TopAbs_FORWARD : TopAbs_REVERSED); - } - else { - // *DTH* if (sameSense || GeomSurf->IsKind(STANDARD_TYPE(Geom_Plane))) - W.Orientation(sameSense ? TopAbs_REVERSED : TopAbs_FORWARD); - } - // ----------------------------- - // The Wire is added to the Face - // ----------------------------- - - B.Add(F, W); + // STEP Face_Surface orientation : + // if the topological orientation is opposite to the geometric + // orientation of the surface => the underlying topological + // orientation are not implicitly reversed + // this is the case in CAS.CADE => If the face_surface is reversed, + // the wire orientation has to be explictly reversed + if (FaceBound->Orientation()) { + // *DTH* if (sameSense || GeomSurf->IsKind(STANDARD_TYPE(Geom_Plane))) + W.Orientation(sameSense ? TopAbs_FORWARD : TopAbs_REVERSED); } else { - // Il y a eu un probleme dans le mapping : On perd la Face - // (facon de parler ...) Pas de moyen aujourd hui de recuperer - // au moins toutes les geometries (Points, Courbes 3D, Surface) - TP->AddFail(Loop, " EdgeLoop not mapped to TopoDS"); - - // CKY JAN-97 : un Wire manque, eh bien on continue quand meme !! - // sauf si OuterBound : la c est quand meme pas bien normal ... - if (FaceBound->IsKind(STANDARD_TYPE(StepShape_FaceOuterBound))) { - TP->AddWarning(FS, "No Outer Bound : Face not done"); - } - continue; + // *DTH* if (sameSense || GeomSurf->IsKind(STANDARD_TYPE(Geom_Plane))) + W.Orientation(sameSense ? TopAbs_REVERSED : TopAbs_FORWARD); } + // ----------------------------- + // The Wire is added to the Face + // ----------------------------- + + B.Add(F, W); + } + else { + // Il y a eu un probleme dans le mapping : On perd la Face + // (facon de parler ...) Pas de moyen aujourd hui de recuperer + // au moins toutes les geometries (Points, Courbes 3D, Surface) + TP->AddFail(Loop, " EdgeLoop not mapped to TopoDS"); + + // CKY JAN-97 : un Wire manque, eh bien on continue quand meme !! + // sauf si OuterBound : la c est quand meme pas bien normal ... + if (FaceBound->IsKind(STANDARD_TYPE(StepShape_FaceOuterBound))) { + TP->AddWarning(FS, "No Outer Bound : Face not done"); + } + continue; + } } else { // Type not yet implemented or non sens diff --git a/tests/bugs/step/bug29564 b/tests/bugs/step/bug29564 new file mode 100644 index 0000000000..94f38decaa --- /dev/null +++ b/tests/bugs/step/bug29564 @@ -0,0 +1,15 @@ +puts "# =====================================================================" +puts "# 0029564: In the result of translation of one face lying on the sphere two separate faces were obtained" +puts "# =====================================================================" +puts "" + + +set filepath [locate_data_file bug29564.stp] +stepread $filepath a * +tpcompound result + +checkshape result +checkprops result -s 5831.82 +checknbshapes result -wire 78 -face 68 -shell 5 -solid 5 -compound 2 + +# checkview -display result -2d -path ${imagedir}/${test_image}.png diff --git a/tests/de/step_1/E6 b/tests/de/step_1/E6 index aba133da51..7cb558bba9 100755 --- a/tests/de/step_1/E6 +++ b/tests/de/step_1/E6 @@ -5,8 +5,8 @@ set ref_data { DATA : Faulties = 0 ( 54 ) Warnings = 0 ( 0 ) Summary = 0 ( 54 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 2 ( 51 ) Summary = 2 ( 51 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 8 ( 8 ) Shell = 10 ( 10 ) Face = 108 ( 108 ) -STATSHAPE : Solid = 8 ( 8 ) Shell = 10 ( 10 ) Face = 108 ( 108 ) FreeWire = 0 ( 0 ) +NBSHAPES : Solid = 8 ( 8 ) Shell = 8 ( 8 ) Face = 104 ( 104 ) +STATSHAPE : Solid = 8 ( 8 ) Shell = 8 ( 8 ) Face = 104 ( 104 ) FreeWire = 0 ( 0 ) TOLERANCE : MaxTol = 0.0007308806138 ( 0.002238556699 ) AvgTol = 1.588300578e-005 ( 3.376756081e-005 ) LABELS : N0Labels = 9 ( 9 ) N1Labels = 8 ( 8 ) N2Labels = 0 ( 0 ) TotalLabels = 17 ( 17 ) NameLabels = 17 ( 17 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 1 ( 1 ) Volume = 1 ( 1 ) Area = 1 ( 1 ) diff --git a/tests/de/step_2/A3 b/tests/de/step_2/A3 index c2038865d5..bf6afcb087 100755 --- a/tests/de/step_2/A3 +++ b/tests/de/step_2/A3 @@ -5,8 +5,8 @@ set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 1 ( 398 ) Summary = 1 ( 398 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 538 ( 538 ) -STATSHAPE : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 538 ( 538 ) FreeWire = 0 ( 0 ) +NBSHAPES : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 532 ( 532 ) +STATSHAPE : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 532 ( 532 ) FreeWire = 0 ( 0 ) TOLERANCE : MaxTol = 1.956021749e-005 ( 0.0003145873437 ) AvgTol = 8.898149576e-007 ( 7.870748276e-006 ) LABELS : N0Labels = 1 ( 1 ) N1Labels = 0 ( 0 ) N2Labels = 0 ( 0 ) TotalLabels = 1 ( 1 ) NameLabels = 1 ( 1 ) ColorLabels = 1 ( 1 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) diff --git a/tests/de/step_2/A5 b/tests/de/step_2/A5 index 99771835be..c89d6bcb6e 100755 --- a/tests/de/step_2/A5 +++ b/tests/de/step_2/A5 @@ -5,8 +5,8 @@ set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 4 ( 127 ) Summary = 4 ( 127 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 27 ( 27 ) Shell = 28 ( 28 ) Face = 479 ( 479 ) -STATSHAPE : Solid = 27 ( 27 ) Shell = 28 ( 28 ) Face = 479 ( 479 ) FreeWire = 0 ( 0 ) +NBSHAPES : Solid = 25 ( 25 ) Shell = 25 ( 25 ) Face = 476 ( 476 ) +STATSHAPE : Solid = 25 ( 25 ) Shell = 25 ( 25 ) Face = 476 ( 476 ) FreeWire = 0 ( 0 ) TOLERANCE : MaxTol = 8.47188394e-006 ( 1.437435657e-005 ) AvgTol = 5.284196224e-007 ( 2.390274944e-006 ) LABELS : N0Labels = 16 ( 16 ) N1Labels = 15 ( 15 ) N2Labels = 0 ( 0 ) TotalLabels = 31 ( 31 ) NameLabels = 31 ( 31 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) diff --git a/tests/de/step_2/D2 b/tests/de/step_2/D2 index f4811c3315..57c69ff184 100755 --- a/tests/de/step_2/D2 +++ b/tests/de/step_2/D2 @@ -5,8 +5,8 @@ set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 8 ( 82 ) Summary = 8 ( 82 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 18 ( 18 ) Shell = 18 ( 18 ) Face = 376 ( 376 ) -STATSHAPE : Solid = 18 ( 18 ) Shell = 18 ( 18 ) Face = 376 ( 376 ) FreeWire = 0 ( 0 ) +NBSHAPES : Solid = 18 ( 18 ) Shell = 18 ( 18 ) Face = 369 ( 369 ) +STATSHAPE : Solid = 18 ( 18 ) Shell = 18 ( 18 ) Face = 369 ( 369 ) FreeWire = 0 ( 0 ) TOLERANCE : MaxTol = 0.005929066011 ( 0.01678530642 ) AvgTol = 9.716756634e-005 ( 0.0001556337239 ) LABELS : N0Labels = 20 ( 20 ) N1Labels = 19 ( 19 ) N2Labels = 0 ( 0 ) TotalLabels = 39 ( 39 ) NameLabels = 39 ( 39 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 20 ( 20 ) Volume = 20 ( 20 ) Area = 20 ( 20 ) diff --git a/tests/de/step_3/A5 b/tests/de/step_3/A5 index 7c2494c95d..b2559ed5f5 100755 --- a/tests/de/step_3/A5 +++ b/tests/de/step_3/A5 @@ -5,10 +5,10 @@ set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 80 ) Summary = 0 ( 80 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 14 ( 545 ) Summary = 14 ( 545 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 98 ( 98 ) Shell = 98 ( 98 ) Face = 1506 ( 1506 ) -STATSHAPE : Solid = 272 ( 272 ) Shell = 272 ( 272 ) Face = 3216 ( 3216 ) FreeWire = 0 ( 0 ) +NBSHAPES : Solid = 98 ( 98 ) Shell = 98 ( 98 ) Face = 1504 ( 1504 ) +STATSHAPE : Solid = 272 ( 272 ) Shell = 272 ( 272 ) Face = 3214 ( 3214 ) FreeWire = 0 ( 0 ) TOLERANCE : MaxTol = 0.9320948364 ( 3.3196868 ) AvgTol = 0.0006692755906 ( 0.003731702354 ) -LABELS : N0Labels = 230 ( 230 ) N1Labels = 1909 ( 1909 ) N2Labels = 0 ( 0 ) TotalLabels = 2139 ( 2139 ) NameLabels = 633 ( 633 ) ColorLabels = 1604 ( 1604 ) LayerLabels = 0 ( 0 ) +LABELS : N0Labels = 230 ( 230 ) N1Labels = 1907 ( 1907 ) N2Labels = 0 ( 0 ) TotalLabels = 2137 ( 2137 ) NameLabels = 633 ( 633 ) ColorLabels = 1602 ( 1602 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 161 ( 161 ) Volume = 161 ( 161 ) Area = 161 ( 161 ) NCOLORS : NColors = 6 ( 6 ) COLORS : Colors = DARKSEAGREEN1 LAVENDER LIGHTGOLDENROD LIGHTSTEELBLUE1 LIGHTSTEELBLUE3 STEELBLUE3 ( DARKSEAGREEN1 LAVENDER LIGHTGOLDENROD LIGHTSTEELBLUE1 LIGHTSTEELBLUE3 STEELBLUE3 ) diff --git a/tests/de/step_3/A9 b/tests/de/step_3/A9 index 4e7d19d451..1887ba4382 100755 --- a/tests/de/step_3/A9 +++ b/tests/de/step_3/A9 @@ -5,8 +5,8 @@ set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 80 ) Summary = 0 ( 80 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 21 ( 559 ) Summary = 21 ( 559 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 98 ( 98 ) Shell = 98 ( 98 ) Face = 1506 ( 1506 ) -STATSHAPE : Solid = 272 ( 272 ) Shell = 272 ( 272 ) Face = 3216 ( 3216 ) FreeWire = 0 ( 0 ) +NBSHAPES : Solid = 98 ( 98 ) Shell = 98 ( 98 ) Face = 1504 ( 1504 ) +STATSHAPE : Solid = 272 ( 272 ) Shell = 272 ( 272 ) Face = 3214 ( 3214 ) FreeWire = 0 ( 0 ) TOLERANCE : MaxTol = 0.9320948364 ( 3.3196868 ) AvgTol = 0.0006686833198 ( 0.003731109924 ) LABELS : N0Labels = 230 ( 230 ) N1Labels = 403 ( 403 ) N2Labels = 0 ( 0 ) TotalLabels = 633 ( 633 ) NameLabels = 633 ( 633 ) ColorLabels = 98 ( 98 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 99 ( 99 ) Volume = 99 ( 99 ) Area = 99 ( 99 ) diff --git a/tests/de/step_3/D8 b/tests/de/step_3/D8 index 9a3d46793b..deba4e574b 100755 --- a/tests/de/step_3/D8 +++ b/tests/de/step_3/D8 @@ -5,10 +5,10 @@ set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 80 ) Summary = 0 ( 80 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 21 ( 559 ) Summary = 21 ( 559 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 98 ( 98 ) Shell = 98 ( 98 ) Face = 1506 ( 1506 ) -STATSHAPE : Solid = 272 ( 272 ) Shell = 272 ( 272 ) Face = 3216 ( 3216 ) FreeWire = 0 ( 0 ) +NBSHAPES : Solid = 98 ( 98 ) Shell = 98 ( 98 ) Face = 1504 ( 1504 ) +STATSHAPE : Solid = 272 ( 272 ) Shell = 272 ( 272 ) Face = 3214 ( 3214 ) FreeWire = 0 ( 0 ) TOLERANCE : MaxTol = 0.9320948364 ( 3.3196868 ) AvgTol = 0.0006670990393 ( 0.003722145099 ) -LABELS : N0Labels = 230 ( 230 ) N1Labels = 1909 ( 1909 ) N2Labels = 0 ( 0 ) TotalLabels = 2139 ( 2139 ) NameLabels = 633 ( 633 ) ColorLabels = 1506 ( 1506 ) LayerLabels = 0 ( 0 ) +LABELS : N0Labels = 230 ( 230 ) N1Labels = 1907 ( 1907 ) N2Labels = 0 ( 0 ) TotalLabels = 2137 ( 2137 ) NameLabels = 633 ( 633 ) ColorLabels = 1504 ( 1504 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 98 ( 98 ) Volume = 98 ( 98 ) Area = 98 ( 98 ) NCOLORS : NColors = 6 ( 6 ) COLORS : Colors = DARKSEAGREEN1 LAVENDER LIGHTGOLDENROD LIGHTSTEELBLUE1 LIGHTSTEELBLUE3 STEELBLUE3 ( DARKSEAGREEN1 LAVENDER LIGHTGOLDENROD LIGHTSTEELBLUE1 LIGHTSTEELBLUE3 STEELBLUE3 )