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

jiangtao_ma at yahoo.com jiangtao_ma at yahoo.com
Mon Sep 19 11:17:57 CDT 2011


Author: janehu
Date: 2011-09-19 11:17:56 -0500 (Mon, 19 Sep 2011)
New Revision: 5168

Modified:
   cgm/trunk/geom/OCC/occ_patches_6.5
Log:
Rework on occ6.5.0 patch file, should work under occ6.5/ros with command patch -p0<occ_patches_6.5.

Modified: cgm/trunk/geom/OCC/occ_patches_6.5
===================================================================
--- cgm/trunk/geom/OCC/occ_patches_6.5	2011-09-16 20:48:46 UTC (rev 5167)
+++ cgm/trunk/geom/OCC/occ_patches_6.5	2011-09-19 16:17:56 UTC (rev 5168)
@@ -1,29 +1,30 @@
---- src/Extrema/Extrema_ExtPS.cxx	2011-04-11 13:06:46.000000000 -0500
-+++ /home/jhu/OpenCASCADE6.5.0/ros/src/Extrema/Extrema_ExtPS.cxx	2011-04-09 14:13:13.000000000 -0500
-@@ -94,10 +94,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) {
+--- src/BRepBuilderAPI/BRepBuilderAPI_Collect.cxx	2011-09-19 10:53:50.000000000 -0500
++++ src_new/BRepBuilderAPI/BRepBuilderAPI_Collect.cxx	2011-09-19 10:51:13.000000000 -0500
+@@ -201,9 +201,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


More information about the cgma-dev mailing list