diff --git a/src/Geom2dGcc/Geom2dGcc_Circ2d2TanRad.cxx b/src/Geom2dGcc/Geom2dGcc_Circ2d2TanRad.cxx index f7e0cc9211..8bdfc60a26 100644 --- a/src/Geom2dGcc/Geom2dGcc_Circ2d2TanRad.cxx +++ b/src/Geom2dGcc/Geom2dGcc_Circ2d2TanRad.cxx @@ -30,6 +30,7 @@ #include #include +static const Standard_Integer aNbSolMAX = 16; // circulaire tangent a deux cercles et de rayon donne //==================================================== @@ -50,17 +51,17 @@ Geom2dGcc_Circ2d2TanRad:: const Geom2dGcc_QualifiedCurve& Qualified2 , const Standard_Real Radius , const Standard_Real Tolerance ): - cirsol(1,16) , - qualifier1(1,16), - qualifier2(1,16), - TheSame1(1,16) , - TheSame2(1,16) , - pnttg1sol(1,16), - pnttg2sol(1,16), - par1sol(1,16) , - par2sol(1,16) , - pararg1(1,16) , - pararg2(1,16) + cirsol(1,aNbSolMAX) , + qualifier1(1,aNbSolMAX), + qualifier2(1,aNbSolMAX), + TheSame1(1,aNbSolMAX) , + TheSame2(1,aNbSolMAX) , + pnttg1sol(1,aNbSolMAX), + pnttg2sol(1,aNbSolMAX), + par1sol(1,aNbSolMAX) , + par2sol(1,aNbSolMAX) , + pararg1(1,aNbSolMAX) , + pararg2(1,aNbSolMAX) { if (Radius < 0.) { Standard_NegativeValue::Raise(); } else { diff --git a/src/Geom2dGcc/Geom2dGcc_Circ2d2TanRadGeo.cxx b/src/Geom2dGcc/Geom2dGcc_Circ2d2TanRadGeo.cxx index dd5b3bc2d1..fd5167de6d 100644 --- a/src/Geom2dGcc/Geom2dGcc_Circ2d2TanRadGeo.cxx +++ b/src/Geom2dGcc/Geom2dGcc_Circ2d2TanRadGeo.cxx @@ -32,6 +32,8 @@ #include #include +static const Standard_Integer aNbSolMAX = 16; + // circulaire tant a une courbe et une droite ,de rayon donne //============================================================== @@ -56,17 +58,17 @@ Geom2dGcc_Circ2d2TanRadGeo (const GccEnt_QualifiedLin& Qualified1, // initialisation des champs. + //======================================================================== -cirsol(1,16) , -qualifier1(1,16), -qualifier2(1,16), -TheSame1(1,16) , -TheSame2(1,16) , -pnttg1sol(1,16), -pnttg2sol(1,16), -par1sol(1,16) , -par2sol(1,16) , -pararg1(1,16) , -pararg2(1,16) +cirsol(1,aNbSolMAX) , +qualifier1(1,aNbSolMAX), +qualifier2(1,aNbSolMAX), +TheSame1(1,aNbSolMAX) , +TheSame2(1,aNbSolMAX) , +pnttg1sol(1,aNbSolMAX), +pnttg2sol(1,aNbSolMAX), +par1sol(1,aNbSolMAX) , +par2sol(1,aNbSolMAX) , +pararg1(1,aNbSolMAX) , +pararg2(1,aNbSolMAX) { //======================================================================== @@ -244,17 +246,17 @@ Geom2dGcc_Circ2d2TanRadGeo (const GccEnt_QualifiedCirc& Qualified1, // initialisation des champs. + //======================================================================== -cirsol(1,16) , -qualifier1(1,16), -qualifier2(1,16), -TheSame1(1,16) , -TheSame2(1,16) , -pnttg1sol(1,16), -pnttg2sol(1,16), -par1sol(1,16) , -par2sol(1,16) , -pararg1(1,16) , -pararg2(1,16) +cirsol(1,aNbSolMAX) , +qualifier1(1,aNbSolMAX), +qualifier2(1,aNbSolMAX), +TheSame1(1,aNbSolMAX) , +TheSame2(1,aNbSolMAX) , +pnttg1sol(1,aNbSolMAX), +pnttg2sol(1,aNbSolMAX), +par1sol(1,aNbSolMAX) , +par2sol(1,aNbSolMAX) , +pararg1(1,aNbSolMAX) , +pararg2(1,aNbSolMAX) { //======================================================================== @@ -437,17 +439,17 @@ Geom2dGcc_Circ2d2TanRadGeo (const Geom2dGcc_QCurve& Qualified1, // initialisation des champs. + //======================================================================== -cirsol(1,16) , -qualifier1(1,16), -qualifier2(1,16), -TheSame1(1,16) , -TheSame2(1,16) , -pnttg1sol(1,16), -pnttg2sol(1,16), -par1sol(1,16) , -par2sol(1,16) , -pararg1(1,16) , -pararg2(1,16) +cirsol(1,aNbSolMAX) , +qualifier1(1,aNbSolMAX), +qualifier2(1,aNbSolMAX), +TheSame1(1,aNbSolMAX) , +TheSame2(1,aNbSolMAX) , +pnttg1sol(1,aNbSolMAX), +pnttg2sol(1,aNbSolMAX), +par1sol(1,aNbSolMAX) , +par2sol(1,aNbSolMAX) , +pararg1(1,aNbSolMAX) , +pararg2(1,aNbSolMAX) { //======================================================================== @@ -528,198 +530,171 @@ pararg2(1,16) } } +//======================================================================= +//function : PrecRoot +//purpose : In case, when curves has tangent zones, intersection point +// found may be precised. This function uses precision algorithm +// of Extrema Curve-Curve method (dot product between every +// tangent vector and vector between points in two curves must +// be equal to zero). +//======================================================================= static void PrecRoot(const Adaptor3d_OffsetCurve& theC1, const Adaptor3d_OffsetCurve& theC2, const Standard_Real theU0, const Standard_Real theV0, - const Standard_Real theUmin, - const Standard_Real theUmax, - const Standard_Real theVmin, - const Standard_Real theVmax, Standard_Real& theUfinal, Standard_Real& theVfinal) { - const Standard_Real aInitStepU = (theUmax - theUmin)/2.0, - aInitStepV = (theVmax - theVmin)/2.0; +/* +It is necessary for precision to solve the system - Standard_Real aStepU = aInitStepU, aStepV = aInitStepV; + \left\{\begin{matrix} + (x_{1}(u)-x_{2}(v))*{x_{1}(u)}'+(y_{1}(u)-y_{2}(v))*{y_{1}(u)}'=0\\ + (x_{1}(u)-x_{2}(v))*{x_{2}(v)}'+(y_{1}(u)-y_{2}(v))*{y_{2}(v)}'=0 + \end{matrix}\right. - const Standard_Real aTol = Precision::PConfusion() * Precision::PConfusion(); - const Standard_Integer aNbIterMax = 100; +Precision of any 2*2-system (two equation and two variables) - gp_Pnt2d aP1, aP2; - gp_Vec2d aD1, aD2; + \left\{\begin{matrix} + S_{1}(u,v)=0\\ + S_{2}(u,v)=0 + \end{matrix}\right. - Geom2dGcc_CurveToolGeo::D1(theC1, theU0, aP1, aD1); - Geom2dGcc_CurveToolGeo::D1(theC2, theV0, aP2, aD2); +by Newton method can be made as follows: - gp_Vec2d vP12(aP1.XY() - aP2.XY()); + u=u_{0}-\left (\frac{\frac{\partial S_{2}}{\partial v}*S_{1}- + \frac{\partial S_{1}}{\partial v}*S_{2}} + {\frac{\partial S_{1}}{\partial u}* + \frac{\partial S_{2}}{\partial v}- + \frac{\partial S_{1}}{\partial v}* + \frac{\partial S_{2}}{\partial u}} \right )_{u_{0},v_{0}}\\ + v=v_{0}-\left (\frac{\frac{\partial S_{1}}{\partial u}*S_{2}- + \frac{\partial S_{2}}{\partial u}*S_{1}} + {\frac{\partial S_{1}}{\partial u}* + \frac{\partial S_{2}}{\partial v}- + \frac{\partial S_{1}}{\partial v}* + \frac{\partial S_{2}}{\partial u}} \right )_{u_{0},v_{0}} + \end{matrix}\right. + +where u_{0} and v_{0} are initial values or values computed on previous iteration. +*/ - Standard_Real aU = theU0, aV = theV0; theUfinal = theU0; theVfinal = theV0; - Standard_Real aSQDistPrev = aP1.SquareDistance(aP2); + const Standard_Integer aNbIterMax = 100; - Standard_Integer aNbIter = 1; + Standard_Real aU = theU0, aV = theV0; + gp_Pnt2d aPu, aPv; + gp_Vec2d aD1u, aD1v, aD2u, aD2v; + + Standard_Integer aNbIter = 0; + + Standard_Real aStepU = 0.0, aStepV = 0.0; + + Standard_Real aSQDistPrev = RealFirst(); + + Geom2dGcc_CurveToolGeo::D2(theC1, aU, aPu, aD1u, aD2u); + Geom2dGcc_CurveToolGeo::D2(theC2, aV, aPv, aD1v, aD2v); + + const Standard_Real aCrProd = Abs(aD1u.Crossed(aD1v)); + if(aCrProd*aCrProd > 1.0e-6* + aD1u.SquareMagnitude()*aD1v.SquareMagnitude()) + { + //Curves are not tangent. Therefore, we consider that + //2D-intersection algorithm have found good point which + //did not need in more precision. + return; + } do { - Standard_Real aDetH = aD1.Y()*aD2.X() - aD1.X()*aD2.Y(); - if(aDetH == 0.0) + aNbIter++; + + gp_Vec2d aVuv(aPv, aPu); + + Standard_Real aSQDist = aVuv.SquareMagnitude(); + if(IsEqual(aSQDist, 0.0)) break; - aU += aStepU*(aD2.Y() * vP12.X() - aD2.X()*vP12.Y())/aDetH; - aV += aStepV*(aD1.Y() * vP12.X() - aD1.X()*vP12.Y())/aDetH; - - if(Abs(aU - theUmin) > 1000.0) - //method diverges - return; - - if(Abs(aU - theUmax) > 1000.0) - //method diverges - return; - - if(Abs(aV - theVmin) > 1000.0) - //method diverges - return; - - if(Abs(aV - theVmax) > 1000.0) - //method diverges - return; - - Geom2dGcc_CurveToolGeo::D1(theC1, aU, aP1, aD1); - Geom2dGcc_CurveToolGeo::D1(theC2, aV, aP2, aD2); - const Standard_Real aSQDist = aP1.SquareDistance(aP2); - - if(Precision::IsInfinite(aSQDist)) - //method diverges - return; - - vP12.SetXY(aP1.XY() - aP2.XY()); - - if(aSQDist < aSQDistPrev) + if((aNbIter == 1) || (aSQDist < aSQDistPrev)) { aSQDistPrev = aSQDist; - aStepU = aInitStepU; - aStepV = aInitStepV; theUfinal = aU; theVfinal = aV; } + + + Standard_Real aG1 = aD1u.Magnitude(); + Standard_Real aG2 = aD1v.Magnitude(); + + if(IsEqual(aG1, 0.0) || IsEqual(aG2, 0.0)) + {//Here we do not processing singular cases. + break; + } + + Standard_Real aF1 = aVuv.Dot(aD1u); + Standard_Real aF2 = aVuv.Dot(aD1v); + + Standard_Real aFIu = aVuv.Dot(aD2u); + Standard_Real aFIv = aVuv.Dot(aD2v); + Standard_Real aPSIu = aD1u.Dot(aD2u); + Standard_Real aPSIv = aD1v.Dot(aD2v); + + Standard_Real aTheta = aD1u*aD1v; + + Standard_Real aS1 = aF1/aG1; + Standard_Real aS2 = aF2/aG2; + + Standard_Real aDS1u = (aG1*aG1+aFIu)/aG1 - (aS1*aPSIu/(aG1*aG1)); + Standard_Real aDS1v = -aTheta/aG1; + Standard_Real aDS2u = aTheta/aG2; + Standard_Real aDS2v = (aFIv-aG2*aG2)/aG2 - (aS2*aPSIv/(aG2*aG2)); + + Standard_Real aDet = aDS1u*aDS2v-aDS1v*aDS2u; + + if(IsEqual(aDet, 0.0)) + { + if(!IsEqual(aStepV, 0.0) && !IsEqual(aDS1u, 0.0)) + { + aV += aStepV; + aU = aU - (aDS1v*aStepV - aS1)/aDS1u; + } + else if(!IsEqual(aStepU, 0.0) && !IsEqual(aDS1v, 0.0)) + { + aU += aStepU; + aV = aV - (aDS1u*aStepU - aS1)/aDS1v; + } + else + { + break; + } + } else { - aStepU /= 2.0; - aStepV /= 2.0; + aStepU = -(aS1*aDS2v-aS2*aDS1v)/aDet; + aStepV = -(aS2*aDS1u-aS1*aDS2u)/aDet; + + if(Abs(aStepU) < Epsilon(Abs(aU))) + { + if(Abs(aStepV) < Epsilon(Abs(aV))) + { + break; + } + } + + aU += aStepU; + aV += aStepV; } + + Geom2dGcc_CurveToolGeo::D2(theC1, aU, aPu, aD1u, aD2u); + Geom2dGcc_CurveToolGeo::D2(theC2, aV, aPv, aD1v, aD2v); } - while((aNbIter++ < aNbIterMax) && ((aStepU > aTol) || (aStepV > aTol))); - - Standard_Boolean isInBound = Standard_True; - if(theUfinal < theUmin) - { - aU = theUfinal; - aV = theVfinal; - - theUfinal = theUmin; - isInBound = Standard_False; - } - - if(theUfinal > theUmax) - { - aU = theUfinal; - aV = theVfinal; - - theUfinal = theUmax; - isInBound = Standard_False; - } - - if(!isInBound) - { - Geom2dGcc_CurveToolGeo::D1(theC1, aU, aP1, aD1); - Geom2dGcc_CurveToolGeo::D1(theC2, aV, aP2, aD2); - Standard_Real aV1 = (aD2.X() == 0.0) ? aV :((theUfinal - aU)*aD1.X() + aV*aD2.X() + (aP1.X() - aP2.X()))/aD2.X(); - Standard_Real aV2 = (aD2.Y() == 0.0) ? aV :((theUfinal - aU)*aD1.Y() + aV*aD2.Y() + (aP1.Y() - aP2.Y()))/aD2.Y(); - - if(aV1 < theVmin) - aV1 = theVmin; - - if(aV1 > theVmax) - aV1 = theVmax; - - if(aV2 < theVmin) - aV2 = theVmin; - - if(aV2 > theVmax) - aV2 = theVmax; - - aP1 = Geom2dGcc_CurveToolGeo::Value(theC1,theUfinal); - aP2 = Geom2dGcc_CurveToolGeo::Value(theC2,aV1); - - Standard_Real aSQ1 = aP1.SquareDistance(aP2); - - aP2 = Geom2dGcc_CurveToolGeo::Value(theC2,aV2); - Standard_Real aSQ2 = aP1.SquareDistance(aP2); - - if(aSQ1 < aSQ2) - theVfinal = aV1; - else - theVfinal = aV2; - - return; - } - - if(theVfinal < theVmin) - { - aU = theUfinal; - aV = theVfinal; - - theVfinal = theVmin; - isInBound = Standard_False; - } - - if(theVfinal > theVmax) - { - aU = theUfinal; - aV = theVfinal; - - theVfinal = theVmax; - isInBound = Standard_False; - } - - if(isInBound) - return; - - Geom2dGcc_CurveToolGeo::D1(theC1, aU, aP1, aD1); - Geom2dGcc_CurveToolGeo::D1(theC2, aV, aP2, aD2); - Standard_Real aU1 = (aD1.X() == 0.0) ? aU :((theVfinal - aV)*aD2.X() + aU*aD1.X() + (aP2.X() - aP1.X()))/aD1.X(); - Standard_Real aU2 = (aD1.Y() == 0.0) ? aU :((theVfinal - aV)*aD2.Y() + aU*aD1.Y() + (aP2.Y() - aP1.Y()))/aD1.Y(); - - if(aU1 < theUmin) - aU1 = theUmin; - - if(aU1 > theUmax) - aU1 = theUmax; - - if(aU2 < theUmin) - aU2 = theUmin; - - if(aU2 > theUmax) - aU2 = theUmax; - - aP2 = Geom2dGcc_CurveToolGeo::Value(theC2,theVfinal); - aP1 = Geom2dGcc_CurveToolGeo::Value(theC1,aU1); - - Standard_Real aSQ1 = aP1.SquareDistance(aP2); - - aP1 = Geom2dGcc_CurveToolGeo::Value(theC1,aU2); - Standard_Real aSQ2 = aP1.SquareDistance(aP2); - - if(aSQ1 < aSQ2) - theUfinal = aU1; - else - theUfinal = aU2; + while(aNbIter <= aNbIterMax); } + + // circulaire tant a deux courbes ,de rayon donne //================================================== @@ -733,7 +708,6 @@ static void PrecRoot(const Adaptor3d_OffsetCurve& theC1, // On cree la solution qu on ajoute aux solutions deja trouvees. + // On remplit les champs. + //======================================================================== - Geom2dGcc_Circ2d2TanRadGeo:: Geom2dGcc_Circ2d2TanRadGeo (const Geom2dGcc_QCurve& Qualified1, const Geom2dGcc_QCurve& Qualified2, @@ -744,17 +718,17 @@ Geom2dGcc_Circ2d2TanRadGeo (const Geom2dGcc_QCurve& Qualified1, // initialisation des champs. + //======================================================================== -cirsol(1,16) , -qualifier1(1,16), -qualifier2(1,16), -TheSame1(1,16) , -TheSame2(1,16) , -pnttg1sol(1,16), -pnttg2sol(1,16), -par1sol(1,16) , -par2sol(1,16) , -pararg1(1,16) , -pararg2(1,16) +cirsol(1,aNbSolMAX) , +qualifier1(1,aNbSolMAX), +qualifier2(1,aNbSolMAX), +TheSame1(1,aNbSolMAX) , +TheSame2(1,aNbSolMAX) , +pnttg1sol(1,aNbSolMAX), +pnttg2sol(1,aNbSolMAX), +par1sol(1,aNbSolMAX) , +par2sol(1,aNbSolMAX) , +pararg1(1,aNbSolMAX) , +pararg2(1,aNbSolMAX) { //======================================================================== @@ -881,6 +855,8 @@ pararg2(1,16) Intp.Perform(C1,C2,Tol,Tol); if (Intp.IsDone()) { if (!Intp.IsEmpty()) { + const Standard_Real aSQApproxTol = Precision::Approximation() * + Precision::Approximation(); for (Standard_Integer i = 1 ; i <= Intp.NbPoints() ; i++) { Standard_Real aU0 = Intp.Point(i).ParamOnFirst(); @@ -897,21 +873,16 @@ pararg2(1,16) gp_Pnt2d P21 = Geom2dGcc_CurveToolGeo::Value(C1,aU2); gp_Pnt2d P22 = Geom2dGcc_CurveToolGeo::Value(C2,aV2); - Standard_Real aDist1112 = P11.Distance(P12); - Standard_Real aDist1122 = P11.Distance(P22); + Standard_Real aDist1112 = P11.SquareDistance(P12); + Standard_Real aDist1122 = P11.SquareDistance(P22); - Standard_Real aDist1221 = P12.Distance(P21); - Standard_Real aDist2122 = P21.Distance(P22); + Standard_Real aDist1221 = P12.SquareDistance(P21); + Standard_Real aDist2122 = P21.SquareDistance(P22); - if( Min(aDist1112, aDist1122) <= Precision::Approximation() && - Min(aDist1221, aDist2122) <= Precision::Approximation()) + if( (Min(aDist1112, aDist1122) <= aSQApproxTol) && + (Min(aDist1221, aDist2122) <= aSQApproxTol)) { - PrecRoot(C1, C2, aU0, aV0, - Max(Geom2dGcc_CurveToolGeo::FirstParameter(C1), aU0 - 10.0), - Min(Geom2dGcc_CurveToolGeo::LastParameter(C1), aU0 + 10.0), - Max(Geom2dGcc_CurveToolGeo::FirstParameter(C2), aV0 - 10.0), - Min(Geom2dGcc_CurveToolGeo::LastParameter(C2), aV0 + 10.0), - aU0, aV0); + PrecRoot(C1, C2, aU0, aV0, aU0, aV0); } NbrSol++; diff --git a/src/GeomliteTest/GeomliteTest_API2dCommands.cxx b/src/GeomliteTest/GeomliteTest_API2dCommands.cxx index dc21320e2b..e657e38408 100644 --- a/src/GeomliteTest/GeomliteTest_API2dCommands.cxx +++ b/src/GeomliteTest/GeomliteTest_API2dCommands.cxx @@ -41,6 +41,7 @@ #include #include #include +#include #include #ifdef WNT @@ -275,7 +276,6 @@ static Standard_Integer extrema(Draw_Interpretor& di, Standard_Integer n, const return 0; } - //======================================================================= //function : intersect //purpose : @@ -319,7 +319,10 @@ static Standard_Integer intersect(Draw_Interpretor& di, Standard_Integer n, cons for ( i = 1; i <= Intersector.NbPoints(); i++) { gp_Pnt2d P = Intersector.Point(i); + di<<"Intersection point "<NbPoints(); //-------------------------------------------------------------------- - //-- On ne rejette les points Head Head ... End End - //-- si ils figurent deja dans un bout de segment - //-- ( On ne peut pas tester les egalites sur les parametres) - //-- ( ces points n etant pas trouves a EpsX pres ) - //-- PosSegment = 1 si Head Head - //-- 2 si Head End - //-- 4 si End Head - //-- 8 si End End + //-- The points Head Head ... End End are not rejected if + //-- they are already present at the end of segment + //-- ( It is not possible to test the equities on the parameters) + //-- ( these points are not found at EpsX precision ) + //-- PosSegment = 1 if Head Head + //-- 2 if Head End + //-- 4 if End Head + //-- 8 if End End //-------------------------------------------------------------------- Standard_Integer PosSegment = 0; @@ -298,10 +298,10 @@ void IntCurve_IntPolyPolyGen::Perform( const TheCurve& C1 if(NbIter>3 || (NbIter>2 && nbsamples>100)) return; - nbsamples*=2; //--- On prend systematiquement 2 fois plus de points que - //-- sur une courbe normale. - //-- Les courbes auto-intersectantes donne souvent des - //-- polygones assez loin de la courbe a parametre ct. + nbsamples*=2; //--- We take systematically two times more points + //-- than on a normal curve. + //-- Auto-intersecting curves often produce + //-- polygons rather far from the curve with parameter ct. if(NbIter>0) { nbsamples=(3*(nbsamples*NbIter))/2; @@ -313,9 +313,9 @@ void IntCurve_IntPolyPolyGen::Perform( const TheCurve& C1 } //-- Poly1.Dump(); //---------------------------------------------------------------------- - //-- Si la deflection est inferieure a la Tolerance de Confusion - //-- Alors la deflection du polygone est fixee a TolConf - //-- (Detection des Zones de Tangence) + //-- If the deflection is less than the Tolerance of Confusion + //-- then the deflection of the polygon is set in TolConf + //-- (Detection of Tangency Zones) //---------------------------------------------------------------------- if(Poly1.DeflectionOverEstimation() < TolConf) { Poly1.SetDeflectionOverEstimation(TolConf); @@ -326,13 +326,13 @@ void IntCurve_IntPolyPolyGen::Perform( const TheCurve& C1 Standard_Real U,V; //---------------------------------------------------------------------- - //-- Traitement des SectionPoint + //-- Processing of SectionPoint //---------------------------------------------------------------------- Standard_Integer Nbsp = InterPP.NbSectionPoints(); if(Nbsp>=1) { //-- --------------------------------------------------------------------- - //-- tri tri tri tri tri tri tri tri tri tri tri tri tri tri + //-- filtering, filtering, filtering ... //-- Standard_Integer* TriIndex = new Standard_Integer [Nbsp+1]; Standard_Integer* PtrSegIndex1 = new Standard_Integer [Nbsp+1]; @@ -401,7 +401,7 @@ void IntCurve_IntPolyPolyGen::Perform( const TheCurve& C1 EIP.Perform(Poly1,Poly1,SegIndex1,SegIndex2,ParamOn1,ParamOn2); if(EIP.NbRoots()==0) { - //-- On supprime tous les segments voisins + //-- All neighbor segments are removed for(Standard_Integer k=sp+1;k<=Nbsp;k++) { Standard_Integer kk=TriIndex[k]; // --- avoid negative indicies as well as in outer done @@ -415,7 +415,7 @@ void IntCurve_IntPolyPolyGen::Perform( const TheCurve& C1 } else if(EIP.NbRoots()>=1) { //-------------------------------------------------------------------- - //-- On verifie que le point trouve est bien une racine + //-- It is checked if the found point is a root //-------------------------------------------------------------------- EIP.Roots(U,V); @@ -426,15 +426,15 @@ void IntCurve_IntPolyPolyGen::Perform( const TheCurve& C1 if(Abs(U-V)<=EpsX1) { //----------------------------------------- - //-- Solution non valide - //-- Les maths ont du converger vers une - //-- solution triviale ( point U = V ) + //-- Solution not valid + //-- The maths should have converged in a + //-- trivial solution ( point U = V ) //----------------------------------------- Dist = TolConf+1.0; } //----------------------------------------------------------------- - //-- On verifie que le point (u,v) n existe pas deja + //-- It is checked if the point (u,v) already exists //-- done = Standard_True; Standard_Integer nbp=NbPoints(); @@ -448,12 +448,12 @@ void IntCurve_IntPolyPolyGen::Perform( const TheCurve& C1 } } - if(Dist <= TolConf) { //-- Ou le point est deja present + if(Dist <= TolConf) { //-- Or the point is already present IntRes2d_Position Pos1 = IntRes2d_Middle; IntRes2d_Position Pos2 = IntRes2d_Middle; IntRes2d_Transition Trans1,Trans2; //----------------------------------------------------------------- - //-- Calcul des Positions des Points sur la courbe + //-- Calculate Positions of Points on the curve //-- if(P1.Distance(DomainOnCurve1.FirstPoint())<=DomainOnCurve1.FirstTolerance()) Pos1 = IntRes2d_Head; @@ -599,13 +599,13 @@ Standard_Boolean HeadOrEndPoint( const IntRes2d_Domain& D1 } //-------------------------------------------------------------------- - //-- On Teste si un point de bout de segment a deja ces trnasitions - //-- Si Oui, on ne cree pas de nouveau point + //-- It is tested if a point at the end of segment already has its transitions + //-- If Yes, the new point is not created //-- - //-- PosSegment = 1 si Head Head - //-- 2 si Head End - //-- 4 si End Head - //-- 8 si End End + //-- PosSegment = 1 if Head Head + //-- 2 if Head End + //-- 4 if End Head + //-- 8 if End End //-------------------------------------------------------------------- if(Pos1 == IntRes2d_Head) { if((Pos2 == IntRes2d_Head)&&(PosSegment & 1)) return(Standard_False); @@ -675,35 +675,30 @@ void IntCurve_IntPolyPolyGen::Perform( const TheCurve& C1 ///////////////////////////////////////////// - NCollection_Handle aPoly1 ,aPoly2; - if(nbsamplesOnC2 > nbsamplesOnC1) { - aPoly1 = new IntCurve_ThePolygon2d(C1,nbsamplesOnC1,D1,Tol); - if(aPoly1->DeflectionOverEstimation() < TolConf) { - aPoly2 = new IntCurve_ThePolygon2d(C2,nbsamplesOnC2,D2,Tol); - } - else { - aPoly2 = new IntCurve_ThePolygon2d(C2,nbsamplesOnC2,D2,Tol,aPoly1->Bounding()); - aPoly1->SetDeflectionOverEstimation( aPoly2->DeflectionOverEstimation() - + aPoly1->DeflectionOverEstimation()); - aPoly1->ComputeWithBox(C1,aPoly2->Bounding()); - } - } - else { - aPoly2 = new IntCurve_ThePolygon2d(C2,nbsamplesOnC2,D2,Tol); - if(aPoly2->DeflectionOverEstimation() < TolConf) { - aPoly1 = new IntCurve_ThePolygon2d(C1,nbsamplesOnC1,D1,Tol); - } - else { - aPoly1 = new IntCurve_ThePolygon2d(C1,nbsamplesOnC1,D1,Tol,aPoly2->Bounding()); - aPoly2->SetDeflectionOverEstimation( aPoly2->DeflectionOverEstimation() - + aPoly1->DeflectionOverEstimation()); - aPoly2->ComputeWithBox(C2,aPoly1->Bounding()); - } + NCollection_Handle + aPoly1 = new IntCurve_ThePolygon2d(C1,nbsamplesOnC1,D1,Tol), + aPoly2 = new IntCurve_ThePolygon2d(C2,nbsamplesOnC2,D2,Tol); + + if( (aPoly1->DeflectionOverEstimation() > TolConf) || + (aPoly2->DeflectionOverEstimation() > TolConf)) + { + const Standard_Real aDeflectionSum = + Max(aPoly1->DeflectionOverEstimation(), TolConf) + + Max(aPoly2->DeflectionOverEstimation(), TolConf); + + aPoly2->SetDeflectionOverEstimation(aDeflectionSum); + aPoly1->SetDeflectionOverEstimation(aDeflectionSum); + + const Bnd_Box2d aB1 = aPoly1->Bounding(), aB2 = aPoly2->Bounding(); + + aPoly1->ComputeWithBox(C1, aB2); + aPoly2->ComputeWithBox(C2, aB1); } + //---------------------------------------------------------------------- - //-- Si la deflection est inferieure a la Tolerance de Confusion - //-- Alors la deflection du polygone est fixee a TolConf - //-- (Detection des Zones de Tangence) + //-- if the deflection less then the Tolerance of Confusion + //-- Then the deflection of the polygon is set in TolConf + //-- (Detection of Tangency Zones) //---------------------------------------------------------------------- if(aPoly1->DeflectionOverEstimation() < TolConf) { @@ -712,12 +707,12 @@ void IntCurve_IntPolyPolyGen::Perform( const TheCurve& C1 if(aPoly2->DeflectionOverEstimation() < TolConf) { aPoly2->SetDeflectionOverEstimation(TolConf); } - //for case when a few polygon points were replaced by line - //if exact solution was not found - //then search of precise solution will be repeat - //for polygon conatins all initial points - //secondary search will be performed only for case when initial points - //were dropped + // for case when a few polygon points were replaced by line + // if exact solution was not found + // then search of precise solution will be repeated + // for polygon contains all initial points + // secondary search will be performed only for case when initial points + // were dropped Standard_Boolean isFullRepresentation = ( aPoly1->NbSegments() == nbsamplesOnC1 && aPoly2->NbSegments() == nbsamplesOnC2 ); @@ -769,7 +764,7 @@ Standard_Boolean IntCurve_IntPolyPolyGen::findIntersect( Standard_Boolean AnErrorOccurred = Standard_False; done = Standard_True; // To prevent exception in nbp=NbPoints(); //---------------------------------------------------------------------- - //-- Traitement des SectionPoint + //-- Processing of SectionPoint //---------------------------------------------------------------------- Standard_Integer Nbsp = InterPP.NbSectionPoints(); for(Standard_Integer sp=1; sp <= Nbsp; sp++) { @@ -792,7 +787,7 @@ Standard_Boolean IntCurve_IntPolyPolyGen::findIntersect( } //-------------------------------------------------------------------- - //-- On verifie que le point trouve est bien une racine + //-- It is checked if the found point is really a root //-------------------------------------------------------------------- EIP.Roots(U,V); @@ -819,7 +814,7 @@ Standard_Boolean IntCurve_IntPolyPolyGen::findIntersect( Dist = P1.Distance(P2); } //----------------------------------------------------------------- - //-- On verifie que le point (u,v) n existe pas deja + //-- It is checked if the point (u,v) does not exist already //-- Standard_Integer nbp=NbPoints(); Standard_Real EpsX1 = 10.0*TheCurveTool::EpsX(C1); @@ -833,12 +828,12 @@ Standard_Boolean IntCurve_IntPolyPolyGen::findIntersect( } } - if(Dist <= TolConf) { //-- Ou le point est deja present + if(Dist <= TolConf) { //-- Or the point is already present IntRes2d_Position Pos1 = IntRes2d_Middle; IntRes2d_Position Pos2 = IntRes2d_Middle; IntRes2d_Transition Trans1,Trans2; //----------------------------------------------------------------- - //-- Calcul des Positions des Points sur la courbe + //-- Calculate the Positions of Points on the curve //-- if(P1.Distance(DomainOnCurve1.FirstPoint())<=DomainOnCurve1.FirstTolerance()) Pos1 = IntRes2d_Head; @@ -850,7 +845,7 @@ Standard_Boolean IntCurve_IntPolyPolyGen::findIntersect( else if(P2.Distance(DomainOnCurve2.LastPoint())<=DomainOnCurve2.LastTolerance()) Pos2 = IntRes2d_End; //----------------------------------------------------------------- - //-- Calcul des Transitions (Voir IntImpParGen.cxx) + //-- Calculate the Transitions (see IntImpParGen.cxx) //-- if(IntImpParGen::DetermineTransition (Pos1, Tan1, Trans1, Pos2, Tan2, Trans2, TolConf) == Standard_False) { TheCurveTool::D2(C1,U,P1,Tan1,Norm1); @@ -863,13 +858,13 @@ Standard_Boolean IntCurve_IntPolyPolyGen::findIntersect( } //---------------------------------------------------------------------- - //-- Traitement des TangentZone + //-- Processing of TangentZone //---------------------------------------------------------------------- Standard_Integer Nbtz = InterPP.NbTangentZones(); for(Standard_Integer tz=1; tz <= Nbtz; tz++) { Standard_Integer NbPnts = InterPP.ZoneValue(tz).NumberOfPoints(); //==================================================================== - //== Recherche du premier et du dernier point dans la zone de tg. + //== Find the first and the last point in the tangency zone. //==================================================================== Standard_Real ParamSupOnCurve2,ParamInfOnCurve2; Standard_Real ParamSupOnCurve1,ParamInfOnCurve1; @@ -883,12 +878,11 @@ Standard_Boolean IntCurve_IntPolyPolyGen::findIntersect( for(Standard_Integer qq=1;qq<=NbPnts;qq++) { const Intf_SectionPoint& SPnt1 = InterPP.ZoneValue(tz).GetPoint(qq); //==================================================================== - //== On discretise sur les zones de tangence - //== Test d arret : - //== Compteur - //== Deflection < Tolerance - //== OU Echantillon < EpsX (normalement la premiere condition est - //== plus severe) + //== The zones of tangency are discretized + //== Test of stop : Check if + //== (Deflection < Tolerance) + //== Or (Sample < EpsX) (normally the first condition is + //== more strict) //==================================================================== // Standard_Real _PolyUInf,_PolyUSup,_PolyVInf,_PolyVSup; Standard_Real _PolyUInf,_PolyVInf; @@ -938,15 +932,15 @@ Standard_Boolean IntCurve_IntPolyPolyGen::findIntersect( ,ParamInfOnCurve2,TolConf ,TheCurveTool::Value(C2,ParamSupOnCurve2) ,ParamSupOnCurve2,TolConf); - //-- On ne delete pas thePoly1(2) , - //-- ils sont detruits enfin de fct. - //-- !! Pas de return intempestif !! + //-- thePoly1(2) are not deleted, + //-- finally they are destroyed. + //-- !! No untimely return !! Perform(C1,RecursD1,C2,RecursD2,Tol,TolConf,NbIter+1,DeltaU,DeltaV); } else { //----------------------------------------------------------------- - //-- Calcul des Positions des Points sur la courbe et des - //-- Transitions sur chaque borne du segment + //-- Calculate Positions of Points on the curve and + //-- Transitions on each limit of the segment IntRes2d_Position Pos1 = IntRes2d_Middle; IntRes2d_Position Pos2 = IntRes2d_Middle; diff --git a/src/IntCurve/IntCurve_Polygon2dGen.cdl b/src/IntCurve/IntCurve_Polygon2dGen.cdl index 4f820fa130..6b9f1a58c9 100644 --- a/src/IntCurve/IntCurve_Polygon2dGen.cdl +++ b/src/IntCurve/IntCurve_Polygon2dGen.cdl @@ -46,20 +46,6 @@ is returns Polygon2dGen from IntCurve; - Create (Curve : TheCurve; - NbPnt : Integer from Standard; - Domain : Domain from IntRes2d; - Tol : Real from Standard; - OtherBox : Box2d from Bnd) - - ---Purpose: Compute a polygon on the domain of the - -- curve. parameters of the begin and - -- end of the curve (and its polygon) are - -- adjusted to lie in the OtherBox. - - returns Polygon2dGen from IntCurve; - - ComputeWithBox(me : in out; Curve : TheCurve; OtherBox : Box2d from Bnd) diff --git a/src/IntCurve/IntCurve_Polygon2dGen.gxx b/src/IntCurve/IntCurve_Polygon2dGen.gxx index 403516bdca..8f20b5a002 100644 --- a/src/IntCurve/IntCurve_Polygon2dGen.gxx +++ b/src/IntCurve/IntCurve_Polygon2dGen.gxx @@ -26,19 +26,18 @@ #define MAJORATION_DEFLECTION 1.5 //====================================================================== -//== On echantillonne sur le Domain de la Curve NbPts Points -//== a parametres constants. +//== We take samples on the Domain of the Curve NbPts Points +//== with constant parameters. //== -//== On estime la fleche maximum en prenant la distance maxi entre la -//== droite Curve.Value(X(i))-->Curve.Value(X(i+1)) -//== et le point Curve.Value(X(i+1/2)) +//== We estimate the maximum deflection taking the max distance between the +//== right Curve.Value(X(i))-->Curve.Value(X(i+1)) +//== and the point Curve.Value(X(i+1/2)) //====================================================================== // Modified by Sergey KHROMOV - Mon Mar 24 12:02:43 2003 Begin IntCurve_Polygon2dGen::IntCurve_Polygon2dGen(const TheCurve& C, const Standard_Integer tNbPts, const IntRes2d_Domain& D, const Standard_Real Tol): -// const Standard_Real ): // Modified by Sergey KHROMOV - Mon Mar 24 12:02:45 2003 End ThePnts(1,(tNbPts<3)? 6 : (tNbPts+tNbPts)), TheParams(1,(tNbPts<3)? 6 : (tNbPts+tNbPts)), @@ -49,13 +48,13 @@ IntCurve_Polygon2dGen::IntCurve_Polygon2dGen(const TheCurve& C, TheMaxNbPoints = NbPts+NbPts; NbPntIn = NbPts; //----------------------------------------------------- - //--- Initialisation du Brise a d_Parametre constant + //--- Initialization of the breaking with d_Parametre constant //--- Binf = D.FirstParameter(); Bsup = D.LastParameter(); //----------------------------------------------------- - //-- IntRes2d Raise si HasFirst retourne False - //-- et Acces a First Parameter + //-- IntRes2d Raise if HasFirst returns False + //-- and accesses First Parameter //-- Standard_Real u=Binf; Standard_Real u1=Bsup; @@ -76,7 +75,7 @@ IntCurve_Polygon2dGen::IntCurve_Polygon2dGen(const TheCurve& C, //----------------------------------------------------- - //--- Calcul d un majorant de fleche approche + //--- Calculate a maximal deflection //--- // Modified by Sergey KHROMOV - Mon Mar 24 12:03:05 2003 Begin // TheDeflection = 0.000000001; @@ -112,109 +111,6 @@ IntCurve_Polygon2dGen::IntCurve_Polygon2dGen(const TheCurve& C, ClosedPolygon = Standard_False; } //====================================================================== -// Modified by Sergey KHROMOV - Mon Mar 24 12:03:26 2003 Begin -IntCurve_Polygon2dGen::IntCurve_Polygon2dGen(const TheCurve& C, - const Standard_Integer tNbPts, - const IntRes2d_Domain& D, - const Standard_Real Tol, - const Bnd_Box2d& BoxOtherPolygon): -// Modified by Sergey KHROMOV - Mon Mar 24 12:03:28 2003 End - ThePnts(1,(tNbPts<3)? 6 : (tNbPts+tNbPts)), - TheParams(1,(tNbPts<3)? 6 : (tNbPts+tNbPts)), - TheIndex(1,(tNbPts<3)? 6 : (tNbPts+tNbPts)) -{ - Standard_Integer NbPts = (tNbPts<3)? 3 : tNbPts; - TheMaxNbPoints = NbPts+NbPts; - NbPntIn = NbPts; - //----------------------------------------------------- - //--- Initialisation du Brise a d_Parametre constant - //--- - Binf = D.FirstParameter(); - Bsup = D.LastParameter(); - //----------------------------------------------------- - Standard_Real u=Binf; - Standard_Real u1=Bsup; - Standard_Real du=(u1-u)/(Standard_Real)(NbPts-1); - Standard_Integer i=1; - do { - gp_Pnt2d P=TheCurveTool::Value(C,u); - myBox.Add(P); - ThePnts.SetValue(i,P); - TheParams.SetValue(i,u); - TheIndex.SetValue(i,i); - u+=du; - i++; - } - while(i<=NbPts); - - - //----------------------------------------------------- - //--- Calcul d un majorant de fleche approche - //--- -// Modified by Sergey KHROMOV - Mon Mar 24 12:03:55 2003 Begin -// TheDeflection = 0.0000001; - TheDeflection = Min(0.0000001, Tol/100.); -// Modified by Sergey KHROMOV - Mon Mar 24 12:03:56 2003 End - i=1; - u=D.FirstParameter(); - u+=du * 0.5; - - do { - gp_Pnt2d Pm = TheCurveTool::Value(C,u); - const gp_Pnt2d& P1 = ThePnts.Value(i); - const gp_Pnt2d& P2 = ThePnts.Value(i+1); - - Standard_Real dx,dy; - dx=P1.X()-P2.X(); if(dx<0) dx=-dx; - dy=P1.Y()-P2.Y(); if(dy<0) dy=-dy; - if(dx+dy>1e-12) { - gp_Lin2d L(P1,gp_Dir2d(gp_Vec2d(P1,P2))); - Standard_Real t = L.Distance(Pm); - if(t>TheDeflection) { - TheDeflection = t; - } - } - u+=du; - i++; - } - while(i3;i++) { - Standard_Integer indexim1 = TheIndex.Value(i-1); - Standard_Integer indexi = TheIndex.Value(i); - Standard_Integer indexip1 = TheIndex.Value(i+1); - const gp_Pnt2d& Pim1 = ThePnts.Value(indexim1); - const gp_Pnt2d& Pi = ThePnts.Value(indexi); - const gp_Pnt2d& Pip1 = ThePnts.Value(indexip1); - - Standard_Real dx,dy; - dx=Pim1.X()-Pip1.X(); if(dx<0) dx=-dx; - dy=Pim1.Y()-Pip1.Y(); if(dy<0) dy=-dy; - Standard_Real t=0; - if(dx+dy>1e-12) { - gp_Lin2d L(Pim1,gp_Dir2d(gp_Vec2d(Pim1,Pip1))); - t = L.Distance(Pi); - } - if(t<=DeflectionMaj) { - //-- On supprime le point i - for(Standard_Integer j = i; j MaxIndexUsed) MaxIndexUsed = TheIndex.Value(i); + if(nbp) { + if(TheIndex.Value(nbp) != TheIndex.Value(i-1)) { + nbp++; + TheIndex.SetValue(nbp,TheIndex.Value(i-1)); + } + } + else { + nbp++; + TheIndex.SetValue(nbp,TheIndex.Value(i-1)); + } + nbp++; + TheIndex.SetValue(nbp,TheIndex.Value(i)); + if(TheIndex.Value(i) > MaxIndexUsed) MaxIndexUsed = TheIndex.Value(i); - Rprec = Ri; - } - else { - if((Ri & Rprec)==0) { - nbp++; - TheIndex.SetValue(nbp,TheIndex.Value(i)); - if(TheIndex.Value(i) > MaxIndexUsed) MaxIndexUsed = TheIndex.Value(i); + Rprec = Ri; + }//if((Ri & Rprec)==0) condition - Rprec = Ri; - } - } Rprec = Ri; } if(nbp==1) { @@ -418,7 +306,7 @@ void IntCurve_Polygon2dGen::Dump(void) const { if(debug) { Standard_Real bx0,bx1,by0,by1; - cout<<"\n ----- Dump de IntCurve_Polygon2dGen -----"< 1.0e-14 } { + puts "Faulty : Bad Center of the circle" set status 1 } if { ${XAxisX} != ${good_XAxisX} } { puts "Faulty : Bad XAxisX" - set status 1 + set status 2 } if { ${XAxisY} != ${good_XAxisY} } { puts "Faulty : Bad XAxisY" - set status 1 + set status 3 } if { ${YAxisX} != ${good_YAxisX} } { puts "Faulty : Bad YAxisX" - set status 1 + set status 4 } if { ${YAxisY} != ${good_YAxisY} } { puts "Faulty : Bad YAxisY" - set status 1 + set status 5 } if { ${Radius} != ${good_Radius} } { puts "Faulty : Bad Radius" - set status 1 + set status 6 } } else { puts "Faulty : Bad solution" - set status 1 + set status 7 } if { ${status} != 0 } { - puts "Faulty : solution is wrong" + puts "Faulty : solution is wrong. Status = ${status}" } else { puts "OK : solution is correct" } diff --git a/tests/bugs/modalg_6/bug25593 b/tests/bugs/modalg_6/bug25593 new file mode 100755 index 0000000000..40db85cd9d --- /dev/null +++ b/tests/bugs/modalg_6/bug25593 @@ -0,0 +1,60 @@ +puts "============" +puts "OCC25593" +puts "============" +puts "" +######################################################################### +# Number of intersection points for 2d curves depends on the order of arguments in command "2dintersect" +######################################################################### + +restore [locate_data_file bug25593_face1.brep] b +pcurve b + +puts "Intersection 1" +set info1 [2dintersect b_2 b_3 1.e-10] +regexp {Intersection point 1 : +([-0-9.+eE]+) +([-0-9.+eE]+)} $info1 full p1x p1y +regexp {parameter on the fist: +([-0-9.+eE]+) +parameter on the second: +([-0-9.+eE]+)} $info1 full par1f par1s + +puts "Intersection 2" +set info2 [2dintersect b_3 b_2 1.e-10] +regexp {Intersection point 1 : +([-0-9.+eE]+) +([-0-9.+eE]+)} $info2 full p2x p2y +regexp {parameter on the fist: +([-0-9.+eE]+) +parameter on the second: +([-0-9.+eE]+)} $info2 full par2f par2s + +set NbIP1 1 +if { [regexp "Intersection point 1" $info1] != 1 } { + puts "Error : Intersection 1 should have one point" + set NbIP1 0 +} +if { [regexp "Intersection point 2" $info1] == 1 } { + puts "Error : Intersection 1 should have one point" + set NbIP1 2 +} +puts "NbIP1=$NbIP1" + +set NbIP2 1 +if { [regexp "Intersection point 1" $info2] != 1 } { + puts "Error : Intersection 2 should have one point" + set NbIP2 0 +} +if { [regexp "Intersection point 2" $info2] == 1 } { + puts "Error : Intersection 2 should have one point" + set NbIP2 2 +} +puts "NbIP2=$NbIP2" + +if { $NbIP1 != 1 || $NbIP2 != 1 } { + puts "ERROR: Wrong solutions number" +} else { + puts "p1x=$p1x p1y=$p1y par1f=$par1f $par1s" + puts "p2x=$p2x p2y=$p2y par2f=$par2f $par2s" + set sqd [expr ($p1x-$p2x)*($p1x-$p2x)+($p1y-$p2y)*($p1y-$p2y)] + if { $sqd > 1.0e-14 } { + puts "ERROR: Intersection points are different" + } else { + puts "OK: Intersection points are equal" + } + if { (abs($par1f - $par2s) > 1.0e-9) || (abs($par1s - $par2f) > 1.0e-9) } { + puts "ERROR: Parameters on intersecting curves are not coincided" + } else { + puts "OK: Parameters on intersecting curves are coincided" + } +} diff --git a/tests/de/iges_1/G6 b/tests/de/iges_1/G6 index 25d2cd44cf..6b7df4860d 100644 --- a/tests/de/iges_1/G6 +++ b/tests/de/iges_1/G6 @@ -5,8 +5,8 @@ set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 1 ) Summary = 0 ( 1 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 0 ( 2 ) Summary = 0 ( 2 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 1 ( 1 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 409 ( 409 ) Summary = 5247 ( 5247 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 409 ( 409 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 2209 ( 2209 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 409 ( 409 ) Summary = 5244 ( 5244 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 409 ( 409 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 2207 ( 2207 ) TOLERANCE : MaxTol = 0.9579389807 ( 0.9579389801 ) AvgTol = 0.05177332439 ( 0.05180172526 ) LABELS : N0Labels = 409 ( 409 ) N1Labels = 0 ( 0 ) N2Labels = 0 ( 0 ) TotalLabels = 409 ( 409 ) NameLabels = 409 ( 409 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) diff --git a/tests/de/iges_1/J9 b/tests/de/iges_1/J9 index 8e5158b6a7..8d4b65b6e7 100644 --- a/tests/de/iges_1/J9 +++ b/tests/de/iges_1/J9 @@ -7,9 +7,9 @@ set filename CTS21655.igs set ref_data { DATA : Faulties = 0 ( 12 ) Warnings = 0 ( 1 ) Summary = 0 ( 13 ) TPSTAT : Faulties = 0 ( 28 ) Warnings = 116 ( 7 ) Summary = 116 ( 35 ) -CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 1 ) Solids = 0 ( 1 ) -NBSHAPES : Solid = 0 ( 18 ) Shell = 0 ( 18 ) Face = 1190 ( 1190 ) Summary = 15075 ( 7693 ) -STATSHAPE : Solid = 0 ( 18 ) Shell = 0 ( 18 ) Face = 1190 ( 1190 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 6284 ( 3134 ) +CHECKSHAPE : Wires = 0 ( 0 ) Faces = 1 ( 1 ) Shells = 0 ( 1 ) Solids = 0 ( 1 ) +NBSHAPES : Solid = 0 ( 19 ) Shell = 0 ( 19 ) Face = 1191 ( 1191 ) Summary = 15092 ( 7703 ) +STATSHAPE : Solid = 0 ( 19 ) Shell = 0 ( 19 ) Face = 1191 ( 1191 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 6291 ( 3138 ) TOLERANCE : MaxTol = 0.2496383637 ( 0.2496258832 ) AvgTol = 0.00219239232 ( 0.004111699336 ) LABELS : N0Labels = 27 ( 27 ) N1Labels = 0 ( 0 ) N2Labels = 0 ( 0 ) TotalLabels = 27 ( 27 ) NameLabels = 27 ( 27 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) diff --git a/tests/de/iges_1/K3 b/tests/de/iges_1/K3 index 713c5f89ec..2b070c2324 100644 --- a/tests/de/iges_1/K3 +++ b/tests/de/iges_1/K3 @@ -7,7 +7,7 @@ set filename FRA62468-1.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 299 ( 5226 ) Summary = 299 ( 5226 ) -CHECKSHAPE : Wires = 12 ( 18 ) Faces = 16 ( 16 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) +CHECKSHAPE : Wires = 12 ( 20 ) Faces = 16 ( 18 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 5163 ( 5163 ) Summary = 68418 ( 68418 ) STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 5163 ( 5163 ) FreeWire = 10 ( 10 ) FreeEdge = 283 ( 283 ) SharedEdge = 29071 ( 29075 ) TOLERANCE : MaxTol = 0.9874083984 ( 0.9875071265 ) AvgTol = 0.01114309412 ( 0.01115568387 ) diff --git a/tests/de/iges_1/L8 b/tests/de/iges_1/L8 index 64ab98d9cb..1427e70882 100755 --- a/tests/de/iges_1/L8 +++ b/tests/de/iges_1/L8 @@ -1,7 +1,7 @@ # !!!! 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: TOLERANCE : Faulty" + set LinuxDiff 3 set filename PRO14319.igs @@ -9,11 +9,11 @@ set filename PRO14319.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 6 ( 64 ) Summary = 6 ( 64 ) -CHECKSHAPE : Wires = 20 ( 6 ) Faces = 1 ( 1 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 61 ( 61 ) Summary = 7715 ( 7802 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 61 ( 61 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 3827 ( 3865 ) -TOLERANCE : MaxTol = 0.3140268251 ( 0.3140268243 ) AvgTol = 0.0009762560334 ( 0.000488212708 ) -LABELS : N0Labels = 61 ( 61 ) N1Labels = 0 ( 1050 ) N2Labels = 0 ( 0 ) TotalLabels = 61 ( 1111 ) NameLabels = 61 ( 61 ) ColorLabels = 61 ( 1111 ) LayerLabels = 0 ( 0 ) +CHECKSHAPE : Wires = 2 ( 8 ) Faces = 1 ( 1 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 61 ( 61 ) Summary = 7927 ( 7808 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 61 ( 61 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 3991 ( 3862 ) +TOLERANCE : MaxTol = 0.3749733839 ( 0.3140268243 ) AvgTol = 0.0048689347 ( 0.0004856161076 ) +LABELS : N0Labels = 61 ( 61 ) N1Labels = 0 ( 1047 ) N2Labels = 0 ( 0 ) TotalLabels = 61 ( 1108 ) NameLabels = 61 ( 61 ) ColorLabels = 61 ( 1108 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 3 ( 3 ) COLORS : Colors = CYAN1 GREEN WHITE ( CYAN1 GREEN WHITE ) diff --git a/tests/de/iges_1/M7 b/tests/de/iges_1/M7 index 8818cf2715..89e885e4b0 100644 --- a/tests/de/iges_1/M7 +++ b/tests/de/iges_1/M7 @@ -1,5 +1,4 @@ # !!!! This file is generated automatically, do not edit manually! See end script -puts "TODO CR23096 ALL: TPSTAT : Faulty" puts "TODO CR23096 ALL: LABELS : Faulty" diff --git a/tests/de/iges_1/N9 b/tests/de/iges_1/N9 index d338560a11..f5a6ad9109 100644 --- a/tests/de/iges_1/N9 +++ b/tests/de/iges_1/N9 @@ -8,10 +8,10 @@ set ref_data { DATA : Faulties = 0 ( 1 ) Warnings = 0 ( 0 ) Summary = 0 ( 1 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 3 ( 183 ) Summary = 3 ( 183 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 98 ( 98 ) Summary = 2688 ( 2687 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 98 ( 98 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 1243 ( 1243 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 97 ( 97 ) Summary = 2685 ( 2684 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 97 ( 97 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 1243 ( 1243 ) TOLERANCE : MaxTol = 0.009955692634 ( 0.009955692464 ) AvgTol = 0.0008509893784 ( 0.0008531522552 ) -LABELS : N0Labels = 97 ( 97 ) N1Labels = 2 ( 102 ) N2Labels = 0 ( 0 ) TotalLabels = 99 ( 199 ) NameLabels = 97 ( 97 ) ColorLabels = 98 ( 199 ) LayerLabels = 0 ( 0 ) +LABELS : N0Labels = 97 ( 97 ) N1Labels = 0 ( 91 ) N2Labels = 0 ( 0 ) TotalLabels = 97 ( 188 ) NameLabels = 97 ( 97 ) ColorLabels = 97 ( 188 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 1 ( 1 ) COLORS : Colors = BLACK ( BLACK ) diff --git a/tests/de/iges_1/P5 b/tests/de/iges_1/P5 index 46fa3b6167..998b97d2e5 100755 --- a/tests/de/iges_1/P5 +++ b/tests/de/iges_1/P5 @@ -8,8 +8,8 @@ set ref_data { DATA : Faulties = 0 ( 2 ) Warnings = 0 ( 0 ) Summary = 0 ( 2 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 144 ( 455 ) Summary = 144 ( 455 ) CHECKSHAPE : Wires = 6 ( 8 ) Faces = 6 ( 8 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 223 ( 223 ) Summary = 4688 ( 4576 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 223 ( 223 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 2156 ( 2092 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 223 ( 223 ) Summary = 4694 ( 4570 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 223 ( 223 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 2158 ( 2088 ) TOLERANCE : MaxTol = 0.991254355 ( 0.991254355 ) AvgTol = 0.0113074551 ( 0.01224298461 ) LABELS : N0Labels = 223 ( 223 ) N1Labels = 0 ( 256 ) N2Labels = 0 ( 0 ) TotalLabels = 223 ( 479 ) NameLabels = 223 ( 388 ) ColorLabels = 223 ( 479 ) LayerLabels = 223 ( 479 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) diff --git a/tests/de/iges_1/P8 b/tests/de/iges_1/P8 index dede62be96..ce568899c4 100644 --- a/tests/de/iges_1/P8 +++ b/tests/de/iges_1/P8 @@ -1,6 +1,5 @@ # !!!! This file is generated automatically, do not edit manually! See end script puts "TODO CR23096 ALL: TPSTAT : Faulty" -puts "TODO CR23096 ALL: CHECKSHAPE : Faulty" set LinuxDiff 2 set filename ims001.igs @@ -9,8 +8,8 @@ set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 1 ) Summary = 0 ( 1 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 11 ( 2 ) Summary = 11 ( 2 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 1 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 190 ( 190 ) Summary = 2164 ( 2158 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 190 ( 190 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 891 ( 887 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 190 ( 190 ) Summary = 2158 ( 2158 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 190 ( 190 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 887 ( 887 ) TOLERANCE : MaxTol = 0.6881447912 ( 0.6881447942 ) AvgTol = 0.02957229252 ( 0.02969463719 ) LABELS : N0Labels = 190 ( 190 ) N1Labels = 0 ( 0 ) N2Labels = 0 ( 0 ) TotalLabels = 190 ( 190 ) NameLabels = 190 ( 190 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) diff --git a/tests/de/iges_1/R1 b/tests/de/iges_1/R1 index ace596dea5..a08d6c7f4c 100755 --- a/tests/de/iges_1/R1 +++ b/tests/de/iges_1/R1 @@ -12,7 +12,7 @@ TPSTAT : Faulties = 2 ( 0 ) Warnings = 18 ( 320 ) Summary = 20 ( 320 CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 135 ( 135 ) Summary = 2223 ( 2223 ) STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 135 ( 135 ) FreeWire = 0 ( 0 ) FreeEdge = 3 ( 3 ) SharedEdge = 974 ( 974 ) -TOLERANCE : MaxTol = 0.9794163281 ( 12.54323842 ) AvgTol = 0.02057774141 ( 0.1726497742 ) +TOLERANCE : MaxTol = 0.9794163281 ( 12.54323842 ) AvgTol = 0.02080508938 ( 0.1727731057 ) LABELS : N0Labels = 1 ( 1 ) N1Labels = 138 ( 1011 ) N2Labels = 0 ( 0 ) TotalLabels = 139 ( 1012 ) NameLabels = 139 ( 205 ) ColorLabels = 138 ( 1011 ) LayerLabels = 138 ( 1011 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 4 ( 4 ) diff --git a/tests/de/iges_1/R8 b/tests/de/iges_1/R8 index e5e4bdc7d0..5b072baed5 100755 --- a/tests/de/iges_1/R8 +++ b/tests/de/iges_1/R8 @@ -8,10 +8,10 @@ set ref_data { DATA : Faulties = 0 ( 2 ) Warnings = 0 ( 0 ) Summary = 0 ( 2 ) TPSTAT : Faulties = 3 ( 59 ) Warnings = 2203 ( 4655 ) Summary = 2206 ( 4714 ) CHECKSHAPE : Wires = 7 ( 17 ) Faces = 7 ( 12 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 3349 ( 2837 ) Summary = 45816 ( 39080 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 3349 ( 3349 ) FreeWire = 6 ( 6 ) FreeEdge = 67 ( 67 ) SharedEdge = 19531 ( 16687 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 3349 ( 2837 ) Summary = 45902 ( 39187 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 3349 ( 3349 ) FreeWire = 6 ( 6 ) FreeEdge = 67 ( 67 ) SharedEdge = 19594 ( 16763 ) TOLERANCE : MaxTol = 4.854604894 ( 5.769095076 ) AvgTol = 0.01628658326 ( 0.01747356296 ) -LABELS : N0Labels = 11 ( 11 ) N1Labels = 2891 ( 6256 ) N2Labels = 0 ( 0 ) TotalLabels = 2902 ( 6267 ) NameLabels = 2900 ( 5879 ) ColorLabels = 2891 ( 6256 ) LayerLabels = 2411 ( 5261 ) +LABELS : N0Labels = 11 ( 11 ) N1Labels = 2891 ( 6318 ) N2Labels = 0 ( 0 ) TotalLabels = 2902 ( 6329 ) NameLabels = 2900 ( 5879 ) ColorLabels = 2891 ( 6318 ) LayerLabels = 2411 ( 5256 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 4 ( 4 ) COLORS : Colors = BLACK BLUE1 RED YELLOW ( BLACK BLUE1 RED YELLOW ) diff --git a/tests/de/iges_2/B8 b/tests/de/iges_2/B8 index 11e27c608a..7ada3d423f 100644 --- a/tests/de/iges_2/B8 +++ b/tests/de/iges_2/B8 @@ -1,5 +1,4 @@ # !!!! This file is generated automatically, do not edit manually! See end script -puts "TODO CR23096 ALL: CHECKSHAPE : Faulty" puts "TODO CR23096 ALL: LABELS : Faulty" #puts "TODO CR23096 ALL: Error : 1 differences with reference data found :" @@ -9,7 +8,7 @@ set filename FRA62468-2.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 253 ( 4993 ) Summary = 253 ( 4993 ) -CHECKSHAPE : Wires = 12 ( 17 ) Faces = 12 ( 11 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) +CHECKSHAPE : Wires = 12 ( 19 ) Faces = 12 ( 13 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 4729 ( 4729 ) Summary = 63154 ( 63144 ) STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 4729 ( 4729 ) FreeWire = 18 ( 18 ) FreeEdge = 452 ( 452 ) SharedEdge = 26794 ( 26793 ) TOLERANCE : MaxTol = 0.9804479161 ( 0.9805459497 ) AvgTol = 0.01153089031 ( 0.01154870945 ) diff --git a/tests/de/iges_2/C2 b/tests/de/iges_2/C2 index 6106d5414f..edc0c660e2 100644 --- a/tests/de/iges_2/C2 +++ b/tests/de/iges_2/C2 @@ -11,9 +11,9 @@ set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) TPSTAT : Faulties = 2 ( 0 ) Warnings = 85 ( 295 ) Summary = 87 ( 295 ) CHECKSHAPE : Wires = 8 ( 13 ) Faces = 8 ( 13 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 419 ( 419 ) Summary = 5330 ( 5351 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 419 ( 419 ) FreeWire = 4 ( 4 ) FreeEdge = 42 ( 42 ) SharedEdge = 2221 ( 2227 ) -TOLERANCE : MaxTol = 4.548096104 ( 4.543567878 ) AvgTol = 0.03300579563 ( 0.03647254811 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 419 ( 419 ) Summary = 5328 ( 5352 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 419 ( 419 ) FreeWire = 4 ( 4 ) FreeEdge = 42 ( 42 ) SharedEdge = 2221 ( 2228 ) +TOLERANCE : MaxTol = 4.547932063 ( 4.543567878 ) AvgTol = 0.03466358537 ( 0.03659099671 ) LABELS : N0Labels = 457 ( 457 ) N1Labels = 0 ( 0 ) N2Labels = 0 ( 0 ) TotalLabels = 457 ( 457 ) NameLabels = 457 ( 457 ) ColorLabels = 451 ( 455 ) LayerLabels = 453 ( 457 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 2 ( 2 ) diff --git a/tests/de/iges_2/I7 b/tests/de/iges_2/I7 index f487a196f7..bef85b6642 100644 --- a/tests/de/iges_2/I7 +++ b/tests/de/iges_2/I7 @@ -1,18 +1,19 @@ # !!!! This file is generated automatically, do not edit manually! See end script puts "TODO CR23096 ALL: LABELS : Faulty" puts "TODO CR23096 ALL: COLORS : Faulty" -puts "TODO CR23096 ALL: NBSHAPES : Faulty" +puts "TODO CR23096 ALL: CHECKSHAPE : Faulty" + set filename ims016.igs set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 120 ( 402 ) Summary = 120 ( 402 ) -CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 138 ( 138 ) Summary = 10561 ( 10563 ) -STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 138 ( 138 ) FreeWire = 6 ( 6 ) FreeEdge = 353 ( 353 ) SharedEdge = 4947 ( 4949 ) -TOLERANCE : MaxTol = 0.07559058774 ( 0.07559058772 ) AvgTol = 0.0006486647078 ( 0.0006485486933 ) -LABELS : N0Labels = 503 ( 503 ) N1Labels = 0 ( 196 ) N2Labels = 0 ( 0 ) TotalLabels = 503 ( 699 ) NameLabels = 503 ( 503 ) ColorLabels = 470 ( 699 ) LayerLabels = 313 ( 344 ) +CHECKSHAPE : Wires = 4 ( 0 ) Faces = 2 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 138 ( 138 ) Summary = 10599 ( 10569 ) +STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 138 ( 138 ) FreeWire = 6 ( 6 ) FreeEdge = 353 ( 353 ) SharedEdge = 4953 ( 4953 ) +TOLERANCE : MaxTol = 0.2092687841 ( 0.2092687804 ) AvgTol = 0.0009010196362 ( 0.0009882759183 ) +LABELS : N0Labels = 503 ( 503 ) N1Labels = 0 ( 200 ) N2Labels = 0 ( 0 ) TotalLabels = 503 ( 703 ) NameLabels = 503 ( 503 ) ColorLabels = 470 ( 703 ) LayerLabels = 313 ( 344 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 6 ( 7 ) COLORS : Colors = CYAN1 GREEN MAGENTA1 RED WHITE YELLOW ( BLACK CYAN1 GREEN MAGENTA1 RED WHITE YELLOW ) diff --git a/tests/de/iges_3/A4 b/tests/de/iges_3/A4 index 459721600c..cb0b7c19e7 100755 --- a/tests/de/iges_3/A4 +++ b/tests/de/iges_3/A4 @@ -5,7 +5,7 @@ puts "TODO CR23096 ALL: STATSHAPE : Faulty" puts "TODO CR23096 ALL: LABELS : Faulty" puts "TODO CR23096 ALL: COLORS : Faulty" puts "TODO CR23096 ALL: LAYERS : Faulty" -puts "TODO CR25013 ALL: Error : 3 differences with reference data found" +puts "TODO CR25013 ALL: Error : 4 differences with reference data found" set filename BUC40132.igs diff --git a/tests/de/step_2/B6 b/tests/de/step_2/B6 index 4544744581..42549ed258 100644 --- a/tests/de/step_2/B6 +++ b/tests/de/step_2/B6 @@ -1,5 +1,7 @@ # !!!! This file is generated automatically, do not edit manually! See end script puts "TODO CR23096 ALL: LABELS : Faulty" +puts "TODO CR23096 ALL: CHECKSHAPE : Faulty" + set filename PRO20364.stp diff --git a/tests/de/step_2/M4 b/tests/de/step_2/M4 index bb3455d143..1b540526c0 100644 --- a/tests/de/step_2/M4 +++ b/tests/de/step_2/M4 @@ -7,7 +7,7 @@ TPSTAT : Faulties = 0 ( 0 ) Warnings = 4 ( 8 ) Summary = 4 ( 8 ) CHECKSHAPE : Wires = 2 ( 2 ) Faces = 2 ( 2 ) Shells = 1 ( 1 ) Solids = 1 ( 1 ) NBSHAPES : Solid = 4 ( 4 ) Shell = 4 ( 4 ) Face = 40 ( 40 ) Summary = 263 ( 263 ) STATSHAPE : Solid = 4 ( 4 ) Shell = 4 ( 4 ) Face = 40 ( 40 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 98 ( 98 ) -TOLERANCE : MaxTol = 0.7571968817 ( 0.757178949 ) AvgTol = 0.04096331122 ( 0.04096426509 ) +TOLERANCE : MaxTol = 0.7226608412 ( 0.7227160437 ) AvgTol = 0.04200651748 ( 0.04200775508 ) LABELS : N0Labels = 1 ( 1 ) N1Labels = 4 ( 4 ) N2Labels = 0 ( 0 ) TotalLabels = 5 ( 5 ) NameLabels = 1 ( 1 ) ColorLabels = 4 ( 4 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 2 ( 2 ) diff --git a/tests/de/step_2/M6 b/tests/de/step_2/M6 index ea621fc536..d4fd0da324 100644 --- a/tests/de/step_2/M6 +++ b/tests/de/step_2/M6 @@ -7,7 +7,7 @@ TPSTAT : Faulties = 0 ( 0 ) Warnings = 25 ( 32 ) Summary = 25 ( 32 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) NBSHAPES : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 108 ( 108 ) Summary = 674 ( 669 ) STATSHAPE : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 108 ( 108 ) FreeWire = 0 ( 0 ) FreeEdge = 5 ( 5 ) SharedEdge = 275 ( 275 ) -TOLERANCE : MaxTol = 0.1162538812 ( 0.1162538812 ) AvgTol = 0.007800576583 ( 0.01124673982 ) +TOLERANCE : MaxTol = 0.1162538812 ( 0.1162538812 ) AvgTol = 0.007933501527 ( 0.0113796647 ) LABELS : N0Labels = 3 ( 3 ) N1Labels = 7 ( 7 ) N2Labels = 0 ( 0 ) TotalLabels = 10 ( 10 ) NameLabels = 5 ( 5 ) ColorLabels = 6 ( 6 ) LayerLabels = 6 ( 6 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 2 ( 2 ) diff --git a/tests/de/step_2/S1 b/tests/de/step_2/S1 index 29df69d871..6811c4ba78 100644 --- a/tests/de/step_2/S1 +++ b/tests/de/step_2/S1 @@ -10,7 +10,7 @@ set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 39 ( 6 ) Summary = 39 ( 6 ) CHECKSHAPE : Wires = 64 ( 48 ) Faces = 64 ( 48 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 15 ( 16 ) Shell = 17 ( 17 ) Face = 367 ( 366 ) Summary = 2506 ( 2495 ) +NBSHAPES : Solid = 15 ( 16 ) Shell = 17 ( 17 ) Face = 367 ( 366 ) Summary = 2505 ( 2495 ) STATSHAPE : Solid = 71 ( 79 ) Shell = 87 ( 87 ) Face = 2740 ( 2732 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 1064 ( 1057 ) TOLERANCE : MaxTol = 4.389003466 ( 5.153790881 ) AvgTol = 0.05707355423 ( 0.06633632879 ) LABELS : N0Labels = 10 ( 10 ) N1Labels = 32 ( 32 ) N2Labels = 0 ( 0 ) TotalLabels = 42 ( 42 ) NameLabels = 22 ( 22 ) ColorLabels = 22 ( 22 ) LayerLabels = 0 ( 0 ) diff --git a/tests/de/step_2/S9 b/tests/de/step_2/S9 index a69b00862a..4efcc36fdc 100644 --- a/tests/de/step_2/S9 +++ b/tests/de/step_2/S9 @@ -9,7 +9,7 @@ TPSTAT : Faulties = 0 ( 0 ) Warnings = 5 ( 11 ) Summary = 5 ( 11 ) CHECKSHAPE : Wires = 4 ( 4 ) Faces = 4 ( 4 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) NBSHAPES : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 292 ( 292 ) Summary = 1707 ( 1707 ) STATSHAPE : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 292 ( 292 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 718 ( 718 ) -TOLERANCE : MaxTol = 0.1164202689 ( 0.1164219029 ) AvgTol = 0.00286119941 ( 0.01095378922 ) +TOLERANCE : MaxTol = 0.1252883206 ( 0.1252874378 ) AvgTol = 0.003079961606 ( 0.01117254297 ) LABELS : N0Labels = 1 ( 1 ) N1Labels = 19 ( 19 ) N2Labels = 0 ( 0 ) TotalLabels = 20 ( 20 ) NameLabels = 1 ( 1 ) ColorLabels = 20 ( 20 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 1 ( 1 ) Volume = 1 ( 1 ) Area = 1 ( 1 ) NCOLORS : NColors = 2 ( 2 ) diff --git a/tests/de/step_2/T9 b/tests/de/step_2/T9 index c7f0f70057..bb9b8e7e88 100644 --- a/tests/de/step_2/T9 +++ b/tests/de/step_2/T9 @@ -9,7 +9,7 @@ TPSTAT : Faulties = 0 ( 2 ) Warnings = 2 ( 28 ) Summary = 2 ( 30 ) CHECKSHAPE : Wires = 2 ( 2 ) Faces = 2 ( 2 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) NBSHAPES : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 416 ( 415 ) Summary = 2779 ( 2761 ) STATSHAPE : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 416 ( 415 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 1195 ( 1179 ) -TOLERANCE : MaxTol = 9036.639612 ( 0.9492387908 ) AvgTol = 21.72114525 ( 0.03925492632 ) +TOLERANCE : MaxTol = 9511.663612 ( 0.9492387908 ) AvgTol = 22.86226785 ( 0.0392704055 ) LABELS : N0Labels = 1 ( 1 ) N1Labels = 28 ( 28 ) N2Labels = 0 ( 0 ) TotalLabels = 29 ( 29 ) NameLabels = 1 ( 1 ) ColorLabels = 29 ( 29 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 1 ( 1 ) Volume = 1 ( 1 ) Area = 1 ( 1 ) NCOLORS : NColors = 2 ( 2 ) diff --git a/tests/de/step_2/W7 b/tests/de/step_2/W7 index 7ae02a163d..8a5217631b 100644 --- a/tests/de/step_2/W7 +++ b/tests/de/step_2/W7 @@ -8,7 +8,7 @@ TPSTAT : Faulties = 0 ( 0 ) Warnings = 29 ( 30 ) Summary = 29 ( 30 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) NBSHAPES : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 108 ( 108 ) Summary = 652 ( 652 ) STATSHAPE : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 108 ( 108 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 270 ( 270 ) -TOLERANCE : MaxTol = 0.135089911 ( 0.135089907 ) AvgTol = 0.01291133866 ( 0.01518557927 ) +TOLERANCE : MaxTol = 0.1381688089 ( 0.1381688071 ) AvgTol = 0.01295053427 ( 0.0152247749 ) LABELS : N0Labels = 1 ( 1 ) N1Labels = 0 ( 0 ) N2Labels = 0 ( 0 ) TotalLabels = 1 ( 1 ) NameLabels = 1 ( 1 ) ColorLabels = 1 ( 1 ) LayerLabels = 1 ( 1 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 1 ( 1 ) diff --git a/tests/de/step_2/Y5 b/tests/de/step_2/Y5 index a36b39e710..f6a0f893b0 100644 --- a/tests/de/step_2/Y5 +++ b/tests/de/step_2/Y5 @@ -9,8 +9,8 @@ set ref_data { DATA : Faulties = 0 ( 9 ) Warnings = 0 ( 0 ) Summary = 0 ( 9 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 77 ( 39 ) Summary = 77 ( 39 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 1 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 10 ( 10 ) Shell = 12 ( 12 ) Face = 269 ( 269 ) Summary = 1638 ( 1636 ) -STATSHAPE : Solid = 10 ( 10 ) Shell = 12 ( 12 ) Face = 269 ( 269 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 636 ( 636 ) +NBSHAPES : Solid = 11 ( 11 ) Shell = 13 ( 13 ) Face = 270 ( 270 ) Summary = 1653 ( 1646 ) +STATSHAPE : Solid = 11 ( 11 ) Shell = 13 ( 13 ) Face = 270 ( 270 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 642 ( 640 ) TOLERANCE : MaxTol = 0.01008857123 ( 0.01008857108 ) AvgTol = 0.0003104589496 ( 0.0003616303196 ) LABELS : N0Labels = 3 ( 3 ) N1Labels = 2 ( 3 ) N2Labels = 0 ( 1 ) TotalLabels = 5 ( 7 ) NameLabels = 5 ( 5 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) diff --git a/tests/de/step_3/A9 b/tests/de/step_3/A9 index 9130d0dc71..faa789f0a1 100755 --- a/tests/de/step_3/A9 +++ b/tests/de/step_3/A9 @@ -1,5 +1,5 @@ # !!!! This file is generated automatically, do not edit manually! See end script - +puts "TODO CR25593 ALL: CHECKSHAPE : Faulty" set filename trj7_pm5-hc-214.stp diff --git a/tests/de/step_3/C4 b/tests/de/step_3/C4 index 6eb5ff55a7..02c2ed55fe 100644 --- a/tests/de/step_3/C4 +++ b/tests/de/step_3/C4 @@ -10,7 +10,7 @@ TPSTAT : Faulties = 0 ( 6 ) Warnings = 16 ( 35 ) Summary = 16 ( 41 ) CHECKSHAPE : Wires = 1 ( 1 ) Faces = 1 ( 1 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) NBSHAPES : Solid = 4 ( 4 ) Shell = 27 ( 27 ) Face = 183 ( 183 ) Summary = 1491 ( 1486 ) STATSHAPE : Solid = 4 ( 4 ) Shell = 27 ( 27 ) Face = 183 ( 183 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 623 ( 622 ) -TOLERANCE : MaxTol = 0.2224706003 ( 0.2224706003 ) AvgTol = 0.003966127037 ( 0.003995856355 ) +TOLERANCE : MaxTol = 0.2224706003 ( 0.2224706003 ) AvgTol = 0.004510221387 ( 0.004579916902 ) LABELS : N0Labels = 28 ( 28 ) N1Labels = 32 ( 23 ) N2Labels = 0 ( 0 ) TotalLabels = 60 ( 51 ) NameLabels = 51 ( 51 ) ColorLabels = 27 ( 22 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 2 ( 2 ) diff --git a/tests/de/step_3/C6 b/tests/de/step_3/C6 index 9daa17a8b6..03bcbd1eb1 100644 --- a/tests/de/step_3/C6 +++ b/tests/de/step_3/C6 @@ -10,7 +10,7 @@ TPSTAT : Faulties = 0 ( 0 ) Warnings = 23 ( 499 ) Summary = 23 ( 499 CHECKSHAPE : Wires = 1 ( 0 ) Faces = 2 ( 1 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) NBSHAPES : Solid = 98 ( 98 ) Shell = 98 ( 98 ) Face = 3829 ( 3829 ) Summary = 22284 ( 22284 ) STATSHAPE : Solid = 116 ( 116 ) Shell = 116 ( 116 ) Face = 4144 ( 4144 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 8834 ( 8834 ) -TOLERANCE : MaxTol = 0.0002435409967 ( 0.06761346589 ) AvgTol = 7.737752126e-007 ( 3.401316374e-005 ) +TOLERANCE : MaxTol = 0.00815099718 ( 0.06761346589 ) AvgTol = 3.973824812e-006 ( 3.72116487e-005 ) LABELS : N0Labels = 14 ( 14 ) N1Labels = 25 ( 25 ) N2Labels = 0 ( 0 ) TotalLabels = 39 ( 39 ) NameLabels = 39 ( 39 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) NCOLORS : NColors = 0 ( 0 ) diff --git a/tests/de/step_3/D3 b/tests/de/step_3/D3 index b23c6912ac..5a4d676a83 100644 --- a/tests/de/step_3/D3 +++ b/tests/de/step_3/D3 @@ -1,5 +1,6 @@ # !!!! This file is generated automatically, do not edit manually! See end script -puts "TODO CR23096 Debian60-64: Error : 1 differences with reference data found :" +puts "TODO CR25593 ALL: Error : 3 differences with reference data found :" +puts "TODO CR25593 ALL: TPSTAT : Faulty" set LinuxDiff 1 set LinuxFaulties {CHECKSHAPE} @@ -9,7 +10,7 @@ set ref_data { DATA : Faulties = 0 ( 395 ) Warnings = 0 ( 0 ) Summary = 0 ( 395 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 0 ( 2 ) Summary = 0 ( 2 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 0 ( 0 ) Shell = 149 ( 149 ) Face = 149 ( 149 ) Summary = 2146 ( 2144 ) +NBSHAPES : Solid = 0 ( 0 ) Shell = 149 ( 149 ) Face = 149 ( 149 ) Summary = 2144 ( 2144 ) STATSHAPE : Solid = 0 ( 0 ) Shell = 149 ( 149 ) Face = 149 ( 149 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 846 ( 846 ) TOLERANCE : MaxTol = 0.0009108451735 ( 0.0009108451735 ) AvgTol = 3.593153987e-005 ( 3.593209779e-005 ) LABELS : N0Labels = 1 ( 1 ) N1Labels = 0 ( 0 ) N2Labels = 0 ( 0 ) TotalLabels = 1 ( 1 ) NameLabels = 1 ( 1 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 ) diff --git a/tests/de/step_3/D8 b/tests/de/step_3/D8 index 0ff3be404b..c283bb7cb3 100755 --- a/tests/de/step_3/D8 +++ b/tests/de/step_3/D8 @@ -1,5 +1,5 @@ # !!!! This file is generated automatically, do not edit manually! See end script -puts "TODO CR23096 Debian60-64: CHECKSHAPE : Faulty" +puts "TODO CR25593 ALL: CHECKSHAPE : Faulty" # No checkape error on WNT in 64-bit only (after 22598 and issue 25797 was registered for that) diff --git a/tests/de/step_3/D9 b/tests/de/step_3/D9 index 4b1a9e0acc..469cca1933 100755 --- a/tests/de/step_3/D9 +++ b/tests/de/step_3/D9 @@ -1,5 +1,5 @@ # !!!! This file is generated automatically, do not edit manually! See end script -puts "TODO CR23096 ALL: STATSHAPE : Faulty" +puts "TODO CR23096 ALL: NBSHAPES : Faulty" set LinuxDiff 3 set filename 53921163S0.stp @@ -7,9 +7,9 @@ set filename 53921163S0.stp set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 17 ( 27 ) Summary = 17 ( 27 ) -CHECKSHAPE : Wires = 8 ( 10 ) Faces = 8 ( 10 ) Shells = 0 ( 0 ) Solids = 1 ( 1 ) -NBSHAPES : Solid = 1 ( 1 ) Shell = 3 ( 3 ) Face = 558 ( 556 ) Summary = 3668 ( 3661 ) -STATSHAPE : Solid = 1 ( 1 ) Shell = 3 ( 3 ) Face = 558 ( 556 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 1527 ( 1526 ) +CHECKSHAPE : Wires = 10 ( 10 ) Faces = 10 ( 10 ) Shells = 0 ( 0 ) Solids = 1 ( 1 ) +NBSHAPES : Solid = 1 ( 1 ) Shell = 3 ( 3 ) Face = 556 ( 556 ) Summary = 3658 ( 3661 ) +STATSHAPE : Solid = 1 ( 1 ) Shell = 3 ( 3 ) Face = 556 ( 556 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 1523 ( 1526 ) TOLERANCE : MaxTol = 60.79282309 ( 60.87483475 ) AvgTol = 1.272227708 ( 1.266017009 ) LABELS : N0Labels = 1 ( 1 ) N1Labels = 0 ( 0 ) N2Labels = 0 ( 0 ) TotalLabels = 1 ( 1 ) NameLabels = 1 ( 1 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) diff --git a/tests/de/step_3/F4 b/tests/de/step_3/F4 index b846423002..bf2a803c34 100644 --- a/tests/de/step_3/F4 +++ b/tests/de/step_3/F4 @@ -7,7 +7,7 @@ set filename trj3_pm1-id-214.stp set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 1168 ( 895 ) Summary = 1168 ( 895 ) -CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) +CHECKSHAPE : Wires = 1 ( 1 ) Faces = 1 ( 1 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) NBSHAPES : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 3826 ( 3826 ) Summary = 23862 ( 23856 ) STATSHAPE : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 3826 ( 3826 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 9969 ( 9964 ) TOLERANCE : MaxTol = 0.009023403931 ( 0.009980833943 ) AvgTol = 0.0003371911058 ( 0.000825361244 ) diff --git a/tests/de/step_4/E6 b/tests/de/step_4/E6 index 1ec267a108..9a5a9434da 100644 --- a/tests/de/step_4/E6 +++ b/tests/de/step_4/E6 @@ -7,7 +7,7 @@ set filename trj12_b3-ac-214.stp set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 27 ( 108 ) Summary = 27 ( 108 ) -CHECKSHAPE : Wires = 3 ( 4 ) Faces = 3 ( 4 ) Shells = 1 ( 1 ) Solids = 1 ( 1 ) +CHECKSHAPE : Wires = 4 ( 6 ) Faces = 4 ( 6 ) Shells = 1 ( 1 ) Solids = 1 ( 1 ) NBSHAPES : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 1173 ( 1173 ) Summary = 7998 ( 8005 ) STATSHAPE : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 1173 ( 1173 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 3392 ( 3399 ) TOLERANCE : MaxTol = 7.063782203 ( 7.063782203 ) AvgTol = 0.002932793725 ( 0.002941805253 ) diff --git a/tests/de/step_5/A1 b/tests/de/step_5/A1 index f7edc0f686..7e9bf33475 100755 --- a/tests/de/step_5/A1 +++ b/tests/de/step_5/A1 @@ -1,6 +1,4 @@ # !!!! This file is generated automatically, do not edit manually! See end script -puts "TODO CR23096 ALL: TOLERANCE : Faulty" - set filename Z8INV5.stp @@ -8,8 +6,8 @@ set ref_data { DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 114 ( 619 ) Summary = 114 ( 619 ) CHECKSHAPE : Wires = 16 ( 17 ) Faces = 18 ( 19 ) Shells = 1 ( 1 ) Solids = 0 ( 0 ) -NBSHAPES : Solid = 22 ( 22 ) Shell = 24 ( 24 ) Face = 1520 ( 1520 ) Summary = 11223 ( 11206 ) -STATSHAPE : Solid = 22 ( 22 ) Shell = 24 ( 24 ) Face = 1520 ( 1520 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 4792 ( 4781 ) +NBSHAPES : Solid = 22 ( 22 ) Shell = 24 ( 24 ) Face = 1520 ( 1520 ) Summary = 11216 ( 11206 ) +STATSHAPE : Solid = 22 ( 22 ) Shell = 24 ( 24 ) Face = 1520 ( 1520 ) FreeWire = 0 ( 0 ) FreeEdge = 0 ( 0 ) SharedEdge = 4787 ( 4781 ) TOLERANCE : MaxTol = 12.54913924 ( 7.159520237 ) AvgTol = 0.04320092698 ( 0.0322263844 ) LABELS : N0Labels = 25 ( 25 ) N1Labels = 23 ( 23 ) N2Labels = 0 ( 0 ) TotalLabels = 48 ( 48 ) NameLabels = 48 ( 48 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) diff --git a/tests/heal/split_angle/F2 b/tests/heal/split_angle/F2 index 3a4b784619..851c38719f 100644 --- a/tests/heal/split_angle/F2 +++ b/tests/heal/split_angle/F2 @@ -1 +1,3 @@ +puts "TODO OCC25593 ALL: Faulty shapes in variables faulty_1 to faulty_4 " + restore [locate_data_file wrong_checkshape_2.brep] a