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

janehu at mcs.anl.gov janehu at mcs.anl.gov
Wed Apr 3 12:16:10 CDT 2013


Author: janehu
Date: 2013-04-03 12:16:10 -0500 (Wed, 03 Apr 2013)
New Revision: 6034

Added:
   cgm/trunk/geom/OCC/occ_patches_6.5.4
Log:
Added patch for occ654 code.

Added: cgm/trunk/geom/OCC/occ_patches_6.5.4
===================================================================
--- cgm/trunk/geom/OCC/occ_patches_6.5.4	                        (rev 0)
+++ cgm/trunk/geom/OCC/occ_patches_6.5.4	2013-04-03 17:16:10 UTC (rev 6034)
@@ -0,0 +1,118 @@
+--- a/src/BRepBuilderAPI/BRepBuilderAPI_Collect.cxx	2013-04-03 11:08:17.000000000 -0500
++++ b/src/BRepBuilderAPI/BRepBuilderAPI_Collect.cxx	2013-04-03 11:20:44.000000000 -0500
+@@ -217,9 +217,18 @@
+   BuildBack (myGen, GenBack);   // Vraiment pas optimum a Revoir
+   BuildBack (myMod, ModBack);
+   
+-  Update (myMod,myGen,ModBack,GenBack,SI,MKS,TopAbs_FACE);
+-  Update (myMod,myGen,ModBack,GenBack,SI,MKS,TopAbs_EDGE);
+-  Update (myMod,myGen,ModBack,GenBack,SI,MKS,TopAbs_VERTEX);
++  TopAbs_ShapeEnum type = SI.ShapeType();
++  Update (myMod,myGen,ModBack,GenBack,SI,MKS,type);
++  if(type < TopAbs_SHELL)
++    Update (myMod,myGen,ModBack,GenBack,SI,MKS,TopAbs_SHELL);
++  if(type < TopAbs_FACE)
++    Update (myMod,myGen,ModBack,GenBack,SI,MKS,TopAbs_FACE);
++  if(type < TopAbs_WIRE)
++    Update (myMod,myGen,ModBack,GenBack,SI,MKS,TopAbs_WIRE);
++  if(type < TopAbs_EDGE)
++    Update (myMod,myGen,ModBack,GenBack,SI,MKS,TopAbs_EDGE);
++  if(type < TopAbs_VERTEX)
++    Update (myMod,myGen,ModBack,GenBack,SI,MKS,TopAbs_VERTEX);
+ 
+ #ifdef DEB
+   if (Affich) {
+--- a/src/Extrema/Extrema_ExtPElS.cxx   2013-04-03 11:08:29.000000000 -0500
++++ b/src/Extrema/Extrema_ExtPElS.cxx   2013-04-03 11:25:30.000000000 -0500
+@@ -71,6 +71,7 @@
+   gp_Vec myZ = Pos.XDirection()^Pos.YDirection();
+   Standard_Real U1 = gp_Vec(Pos.XDirection()).AngleWithRef(OPp,myZ); //-M_PI<U1<M_PI
+   Standard_Real U2 = U1 + M_PI;
++  if(U1 > -Tol && U1 < 0.) {U1 = 0.;}
+   if (U1 < 0.) { U1 += 2. * M_PI; }
+
+   gp_Pnt Ps;
+@@ -167,7 +168,9 @@
+   B = MP.Angle(DirZ);
+   if (!Same) { U1 += M_PI; }
+   U2 = U1 + M_PI;
++  if(U1 > -Tol && U1 < 0.) {U1 = 0.;}
+   if (U1 < 0.) { U1 += 2. * M_PI; }
++  if (U2 - 2.*M_PI < Tol && U2 > 2.*M_PI) {U2 = 2. * M_PI; }
+   if (U2 > 2.*M_PI) { U2 -= 2. * M_PI; }
+   B = MP.Angle(DirZ);
+   A = Abs(A);
+@@ -258,6 +261,7 @@
+     gp_Vec myZ = Pos.XDirection()^Pos.YDirection();


More information about the cgma-dev mailing list