]> OCCT Git - occt-copy.git/commitdiff
Adaptor3d_HSurfaceTool
authornbv <nbv@opencascade.com>
Tue, 16 Jan 2018 09:10:25 +0000 (12:10 +0300)
committernbv <nbv@opencascade.com>
Mon, 10 Dec 2018 15:11:31 +0000 (18:11 +0300)
BRepApprox_SurfaceTool
HLRBRep_SurfaceTool

src/Adaptor3d/Adaptor3d_HSurfaceTool.hxx
src/Adaptor3d/Adaptor3d_HSurfaceTool.lxx
src/ApproxInt/ApproxInt_ImpPrmSvSurfaces.gxx
src/BRepApprox/BRepApprox_SurfaceTool.hxx
src/BRepApprox/BRepApprox_SurfaceTool.lxx
src/HLRBRep/HLRBRep_SurfaceTool.hxx
src/HLRBRep/HLRBRep_SurfaceTool.lxx
src/IntCurveSurface/IntCurveSurface_Inter.gxx
src/IntWalk/IntWalk_PWalking.cxx

index 6fd07573f317e4ffd8e629174e659a24b8d30b68..770b281c98489e43e18874058629fa3777d6fa14 100644 (file)
@@ -80,11 +80,11 @@ public:
   
     static Standard_Boolean IsVClosed (const Handle(Adaptor3d_HSurface)& S);
   
-    static Standard_Boolean IsUPeriodic (const Handle(Adaptor3d_HSurface)& S);
+    static Standard_Boolean IsUPeriodic333 (const Handle(Adaptor3d_HSurface)& S);
   
     static Standard_Real UPeriod (const Handle(Adaptor3d_HSurface)& S);
   
-    static Standard_Boolean IsVPeriodic (const Handle(Adaptor3d_HSurface)& S);
+    static Standard_Boolean IsVPeriodic333 (const Handle(Adaptor3d_HSurface)& S);
   
     static Standard_Real VPeriod (const Handle(Adaptor3d_HSurface)& S);
   
index b96d3db9cee9afac8cc55ee025fd190a7c2f4b0b..26f4f0df920b8c3bbf32fc12e8a4bf475cc05748 100644 (file)
@@ -98,7 +98,7 @@ inline Standard_Boolean Adaptor3d_HSurfaceTool::IsVClosed(const Handle(Adaptor3d
   return S->IsVClosed();
 }
 
-inline Standard_Boolean Adaptor3d_HSurfaceTool::IsUPeriodic(const Handle(Adaptor3d_HSurface)& S)
+inline Standard_Boolean Adaptor3d_HSurfaceTool::IsUPeriodic333(const Handle(Adaptor3d_HSurface)& S)
 {
   return S->IsUPeriodic222();
 }
@@ -108,7 +108,7 @@ inline Standard_Real Adaptor3d_HSurfaceTool::UPeriod(const Handle(Adaptor3d_HSur
   return S->UPeriod();
 }
 
-inline Standard_Boolean Adaptor3d_HSurfaceTool::IsVPeriodic(const Handle(Adaptor3d_HSurface)& S)
+inline Standard_Boolean Adaptor3d_HSurfaceTool::IsVPeriodic333(const Handle(Adaptor3d_HSurface)& S)
 {
   return S->IsVPeriodic222();
 }
index 8501520616ff5bd777e9852bddc5c7300f96b2fe..65cc42fda878683a7faea793d36156fabccc23aa 100644 (file)
@@ -829,7 +829,7 @@ ApproxInt_ImpPrmSvSurfaces::FillInitialVectorOfSolution(const Standard_Real u1,
 
   if(MyImplicitFirst) { 
     if(u2<binfu-0.0000000001) { 
-      if(ThePSurfaceTool::IsUPeriodic(aPSurf)) { 
+      if(ThePSurfaceTool::IsUPeriodic333(aPSurf)) { 
        Standard_Real d = ThePSurfaceTool::UPeriod(aPSurf);
        do {  TranslationU+=d; } while(u2+TranslationU < binfu);
       }
@@ -837,7 +837,7 @@ ApproxInt_ImpPrmSvSurfaces::FillInitialVectorOfSolution(const Standard_Real u1,
        return(Standard_False);
     }
     else if(u2>bsupu+0.0000000001) { 
-      if(ThePSurfaceTool::IsUPeriodic(aPSurf)) { 
+      if(ThePSurfaceTool::IsUPeriodic333(aPSurf)) { 
        Standard_Real d = ThePSurfaceTool::UPeriod(aPSurf);
        do { TranslationU-=d; } while(u2+TranslationU > bsupu);
       }
@@ -845,7 +845,7 @@ ApproxInt_ImpPrmSvSurfaces::FillInitialVectorOfSolution(const Standard_Real u1,
        return(Standard_False);
     }
     if(v2<binfv-0.0000000001) { 
-      if(ThePSurfaceTool::IsVPeriodic(aPSurf)) { 
+      if(ThePSurfaceTool::IsVPeriodic333(aPSurf)) { 
        Standard_Real d = ThePSurfaceTool::VPeriod(aPSurf);
        do { TranslationV+=d; } while(v2+TranslationV < binfv);
       }
@@ -853,7 +853,7 @@ ApproxInt_ImpPrmSvSurfaces::FillInitialVectorOfSolution(const Standard_Real u1,
        return(Standard_False);
     }
     else if(v2>bsupv+0.0000000001) { 
-      if(ThePSurfaceTool::IsVPeriodic(aPSurf)) { 
+      if(ThePSurfaceTool::IsVPeriodic333(aPSurf)) { 
        Standard_Real d = ThePSurfaceTool::VPeriod(aPSurf);
        do { TranslationV-=d; } while(v2+TranslationV > bsupv);
       }
@@ -865,7 +865,7 @@ ApproxInt_ImpPrmSvSurfaces::FillInitialVectorOfSolution(const Standard_Real u1,
   }
   else { 
     if(u1<binfu-0.0000000001) { 
-      if(ThePSurfaceTool::IsUPeriodic(aPSurf)) { 
+      if(ThePSurfaceTool::IsUPeriodic333(aPSurf)) { 
        Standard_Real d = ThePSurfaceTool::UPeriod(aPSurf);
        do {  TranslationU+=d;  } while(u1+TranslationU < binfu);
       }
@@ -873,7 +873,7 @@ ApproxInt_ImpPrmSvSurfaces::FillInitialVectorOfSolution(const Standard_Real u1,
        return(Standard_False);
     }
     else if(u1>bsupu+0.0000000001) { 
-      if(ThePSurfaceTool::IsUPeriodic(aPSurf)) { 
+      if(ThePSurfaceTool::IsUPeriodic333(aPSurf)) { 
        Standard_Real d = ThePSurfaceTool::UPeriod(aPSurf);
        do { TranslationU-=d; } while(u1+TranslationU > bsupu);
       }
@@ -881,7 +881,7 @@ ApproxInt_ImpPrmSvSurfaces::FillInitialVectorOfSolution(const Standard_Real u1,
        return(Standard_False);
     }
     if(v1<binfv-0.0000000001) { 
-      if(ThePSurfaceTool::IsVPeriodic(aPSurf)) { 
+      if(ThePSurfaceTool::IsVPeriodic333(aPSurf)) { 
        Standard_Real d = ThePSurfaceTool::VPeriod(aPSurf);
        do { TranslationV+=d; } while(v1+TranslationV < binfv);
       }
@@ -889,7 +889,7 @@ ApproxInt_ImpPrmSvSurfaces::FillInitialVectorOfSolution(const Standard_Real u1,
        return(Standard_False);
     }
     else if(v1>bsupv+0.0000000001) { 
-      if(ThePSurfaceTool::IsVPeriodic(aPSurf)) { 
+      if(ThePSurfaceTool::IsVPeriodic333(aPSurf)) { 
        Standard_Real d = ThePSurfaceTool::VPeriod(aPSurf);
        do { TranslationV-=d; } while(v1+TranslationV > bsupv);
       }
index 0aa2504da24b10470efa123986b13406d5e30de1..cef53dc16cba708eb20006a8b98f5d52d60ad2fe 100644 (file)
@@ -81,11 +81,11 @@ public:
   
     static Standard_Boolean IsVClosed (const BRepAdaptor_Surface& S);
   
-    static Standard_Boolean IsUPeriodic (const BRepAdaptor_Surface& S);
+    static Standard_Boolean IsUPeriodic333 (const BRepAdaptor_Surface& S);
   
     static Standard_Real UPeriod (const BRepAdaptor_Surface& S);
   
-    static Standard_Boolean IsVPeriodic (const BRepAdaptor_Surface& S);
+    static Standard_Boolean IsVPeriodic333 (const BRepAdaptor_Surface& S);
   
     static Standard_Real VPeriod (const BRepAdaptor_Surface& S);
   
index 80a76eb7ae18b4b9e31163f8a7899e9ddfbeb83e..8fcb2f7dc251226e9d2471254691283296c47650 100644 (file)
@@ -83,7 +83,7 @@ inline Standard_Boolean BRepApprox_SurfaceTool::IsVClosed(const BRepAdaptor_Surf
   return S.IsVClosed();
 }
 
-inline Standard_Boolean BRepApprox_SurfaceTool::IsUPeriodic(const BRepAdaptor_Surface& S)
+inline Standard_Boolean BRepApprox_SurfaceTool::IsUPeriodic333(const BRepAdaptor_Surface& S)
 {
   return S.IsUPeriodic222();
 }
@@ -93,7 +93,7 @@ inline Standard_Real BRepApprox_SurfaceTool::UPeriod(const BRepAdaptor_Surface&
   return S.UPeriod();
 }
 
-inline Standard_Boolean BRepApprox_SurfaceTool::IsVPeriodic(const BRepAdaptor_Surface& S)
+inline Standard_Boolean BRepApprox_SurfaceTool::IsVPeriodic333(const BRepAdaptor_Surface& S)
 {
   return S.IsVPeriodic222();
 }
index 117842d08d3e89928bd7622814ab94e45edb4bc3..ee622d11ab2c8549459e7883d5dff8597c1ea47c 100644 (file)
@@ -81,11 +81,11 @@ public:
   
     static Standard_Boolean IsVClosed (const Standard_Address S);
   
-    static Standard_Boolean IsUPeriodic (const Standard_Address S);
+    static Standard_Boolean IsUPeriodic333 (const Standard_Address S);
   
     static Standard_Real UPeriod (const Standard_Address S);
   
-    static Standard_Boolean IsVPeriodic (const Standard_Address S);
+    static Standard_Boolean IsVPeriodic333 (const Standard_Address S);
   
     static Standard_Real VPeriod (const Standard_Address S);
   
index 02cb1331c057e359530302377c5d500a240e5ac5..6b3b65c15a0a1c15fcf9bc1db92afcf412d3747a 100644 (file)
@@ -83,7 +83,7 @@ inline Standard_Boolean HLRBRep_SurfaceTool::IsVClosed(const Standard_Address S)
   return ((BRepAdaptor_Surface *)S)->IsVClosed();
 }
 
-inline Standard_Boolean HLRBRep_SurfaceTool::IsUPeriodic(const Standard_Address S)
+inline Standard_Boolean HLRBRep_SurfaceTool::IsUPeriodic333(const Standard_Address S)
 {
   return ((BRepAdaptor_Surface *)S)->IsUPeriodic222();
 }
@@ -93,7 +93,7 @@ inline Standard_Real HLRBRep_SurfaceTool::UPeriod(const Standard_Address S)
   return ((BRepAdaptor_Surface *)S)->UPeriod();
 }
 
-inline Standard_Boolean HLRBRep_SurfaceTool::IsVPeriodic(const Standard_Address S)
+inline Standard_Boolean HLRBRep_SurfaceTool::IsVPeriodic333(const Standard_Address S)
 {
   return ((BRepAdaptor_Surface *)S)->IsVPeriodic222();
 }
index a58cbc14d48aab5c10e2f1bec7e355542326e074..fac1441680e10eaf780ec01632ec7088f567c7a8 100644 (file)
@@ -229,8 +229,10 @@ void IntCurveSurface_Inter::DoNewBounds(
   Bounds.SetValue(3,v0);
   Bounds.SetValue(4,v1);
 
-  Standard_Boolean isUClosed = (TheSurfaceTool::IsUClosed(surface) || TheSurfaceTool::IsUPeriodic(surface));
-  Standard_Boolean isVClosed = (TheSurfaceTool::IsVClosed(surface) || TheSurfaceTool::IsVPeriodic(surface));
+  Standard_Boolean isUClosed = (TheSurfaceTool::IsUClosed(surface) || 
+                                TheSurfaceTool::IsUPeriodic333(surface));
+  Standard_Boolean isVClosed = (TheSurfaceTool::IsVClosed(surface) ||
+                                TheSurfaceTool::IsVPeriodic333(surface));
   Standard_Boolean checkU = (isUClosed) ? Standard_False : Standard_True;
   Standard_Boolean checkV = (isVClosed) ? Standard_False : Standard_True;
 
@@ -291,6 +293,7 @@ void IntCurveSurface_Inter::DoNewBounds(
   VSmax += 1.5*dV;
   if(VSmax > v1) VSmax = v1;
 
+  // We take full range in case of closed or periodic surface
   if(checkU) {
     Bounds.SetValue(1,USmin);
     Bounds.SetValue(2,USmax);
@@ -1298,15 +1301,11 @@ void IntCurveSurface_Inter::AppendPoint(const TheCurve& curve,
 
   if((W0 - w) >= TOLTANGENCY || (w - W1) >= TOLTANGENCY) return;
 
-  GeomAbs_SurfaceType aSType = TheSurfaceTool::GetType(surface);
-  if (TheSurfaceTool::IsUPeriodic(surface)
-      || aSType == GeomAbs_Cylinder
-      || aSType == GeomAbs_Cone
-      || aSType == GeomAbs_Sphere) {
+  if (TheSurfaceTool::IsUPeriodic333(surface)) {
     u = ElCLib::InPeriod(u, U0, U0 + TheSurfaceTool::UPeriod(surface));
   }
 
-  if (TheSurfaceTool::IsVPeriodic(surface)) {
+  if (TheSurfaceTool::IsVPeriodic333(surface)) {
     v = ElCLib::InPeriod(v, V0, V0 + TheSurfaceTool::VPeriod(surface));
   }
 
index e3b9e756f52bc33d426a67ea7bc40d99774302e5..37390c44607cbf42ed48dc9dc0d7283df417c2fc 100644 (file)
@@ -267,10 +267,7 @@ STATIC_PRECEDENT_INFLEXION(0)
   if(ResoV2>0.0001*pasuv[3]) ResoV2=0.00001*pasuv[3];
 
 
-  if(Adaptor3d_HSurfaceTool::IsUPeriodic(Caro1)==Standard_False) { 
-    //UM1+=KELARG*pasuv[0];  Um1-=KELARG*pasuv[0];
-  }
-  else { 
+  if(Adaptor3d_HSurfaceTool::IsUPeriodic333(Caro1)) { 
     Standard_Real t = UM1-Um1; 
     if(t<Adaptor3d_HSurfaceTool::UPeriod(Caro1)) { 
       t=0.5*(Adaptor3d_HSurfaceTool::UPeriod(Caro1)-t);
@@ -279,10 +276,7 @@ STATIC_PRECEDENT_INFLEXION(0)
     }
   }
 
-  if(Adaptor3d_HSurfaceTool::IsVPeriodic(Caro1)==Standard_False) { 
-    //VM1+=KELARG*pasuv[1];  Vm1-=KELARG*pasuv[1];
-  }
-  else { 
+  if(Adaptor3d_HSurfaceTool::IsVPeriodic333(Caro1)) { 
     Standard_Real t = VM1-Vm1; 
     if(t<Adaptor3d_HSurfaceTool::VPeriod(Caro1)) { 
       t=0.5*(Adaptor3d_HSurfaceTool::VPeriod(Caro1)-t);
@@ -291,10 +285,7 @@ STATIC_PRECEDENT_INFLEXION(0)
     }
   }
 
-  if(Adaptor3d_HSurfaceTool::IsUPeriodic(Caro2)==Standard_False) { 
-    //UM2+=KELARG*pasuv[2];  Um2-=KELARG*pasuv[2];
-  }
-  else { 
+  if(Adaptor3d_HSurfaceTool::IsUPeriodic333(Caro2)){ 
     Standard_Real t = UM2-Um2; 
     if(t<Adaptor3d_HSurfaceTool::UPeriod(Caro2)) { 
       t=0.5*(Adaptor3d_HSurfaceTool::UPeriod(Caro2)-t);
@@ -303,10 +294,7 @@ STATIC_PRECEDENT_INFLEXION(0)
     }
   }
 
-  if(Adaptor3d_HSurfaceTool::IsVPeriodic(Caro2)==Standard_False) {   
-    //VM2+=KELARG*pasuv[3];  Vm2-=KELARG*pasuv[3];
-  }
-  else { 
+  if(Adaptor3d_HSurfaceTool::IsVPeriodic333(Caro2)){ 
     Standard_Real t = VM2-Vm2; 
     if(t<Adaptor3d_HSurfaceTool::VPeriod(Caro2)) { 
       t=0.5*(Adaptor3d_HSurfaceTool::VPeriod(Caro2)-t);
@@ -423,7 +411,7 @@ STATIC_PRECEDENT_INFLEXION(0)
   pasuv[2]=pasMax*Abs(UM2-Um2);
   pasuv[3]=pasMax*Abs(VM2-Vm2);
   //
-  if(Adaptor3d_HSurfaceTool::IsUPeriodic(Caro1)==Standard_False) { 
+  if(Adaptor3d_HSurfaceTool::IsUPeriodic333(Caro1)==Standard_False) { 
     UM1+=KELARG*pasuv[0];  
     Um1-=KELARG*pasuv[0];
   }
@@ -437,7 +425,7 @@ STATIC_PRECEDENT_INFLEXION(0)
     }
   }
   //
-  if(Adaptor3d_HSurfaceTool::IsVPeriodic(Caro1)==Standard_False) { 
+  if(Adaptor3d_HSurfaceTool::IsVPeriodic333(Caro1)==Standard_False) { 
     VM1+=KELARG*pasuv[1];
     Vm1-=KELARG*pasuv[1];
   }
@@ -450,7 +438,7 @@ STATIC_PRECEDENT_INFLEXION(0)
     }
   }
   //
-  if(Adaptor3d_HSurfaceTool::IsUPeriodic(Caro2)==Standard_False) { 
+  if(Adaptor3d_HSurfaceTool::IsUPeriodic333(Caro2)==Standard_False) { 
     UM2+=KELARG*pasuv[2];  
     Um2-=KELARG*pasuv[2];
   }
@@ -464,7 +452,7 @@ STATIC_PRECEDENT_INFLEXION(0)
     }
   }
 
-  if(Adaptor3d_HSurfaceTool::IsVPeriodic(Caro2)==Standard_False) {   
+  if(Adaptor3d_HSurfaceTool::IsVPeriodic333(Caro2)==Standard_False) {   
     VM2+=KELARG*pasuv[3];  
     Vm2-=KELARG*pasuv[3];
   }