[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