[cgma-dev] r4137 - cgm/trunk/geom/OCC
smithrm at mcs.anl.gov
smithrm at mcs.anl.gov
Wed Sep 22 12:19:32 CDT 2010
Author: smithrm
Date: 2010-09-22 12:19:32 -0500 (Wed, 22 Sep 2010)
New Revision: 4137
Added:
cgm/trunk/geom/OCC/occ_patches
Log:
Patch file for updating OCC distribution to correct issues with CGM tests.
Added: cgm/trunk/geom/OCC/occ_patches
===================================================================
--- cgm/trunk/geom/OCC/occ_patches (rev 0)
+++ cgm/trunk/geom/OCC/occ_patches 2010-09-22 17:19:32 UTC (rev 4137)
@@ -0,0 +1,67 @@
+--- ros/src/Extrema/Extrema_ExtPElS.cxx 2002-04-23 11:10:21.000000000 -0500
++++ /home/jhu/occ6.3/OpenCASCADE6.3.0/ros/src/Extrema/Extrema_ExtPElS.cxx 2008-10-08 12:56:22.000000000 -0500
+@@ -311,6 +311,7 @@
+ gp_Vec myZ = Pos.XDirection()^Pos.YDirection();
+ Standard_Real U1 = gp_Vec(Pos.XDirection()).AngleWithRef(OPp,myZ);
+ Standard_Real U2 = U1 + PI;
++ if(U1 > -Tol && U1 < 0.) {U1 = 0.;}
+ if (U1 < 0.) { U1 += 2. * PI; }
+ gp_Vec OO1 = OPp.Divided(R).Multiplied(S.MajorRadius());
+ gp_Vec OO2 = OO1.Multiplied(-1.);
+@@ -322,6 +323,8 @@
+
+ Standard_Real V1 = OO1.AngleWithRef(gp_Vec(O1,P),OO1.Crossed(OZ));
+ Standard_Real V2 = OO2.AngleWithRef(gp_Vec(P,O2),OO2.Crossed(OZ));
++ if(V1 > -Tol && V1 < 0.){ V1 = 0.;}
++ if(V2 > -Tol && V2 < 0.){ V2 = 0.;}
+ if (V1 < 0.) { V1 += 2. * PI; }
+ if (V2 < 0.) { V2 += 2. * PI; }
+
+--- ros/src/Extrema/Extrema_ExtPS.cxx 2007-08-28 13:06:46.000000000 -0500
++++ /home/jhu/occ6.3/OpenCASCADE6.3.0/ros/src/Extrema/Extrema_ExtPS.cxx 2008-10-09 14:13:13.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) {
+
+--- ros/src/BRepClass/BRepClass_FaceClassifier.cxx 2007-08-28 13:06:44.000000000 -0500
++++ src/BRepClass/BRepClass_FaceClassifier.cxx 2008-01-16 10:25:36.000000000 -0600
+@@ -55,6 +55,7 @@
More information about the cgma-dev
mailing list