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

iulian at mcs.anl.gov iulian at mcs.anl.gov
Wed May 23 12:05:42 CDT 2012


Author: iulian
Date: 2012-05-23 12:05:41 -0500 (Wed, 23 May 2012)
New Revision: 5529

Added:
   cgm/trunk/geom/OCC/occ_patches_6.5.2_gcc4.6.3
Log:
in order to be able to build occt version 6.5.2, on a system with gcc 4.6.3, you need to 
apply this patch, in this way:
after extracting the occ tar file, go to root directory
  
patch with

$> patch -p1<occ_patches_6.5.2_gcc4.6.3

with this patch, make check passes for cgm built with this version of occ(t)
 


Added: cgm/trunk/geom/OCC/occ_patches_6.5.2_gcc4.6.3
===================================================================
--- cgm/trunk/geom/OCC/occ_patches_6.5.2_gcc4.6.3	                        (rev 0)
+++ cgm/trunk/geom/OCC/occ_patches_6.5.2_gcc4.6.3	2012-05-23 17:05:41 UTC (rev 5529)
@@ -0,0 +1,135 @@
+diff -rupN orgOCC652/ros/src/BRepBuilderAPI/BRepBuilderAPI_Collect.cxx OCC652/ros/src/BRepBuilderAPI/BRepBuilderAPI_Collect.cxx
+--- orgOCC652/ros/src/BRepBuilderAPI/BRepBuilderAPI_Collect.cxx	2011-07-15 02:27:59.000000000 -0500
++++ OCC652/ros/src/BRepBuilderAPI/BRepBuilderAPI_Collect.cxx	2012-05-23 11:44:30.190980273 -0500
+@@ -201,9 +201,18 @@ void BRepBuilderAPI_Collect::Add (const
+   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) {
+diff -rupN orgOCC652/ros/src/BRepClass3d/BRepClass3d_SClassifier.cxx OCC652/ros/src/BRepClass3d/BRepClass3d_SClassifier.cxx
+--- orgOCC652/ros/src/BRepClass3d/BRepClass3d_SClassifier.cxx	2011-08-12 05:09:56.000000000 -0500
++++ OCC652/ros/src/BRepClass3d/BRepClass3d_SClassifier.cxx	2012-05-23 09:29:19.235267158 -0500
+@@ -90,7 +90,8 @@ void BRepClass3d_SClassifier::PerformInf
+   myState=2; 
+   for(aSE.InitShell(); aSE.MoreShell() && nump<2;  aSE.NextShell()) { 
+     for(aSE.InitFace();	aSE.MoreFace()  && nump<2; ) {
+-      aF =*((TopoDS_Face*)&aSE.CurrentFace());
++      TopoDS_Face tmpVar = aSE.CurrentFace(); 
++      aF =*((TopoDS_Face*)&tmpVar);
+       aSE.NextFace();
+       if(!nump) { 
+ 	nump++;
+diff -rupN orgOCC652/ros/src/Extrema/Extrema_ExtPElS.cxx OCC652/ros/src/Extrema/Extrema_ExtPElS.cxx
+--- orgOCC652/ros/src/Extrema/Extrema_ExtPElS.cxx	2011-07-15 02:29:06.000000000 -0500
++++ OCC652/ros/src/Extrema/Extrema_ExtPElS.cxx	2012-05-23 11:44:30.190980273 -0500
+@@ -56,6 +56,7 @@ void Extrema_ExtPElS::Perform(const gp_P
+   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.;}


More information about the cgma-dev mailing list