[cgma-dev] r4782 - cgm/trunk/geom/OCC

jiangtao_ma at yahoo.com jiangtao_ma at yahoo.com
Thu Apr 28 11:53:44 CDT 2011


Author: janehu
Date: 2011-04-28 11:53:43 -0500 (Thu, 28 Apr 2011)
New Revision: 4782

Modified:
   cgm/trunk/geom/OCC/occ_patches
Log:
Correct previous patches for OCC6.3 build, which caused testcase check failure on gnep.

Modified: cgm/trunk/geom/OCC/occ_patches
===================================================================
--- cgm/trunk/geom/OCC/occ_patches	2011-04-28 00:36:18 UTC (rev 4781)
+++ cgm/trunk/geom/OCC/occ_patches	2011-04-28 16:53:43 UTC (rev 4782)
@@ -1,118 +1,78 @@
---- ros/src/Extrema/Extrema_ExtPElS.cxx 2011-03-29 11:35:08.000000000 -0500
-+++ /mnt/disk2b/jhu/tempdir/OpenCASCADE6.3.0/ros/src/Extrema/Extrema_ExtPElS.cxx        2002-04-23 11:10:21.000000000 -0500
-@@ -56,7 +56,6 @@
+--- BRepClass_FaceClassifier.cxx_old	2011-04-28 10:16:13.000000000 -0500
++++ BRepClass_FaceClassifier.cxx	2011-04-28 10:16:51.000000000 -0500
+@@ -55,6 +55,7 @@
+   Extrema_ExtPS myExtrem;
+   //-- myExtrem.Initialize(HS, U1, U2, V1, V2, Tol, Tol);
+   myExtrem.Initialize(Surf, U1, U2, V1, V2, Tol, Tol);
++  myExtrem.Perform(P);
+   //----------------------------------------------------------
+   //-- On cherche le point le plus proche , PUIS 
+   //-- On le classifie. 
+--- Extrema_ExtPS.cxx_old	2011-04-28 10:13:52.000000000 -0500
++++ Extrema_ExtPS.cxx	2011-04-28 10:15:46.000000000 -0500
+@@ -88,10 +88,18 @@
+   Standard_Real U, V;
+   PS.Parameter(U, V);
+   if (myS->IsUPeriodic()) {
+-    U = ElCLib::InPeriod(U, myuinf, myuinf+myS->UPeriod());
++    Standard_Real Uupper = myuinf+myS->UPeriod();
++    if(U>(myuinf-mytolu) && U < myuinf) U = myuinf;
++    else if(U < (Uupper+mytolu) && U > Uupper) U = Uupper;
++    else
++      U = ElCLib::InPeriod(U, myuinf, myuinf+myS->UPeriod());
+   }
+   if (myS->IsVPeriodic()) {
+-    V = ElCLib::InPeriod(V, myvinf, myvinf+myS->VPeriod());
++    Standard_Real Vupper = myvinf+myS->VPeriod();
++    if(V>(myvinf-mytolv) && V < myvinf) V = myvinf;
++    else if(V < (Vupper+mytolv) && V > Vupper) V = Vupper;
++    else
++      V = ElCLib::InPeriod(V, myvinf, myvinf+myS->VPeriod());
+   }
+   if ((myuinf-U) <= mytolu && (U-myusup) <= mytolu &&
+       (myvinf-V) <= mytolv && (V-myvsup) <= mytolv) {
+--- Extrema_ExtPElS.cxx_old	2011-04-28 11:48:39.000000000 -0500
++++ Extrema_ExtPElS.cxx	2011-04-28 10:13:38.000000000 -0500
+@@ -56,6 +56,7 @@
    gp_Vec myZ = Pos.XDirection()^Pos.YDirection();
    Standard_Real U1 = gp_Vec(Pos.XDirection()).AngleWithRef(OPp,myZ); //-PI<U1<PI
    Standard_Real U2 = U1 + PI;
--  if(U1 > -Tol && U1 < 0.) {U1 = 0.;}
++  if(U1 > -Tol && U1 < 0.) {U1 = 0.;}
    if (U1 < 0.) { U1 += 2. * PI; }
-


More information about the cgma-dev mailing list