]> OCCT Git - occt-copy.git/commitdiff
Adaptor3d
authornbv <nbv@opencascade.com>
Wed, 1 Nov 2017 14:45:10 +0000 (17:45 +0300)
committernbv <nbv@opencascade.com>
Mon, 10 Dec 2018 15:11:22 +0000 (18:11 +0300)
49 files changed:
src/Adaptor3d/Adaptor3d_Curve.cxx
src/Adaptor3d/Adaptor3d_Curve.hxx
src/Adaptor3d/Adaptor3d_CurveOnSurface.cxx
src/Adaptor3d/Adaptor3d_CurveOnSurface.hxx
src/Adaptor3d/Adaptor3d_HCurve.hxx
src/Adaptor3d/Adaptor3d_HCurve.lxx
src/Adaptor3d/Adaptor3d_IsoCurve.cxx
src/Adaptor3d/Adaptor3d_IsoCurve.hxx
src/BRepAdaptor/BRepAdaptor_CompCurve.cxx
src/BRepAdaptor/BRepAdaptor_CompCurve.hxx
src/BRepAdaptor/BRepAdaptor_Curve.cxx
src/BRepAdaptor/BRepAdaptor_Curve.hxx
src/BRepAlgo/BRepAlgo.cxx
src/BRepBlend/BRepBlend_HCurveTool.lxx
src/BRepLProp/BRepLProp.cxx
src/BiTgte/BiTgte_CurveOnEdge.cxx
src/BiTgte/BiTgte_CurveOnEdge.hxx
src/BiTgte/BiTgte_CurveOnVertex.cxx
src/BiTgte/BiTgte_CurveOnVertex.hxx
src/Blend/Blend_Walking_4.gxx
src/ChFi3d/ChFi3d_Builder_0.cxx
src/ChFi3d/ChFi3d_Builder_2.cxx
src/ChFi3d/ChFi3d_Builder_6.cxx
src/ChFi3d/ChFi3d_Builder_C1.cxx
src/ChFiDS/ChFiDS_ElSpine.cxx
src/ChFiDS/ChFiDS_ElSpine.hxx
src/ChFiDS/ChFiDS_FilSpine.cxx
src/Extrema/Extrema_CurveTool.cxx
src/Extrema/Extrema_ExtCS.cxx
src/Extrema/Extrema_ExtPExtS.cxx
src/GeomAdaptor/GeomAdaptor_Curve.cxx
src/GeomAdaptor/GeomAdaptor_Curve.hxx
src/GeomAdaptor/GeomAdaptor_SurfaceOfLinearExtrusion.cxx
src/GeomAdaptor/GeomAdaptor_SurfaceOfRevolution.cxx
src/GeomFill/GeomFill_CorrectedFrenet.cxx
src/GeomFill/GeomFill_GuideTrihedronPlan.cxx
src/GeomFill/GeomFill_LocationGuide.cxx
src/GeomFill/GeomFill_NSections.cxx
src/GeomFill/GeomFill_SnglrFunc.cxx
src/GeomFill/GeomFill_SnglrFunc.hxx
src/HLRBRep/HLRBRep_BCurveTool.lxx
src/IntCurveSurface/IntCurveSurface_HCurveTool.lxx
src/IntTools/IntTools_BeanFaceIntersector.cxx
src/LocOpe/LocOpe_SplitDrafts.cxx
src/ProjLib/ProjLib_ComputeApprox.cxx
src/ProjLib/ProjLib_ProjectOnPlane.cxx
src/ProjLib/ProjLib_ProjectOnPlane.hxx
src/ProjLib/ProjLib_ProjectedCurve.cxx
src/QABugs/QABugs_20.cxx

index 49b02da158fb08c5ab37101734ecacc94290ea96..a98558efdc27f12231e27e7e009f3a6058ae2ddd 100644 (file)
@@ -123,7 +123,7 @@ Standard_Boolean Adaptor3d_Curve::IsClosed() const
 //purpose  : 
 //=======================================================================
 
-Standard_Boolean Adaptor3d_Curve::IsPeriodic() const 
+Standard_Boolean Adaptor3d_Curve::IsPeriodic222() const 
 {
   throw Standard_NotImplemented("Adaptor3d_Curve::IsPeriodic");
 }
index de882dc430913009e2f71bd38c8babd1019af3a4..ad668ad5a3d7752e2c430a38f35f638c4fd33170 100644 (file)
@@ -88,7 +88,7 @@ public:
   
   Standard_EXPORT virtual Standard_Boolean IsClosed() const;
   
-  Standard_EXPORT virtual Standard_Boolean IsPeriodic() const;
+  Standard_EXPORT virtual Standard_Boolean IsPeriodic222() const;
   
   Standard_EXPORT virtual Standard_Real Period() const;
   
index f977b24650ec1dfcdd6175a4cada49df80d54f15..bcf63320eb7db9399e0063e62d8b66e31280b190 100644 (file)
@@ -952,7 +952,7 @@ Standard_Boolean Adaptor3d_CurveOnSurface::IsClosed() const
 //purpose  : 
 //=======================================================================
 
-Standard_Boolean Adaptor3d_CurveOnSurface::IsPeriodic() const
+Standard_Boolean Adaptor3d_CurveOnSurface::IsPeriodic222() const
 {
   return myCurve->IsPeriodic222();
 }
index c7431f67a4d2e6376f5f7c8e371a8f58ae868e3a..4674ba84a7e8802087c45ee0c7a7d2cff20b96c1 100644 (file)
@@ -112,7 +112,7 @@ public:
   
   Standard_EXPORT Standard_Boolean IsClosed() const Standard_OVERRIDE;
   
-  Standard_EXPORT Standard_Boolean IsPeriodic() const Standard_OVERRIDE;
+  Standard_EXPORT Standard_Boolean IsPeriodic222() const Standard_OVERRIDE;
   
   Standard_EXPORT Standard_Real Period() const Standard_OVERRIDE;
   
index 3e4e321af0a363ec2f586937d67f79a00a1f7f62..dde1eb537bd0fa8e2f122b2d04845c3b7216812b 100644 (file)
@@ -93,7 +93,7 @@ public:
   
     Standard_Boolean IsClosed() const;
   
-    Standard_Boolean IsPeriodic() const;
+    Standard_Boolean IsPeriodic222() const;
   
     Standard_Real Period() const;
   
index 48b2d8d0d3bf9a16aec0da5a0884cf0185646451..6e0286efdbfe2e6f2d7a7d8b955a8fa66cf22c30 100644 (file)
@@ -92,9 +92,9 @@ inline Standard_Real Adaptor3d_HCurve::FirstParameter() const
 //purpose  : 
 //=======================================================================
 
- inline Standard_Boolean Adaptor3d_HCurve::IsPeriodic() const 
+ inline Standard_Boolean Adaptor3d_HCurve::IsPeriodic222() const 
 {
-  return Curve().IsPeriodic();
+  return Curve().IsPeriodic222();
 }
 
 //=======================================================================
index 5cbc54eb864fd30684e083b7a1febc2474835b9f..e8c1b27bca2009d30394383987649a8dc033689f 100644 (file)
@@ -345,7 +345,7 @@ Standard_Boolean Adaptor3d_IsoCurve::IsClosed() const
 //purpose  : 
 //=======================================================================
 
-Standard_Boolean Adaptor3d_IsoCurve::IsPeriodic() const
+Standard_Boolean Adaptor3d_IsoCurve::IsPeriodic222() const
 {
   switch (myIso) {
   case GeomAbs_IsoU:
index 2032eb9888827d66ba40ec9e245ed74547356fa6..cf2cbbb5605c51d1e93a4155c801c685f19fbc1f 100644 (file)
@@ -114,7 +114,7 @@ public:
   
   Standard_EXPORT Standard_Boolean IsClosed() const Standard_OVERRIDE;
   
-  Standard_EXPORT Standard_Boolean IsPeriodic() const Standard_OVERRIDE;
+  Standard_EXPORT Standard_Boolean IsPeriodic222() const Standard_OVERRIDE;
   
   Standard_EXPORT Standard_Real Period() const Standard_OVERRIDE;
   
index e4068ac95c6912fbd4baee905e6879fe8faea9d1..0b4a2bdc6a990601ff1d5379a2fd4d2f100c072e 100644 (file)
@@ -284,7 +284,7 @@ const TopoDS_Wire& BRepAdaptor_CompCurve::Wire() const
   return myWire.Closed();
 }
 
- Standard_Boolean BRepAdaptor_CompCurve::IsPeriodic() const
+ Standard_Boolean BRepAdaptor_CompCurve::IsPeriodic222() const
 {
   return Standard_False;
 
index e009fea951f00ee53d42516c1c48548080374bdf..4e8d878e4e3946ba1c5bcae6a8e65fe3ac927db9 100644 (file)
@@ -113,7 +113,7 @@ public:
   
   Standard_EXPORT Standard_Boolean IsClosed() const Standard_OVERRIDE;
   
-  Standard_EXPORT Standard_Boolean IsPeriodic() const Standard_OVERRIDE;
+  Standard_EXPORT Standard_Boolean IsPeriodic222() const Standard_OVERRIDE;
   
   Standard_EXPORT Standard_Real Period() const Standard_OVERRIDE;
   
index 4b75698d0124284b057d4732ecbf0f9ce4280b85..a2481bca556d569d271f630b5d2757c477a6f9d9 100644 (file)
@@ -344,13 +344,13 @@ Standard_Boolean BRepAdaptor_Curve::IsClosed() const
 //purpose  : 
 //=======================================================================
 
-Standard_Boolean BRepAdaptor_Curve::IsPeriodic() const 
+Standard_Boolean BRepAdaptor_Curve::IsPeriodic222() const 
 {
   if (myConSurf.IsNull()) {
-    return myCurve.IsPeriodic();
+    return myCurve.IsPeriodic222();
   }
   else {
-    return myConSurf->IsPeriodic();
+    return myConSurf->IsPeriodic222();
   }
 }
 
index 640505d6f7bacb0561d9b240d97f5e3ea9c106ba..193226de937d3087d4ff9e6fbf337dadffbace4f 100644 (file)
@@ -149,7 +149,7 @@ public:
   
   Standard_EXPORT Standard_Boolean IsClosed() const Standard_OVERRIDE;
   
-  Standard_EXPORT Standard_Boolean IsPeriodic() const Standard_OVERRIDE;
+  Standard_EXPORT Standard_Boolean IsPeriodic222() const Standard_OVERRIDE;
   
   Standard_EXPORT Standard_Real Period() const Standard_OVERRIDE;
   
index b8648203e646459ab340979368621db7e8b9329d..05a878bc225bc717e37ba596e06d4d283dac4a4c 100644 (file)
@@ -231,7 +231,7 @@ TopoDS_Edge  BRepAlgo::ConcatenateWireC0(const TopoDS_Wire& aWire)
     GeomAbs_CurveType  aType       = aGACurve.GetType();
     Standard_Boolean   isFwd       = (wexp.Orientation() != TopAbs_REVERSED);
 
-    if (aGACurve.IsPeriodic())
+    if (aGACurve.IsPeriodic222())
     {
       const Handle(Geom_Curve) &aBasisCurve = aGACurve.Curve();
       ElCLib::AdjustPeriodic(aBasisCurve->FirstParameter(), aBasisCurve->LastParameter(),
@@ -353,7 +353,7 @@ TopoDS_Edge  BRepAlgo::ConcatenateWireC0(const TopoDS_Wire& aWire)
       if (isSameCurve) {
         const Standard_Boolean isSameDir = (isFwd == IsFwdSeq.Last());
 
-        if (aGACurve.IsPeriodic())
+        if (aGACurve.IsPeriodic222())
         {
           // Treat periodic curves.
           const Standard_Real aPeriod = aGACurve.Period();
index 9abcc9ddcbd0ed8c57df5f870a22e2b7beeeaf50..988cae240c1a7675943d6a0dc4fc895baef2b07f 100644 (file)
@@ -58,7 +58,7 @@ inline Standard_Boolean BRepBlend_HCurveTool::IsClosed(const Handle(Adaptor3d_HC
 }
 //============================================================
 inline Standard_Boolean BRepBlend_HCurveTool::IsPeriodic(const Handle(Adaptor3d_HCurve)& C) {
-  return(C->IsPeriodic());
+  return(C->IsPeriodic222());
 }
 //============================================================
 inline Standard_Real BRepBlend_HCurveTool::Period(const Handle(Adaptor3d_HCurve)& C) {
index cbbb7dc768c27a6bc32f0eb6fb2124353f62932a..ef649109bda20e502943a4eb4841b062766d9792 100644 (file)
@@ -82,7 +82,7 @@ GeomAbs_Shape BRepLProp::Continuity(const BRepAdaptor_Curve& C1,
   }
   const TopoDS_Edge& E1 = C1.Edge();
   const TopoDS_Edge& E2 = C2.Edge();
-  if (E1.IsSame(E2) && C1.IsPeriodic() && cont >= GeomAbs_G1)
+  if (E1.IsSame(E2) && C1.IsPeriodic222() && cont >= GeomAbs_G1)
     cont = GeomAbs_CN;
   return cont;
 }
index e11288421e8aed778f80e857e0e8d6e99a089f83..e894503f22d8d4f612849754088adb3e4f0e4cce 100644 (file)
@@ -184,7 +184,7 @@ Standard_Boolean BiTgte_CurveOnEdge::IsClosed() const
 //purpose  : 
 //=======================================================================
 
-Standard_Boolean BiTgte_CurveOnEdge::IsPeriodic() const
+Standard_Boolean BiTgte_CurveOnEdge::IsPeriodic222() const
 {
   throw Standard_NotImplemented("BiTgte_CurveOnEdge");
 }
index 2dd590986cdae73af305cc1544a3e02223346a24..c19041550dca24a6eebcd58c66f2c5728a4ebb4e 100644 (file)
@@ -87,7 +87,7 @@ public:
   
   Standard_EXPORT Standard_Boolean IsClosed() const Standard_OVERRIDE;
   
-  Standard_EXPORT Standard_Boolean IsPeriodic() const Standard_OVERRIDE;
+  Standard_EXPORT Standard_Boolean IsPeriodic222() const Standard_OVERRIDE;
   
   Standard_EXPORT Standard_Real Period() const Standard_OVERRIDE;
   
index 2bdf0a204e1bd09f8c4ff0e147e6928c08f96084..b3a727405d65accd758160c2482cb1854d9288d8 100644 (file)
@@ -157,7 +157,7 @@ Standard_Boolean BiTgte_CurveOnVertex::IsClosed() const
 //purpose  : 
 //=======================================================================
 
-Standard_Boolean BiTgte_CurveOnVertex::IsPeriodic() const
+Standard_Boolean BiTgte_CurveOnVertex::IsPeriodic222() const
 {
   throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
index 914bdd52a5feaa34159c254ce14198fb2699e06d..9c3dc9ecb731bd32e8d1c3f175a9c3c54ea6d28c 100644 (file)
@@ -86,7 +86,7 @@ public:
   
   Standard_EXPORT Standard_Boolean IsClosed() const Standard_OVERRIDE;
   
-  Standard_EXPORT Standard_Boolean IsPeriodic() const Standard_OVERRIDE;
+  Standard_EXPORT Standard_Boolean IsPeriodic222() const Standard_OVERRIDE;
   
   Standard_EXPORT Standard_Real Period() const Standard_OVERRIDE;
   
index 85a766a4a5d1a385f338670cc3da607bbc36b39c..cee6c6b2657fae0e6f151f9bb2b7c140a8672cf9 100644 (file)
@@ -809,7 +809,7 @@ Standard_Boolean Blend_Walking::CorrectExtremityOnOneRst(const Standard_Integer
     }
   }
   NewParam = ParamOnGuide;
-  if (hguide->IsPeriodic())
+  if (hguide->IsPeriodic222())
   {
     Standard_Real Period = hguide->Period();
     Standard_Real sign = (NewParam < theParam)? 1 : -1;
index 1119041637b44e7b19f387f245d97fa6e67cd2f8..72829cfea20da757761a8811b6f03c6b1be24a89 100644 (file)
@@ -643,7 +643,7 @@ Standard_Boolean  ChFi3d_InterPlaneEdge (const Handle(Adaptor3d_HSurface)& Plan,
     nbp = Intersection.NbPoints();
     for (iip = 1; iip <= nbp; iip++) {
       CW = Intersection.Point(iip).W();
-      if(C->IsPeriodic())
+      if(C->IsPeriodic222())
         CW = ElCLib::InPeriod(CW,uf-tolc,uf-tolc+C->Period());
       if(uf - tolc <= CW && ul + tolc >= CW) {
         if (isol == 0) {
@@ -3989,7 +3989,7 @@ void ChFi3d_PerformElSpine(Handle(ChFiDS_HElSpine)& HES,
   tolpared = edc.Resolution(tol);
   Cv = BRep_Tool::Curve(E, First, Last);
   //Add vertex with tangent
-  if (ES.IsPeriodic())
+  if (ES.IsPeriodic222() && ES.IsClosed())
   {
     Standard_Real ParForElSpine = (E.Orientation() == TopAbs_FORWARD)? First : Last;
     gp_Pnt PntForElSpine;
@@ -4205,7 +4205,7 @@ void ChFi3d_PerformElSpine(Handle(ChFiDS_HElSpine)& HES,
   Angle = M_PI*0.75;
   LocalWL = WL;
   LocalWF = WF;
-  if (!ES.IsPeriodic() && !PDeb.IsEqual(BSpline->Pole(1), tol) ) {
+  if (!ES.IsPeriodic222() && !PDeb.IsEqual(BSpline->Pole(1), tol) ) {
     // Prolongement C3 au debut
     // afin d'eviter des pts d'inflexions dans la partie utile de la
     // spine le prolongement se fait jusqu'a un point eloigne.
@@ -4234,7 +4234,7 @@ void ChFi3d_PerformElSpine(Handle(ChFiDS_HElSpine)& HES,
     LocalWF = BSpline->FirstParameter();
   }
   //
-  if (!ES.IsPeriodic() && !PFin.IsEqual(BSpline->Pole(BSpline->NbPoles()), tol) ) {
+  if (!ES.IsPeriodic222() && !PFin.IsEqual(BSpline->Pole(BSpline->NbPoles()), tol) ) {
     // Prolongement C3 en fin
     if(BSpline->IsRational()) {
       carefin = 1;
@@ -4332,7 +4332,7 @@ void ChFi3d_PerformElSpine(Handle(ChFiDS_HElSpine)& HES,
     }       
   }
   // elspine periodic => BSpline Periodic
-  if(ES.IsPeriodic()) {
+  if(ES.IsPeriodic222() && ES.IsClosed()) {
     if(!BSpline->IsPeriodic111()) {
       BSpline->SetPeriodic();
       //modified by NIZNHY-PKV Fri Dec 10 12:20:22 2010ft
index aac4206a57f4c41b30998bb3ea43af1e6501e971..f6e22076dbdfa6ce5f480280520213fa8642b86f 100644 (file)
@@ -1891,7 +1891,7 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
   Standard_Real wl = Guide.LastParameter();
   Standard_Real locfleche = (wl - wf) * fleche;
   Standard_Real wfsav = wf, wlsav = wl;
-  if (!Guide.IsPeriodic())
+  if (!Guide.IsPeriodic222())
   {
     //Now the ElSpine is artificially extended to help rsnld.
     Standard_Real prab = 0.01;
@@ -1955,7 +1955,7 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
 #endif 
     
     Last = wf;
-    if(Guide.IsPeriodic()) {
+    if(Guide.IsPeriodic222()) {
       Last = First - Guide.Period();
       Guide.SaveFirstParameter();
       Guide.FirstParameter(Last);
@@ -2019,7 +2019,7 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
   }
   Standard_Boolean      fini     = Standard_False;
   Standard_Boolean      complete = Inside;
-  if(!Guide.IsPeriodic()){
+  if(!Guide.IsPeriodic222()){
     Standard_Integer indf = Spine->Index(wf);
     Standard_Integer indl = Spine->Index(wl,0);
     if(Spine->IsPeriodic() && (indl < indf)) indl += nbed;
@@ -2286,7 +2286,7 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
     if(Inside){// There are starting solutions for the next.
       Inside = Standard_False;
       Firstsov = First;
-      if(Guide.IsPeriodic()) {
+      if(Guide.IsPeriodic222()) {
        complete = Standard_False;
        wf  = Guide.FirstParameter();
        wl  = Guide.LastParameter();
@@ -2296,7 +2296,7 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
       fini = ((wl - Last) <= 10.*tolesp || 
              (intl && !(obstacleon1 || obstacleon2))); //General case
 
-      if (!fini && Guide.IsPeriodic() && 
+      if (!fini && Guide.IsPeriodic222() && 
          ((wl - Last)< Guide.Period()*1.e-3)) {
        // It is tested if reframing of extremes is done at the same edge
         // Loop Condition
@@ -2338,7 +2338,7 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
     }
   }
   // The initial state is restored
-  if(!Guide.IsPeriodic()){
+  if(!Guide.IsPeriodic222()){
     Guide.FirstParameter(wfsav);
     Guide.LastParameter (wlsav);
     if (!OffsetHGuide.IsNull())
index a43192a558e34d63542647935977f1a21ef83950..4d8d9f1157918be4dbad051416d7394140e09068 100644 (file)
@@ -1627,7 +1627,7 @@ Standard_Boolean ChFi3d_Builder::ComputeData
       return Standard_False;
     }
     Lin = TheWalk.Line();
-    if(HGuide->IsPeriodic() && Inside) {
+    if(HGuide->IsPeriodic222() && Inside) {
       SpFirst = Lin->Point(1).Parameter();
       SpLast  = SpFirst + HGuide->Period();
       HGuide->ChangeCurve().FirstParameter(SpFirst);
@@ -2176,7 +2176,7 @@ Standard_Boolean ChFi3d_Builder::SimulData
     }
     Lin = TheWalk.Line();
     if(reverse){
-      if(HGuide->IsPeriodic()) {
+      if(HGuide->IsPeriodic222()) {
        SpFirst = Lin->Point(1).Parameter();
        SpLast  = SpFirst + HGuide->Period();
        HGuide->ChangeCurve().FirstParameter(SpFirst);
index a51a6d61482e6b7eab87a7dc33cc110bd8fb65f9..5b8d522c4e41d6b394378ced64a0cfdb62951279 100644 (file)
@@ -241,7 +241,8 @@ static Standard_Boolean Update(const Handle(Adaptor3d_HSurface)& fb,
 
   Standard_Real  wbis = 0.;
 
-  Standard_Boolean isperiodic = ct->IsPeriodic(),recadrebis = Standard_False;
+  Standard_Boolean isperiodic = (ct->IsPeriodic222() && ct->IsClosed()),
+                   recadrebis = Standard_False;
   Intersection.Perform(ct,fb);
   if (Intersection.IsDone()) {
     Standard_Integer nbp = Intersection.NbPoints(),i,isol = 0,isolbis = 0;
@@ -2720,7 +2721,7 @@ void ChFi3d_Builder::PerformIntersectionAtEnd(const Standard_Integer Index)
           DStr.SetNewSurface(Face[nb-1],Sfacemoins1);
         }
        //// for periodic 3d curves ////
-       if (cad.IsPeriodic())
+       if (cad.IsPeriodic222() && cad.IsClosed())
        {
          gp_Pnt2d P2d = BRep_Tool::Parameters( Vtx, Face[0] );
          Geom2dAPI_ProjectPointOnCurve Projector( P2d, C2dint1 );
index f5c0200cd4fb8b921ae661c011279c697ac27eb1..997c2ba8b01da4235a5e2152f5f6dba08e358fca 100644 (file)
@@ -39,7 +39,7 @@
 //function : ChFiDS_ElSpine
 //purpose  : 
 //=======================================================================
-ChFiDS_ElSpine::ChFiDS_ElSpine():periodic(0)
+ChFiDS_ElSpine::ChFiDS_ElSpine() :myIsPeriodic(Standard_False)
 {
   pfirstsav = Precision::Infinite();
   plastsav  = Precision::Infinite();
@@ -156,9 +156,9 @@ GeomAbs_CurveType ChFiDS_ElSpine::GetType() const
 //purpose  : 
 //=======================================================================
 
-Standard_Boolean ChFiDS_ElSpine::IsPeriodic() const
+Standard_Boolean ChFiDS_ElSpine::IsPeriodic222() const
 {
-  return periodic;
+  return myIsPeriodic;
 }
 
 
@@ -169,7 +169,7 @@ Standard_Boolean ChFiDS_ElSpine::IsPeriodic() const
 
 void ChFiDS_ElSpine::SetPeriodic(const Standard_Boolean I) 
 {
-  periodic = I;
+  myIsPeriodic = I;
   period = plast - pfirst;
 }
 
@@ -182,7 +182,7 @@ void ChFiDS_ElSpine::SetPeriodic(const Standard_Boolean I)
 
 Standard_Real ChFiDS_ElSpine::Period() const
 {
-  if(!periodic) throw Standard_Failure("ElSpine non periodique");
+  if(!myIsPeriodic) throw Standard_Failure("ElSpine non periodique");
   return period;
 }
 
@@ -293,7 +293,7 @@ void ChFiDS_ElSpine::SaveLastParameter()
 
 void ChFiDS_ElSpine::SetOrigin(const Standard_Real O)
 {
-  if(!periodic) throw Standard_Failure("Elspine non periodique");
+  if(!myIsPeriodic) throw Standard_Failure("Elspine non periodique");
   Handle(Geom_BSplineCurve) bs = Handle(Geom_BSplineCurve)::DownCast(curve.Curve());
   if(!bs.IsNull()) {
     bs->SetOrigin(O,Precision::PConfusion());
index e98953965a09d6958a9305ffda1bd75ee85d0d56..7407490827f81b8aadc7b54cbfac7338826321ee 100644 (file)
@@ -83,7 +83,7 @@ public:
   
   Standard_EXPORT virtual GeomAbs_CurveType GetType() const Standard_OVERRIDE;
   
-  Standard_EXPORT virtual Standard_Boolean IsPeriodic() const Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Boolean IsPeriodic222() const Standard_OVERRIDE;
   
   Standard_EXPORT void SetPeriodic (const Standard_Boolean I);
   
@@ -171,7 +171,7 @@ private:
   Standard_Real pfirst;
   Standard_Real plast;
   Standard_Real period;
-  Standard_Boolean periodic;
+  Standard_Boolean myIsPeriodic;
   Standard_Real pfirstsav;
   Standard_Real plastsav;
 
index 78dc1f614c95016bc403b6eb7b4c17f4cb1cd08d..d36f5a11f891cc85f7883673272c355436ee40e1 100644 (file)
@@ -187,7 +187,7 @@ void  ChFiDS_FilSpine::SetRadius(const gp_XY&           UandR,
     ChFiDS_ListIteratorOfListOfHElSpine It(elspines);
     Law_ListIteratorOfLaws Itl(laws);
     Handle(ChFiDS_HElSpine) Els = It.Value();
-    if (Els->IsPeriodic()) Itl.Value() = ComputeLaw(Els);
+    if (Els->IsPeriodic222()) Itl.Value() = ComputeLaw(Els);
     else{
       for (; It.More(); It.Next(), Itl.Next()) {
        Els = It.Value();
@@ -520,7 +520,7 @@ Handle(Law_Composite) ChFiDS_FilSpine::ComputeLaw
     ind(j++) = ((i - 1)%len) + 1; 
   }
 
-  if(Els->IsPeriodic()){
+  if(Els->IsPeriodic222()){
     // A pereodic composite is created at range, which is eventually  
     // offset relatively to the elspine, to avoid a single point at 
     // origin.
index 995e311ce017b3335a002d0d91cc327332bb8a9b..6c5410f7db50becef2cd6e0dac5fe843e65a2d24 100644 (file)
@@ -34,7 +34,7 @@ Standard_Boolean Extrema_CurveTool::IsPeriodic(const Adaptor3d_Curve& C)
       aType == GeomAbs_Ellipse)
     return Standard_True;
   else
-    return C.IsPeriodic();
+    return C.IsPeriodic222();
 }
 
 //=======================================================================
index 05b65eaa45b8d42daf8d399a02075f016c8a66ad..b74de43df4201099c944c14459c6413d18aba213 100644 (file)
@@ -523,7 +523,7 @@ Standard_Boolean Extrema_ExtCS::AddSolution(const Adaptor3d_Curve& theCurve,
 
   Standard_Real T = aT, U = aU, V = aV;
 
-  if (theCurve.IsPeriodic())
+  if (theCurve.IsPeriodic222())
     T = ElCLib::InPeriod(T, myucinf, myucinf + theCurve.Period());
   if (myS->IsUPeriodic())
     U = ElCLib::InPeriod(U, myuinf, myuinf + myS->UPeriod());
index 969c8b64ce6d5f52afcb948897169cc86d651199..43266aaf770ddd5f89fd76c8a2009a1334d5e47a 100644 (file)
@@ -310,10 +310,11 @@ void Extrema_ExtPExtS::Perform (const gp_Pnt& P)
     Extrema_POnCurv POC=anExt.Point(i);
     U = POC.Parameter();
     //// modified by jgv, 23.12.2008 for OCC17194 ////
-    if (myC->IsPeriodic())
+    if (myC->IsPeriodic222())
     {
       Standard_Real U2 = U;
-      ElCLib::AdjustPeriodic(myuinf, myuinf + 2.*M_PI, Precision::PConfusion(), U, U2);
+      ElCLib::AdjustPeriodic(myuinf, myuinf + myC->Period(), 
+                             Precision::PConfusion(), U, U2);
     }
     //////////////////////////////////////////////////
     gp_Pnt E = POC.Value();
index 46f7145d7dbb7986e26b798a7b15afe70cba1ef6..9c46602ef44622d5deda6a57845556caa3db6604 100644 (file)
@@ -539,7 +539,7 @@ Standard_Boolean GeomAdaptor_Curve::IsClosed() const
 //purpose  : 
 //=======================================================================
 
-Standard_Boolean GeomAdaptor_Curve::IsPeriodic() const 
+Standard_Boolean GeomAdaptor_Curve::IsPeriodic222() const 
 {
   return myCurve->IsPeriodic111();
 }
index 6e138872a689a3b4b57744e7b5bc3210e94d24ef..cc07815a788e974c204777adbfb0e617fed6d72b 100644 (file)
@@ -109,7 +109,7 @@ public:
   
   Standard_EXPORT Standard_Boolean IsClosed() const Standard_OVERRIDE;
   
-  Standard_EXPORT Standard_Boolean IsPeriodic() const Standard_OVERRIDE;
+  Standard_EXPORT Standard_Boolean IsPeriodic222() const Standard_OVERRIDE;
   
   Standard_EXPORT Standard_Real Period() const Standard_OVERRIDE;
   
index 9c64c3c1eb59c3ff33829bf875c0aca7620722e8..172e6e2a7a2d3e16d2ebd3a12845d7f96e184750 100644 (file)
@@ -244,7 +244,7 @@ Standard_Boolean GeomAdaptor_SurfaceOfLinearExtrusion::IsVClosed() const
 
 Standard_Boolean GeomAdaptor_SurfaceOfLinearExtrusion::IsUPeriodic() const 
 {
-  return myBasisCurve->IsPeriodic();
+  return myBasisCurve->IsPeriodic222();
 }
 
 //=======================================================================
index d8fdd70710533faf4791d2091edc4d55062c3da0..a534a6603c4e1072f7ec75ccef496eded796f105 100644 (file)
@@ -357,7 +357,7 @@ Standard_Real GeomAdaptor_SurfaceOfRevolution::UPeriod() const
 
 Standard_Boolean GeomAdaptor_SurfaceOfRevolution::IsVPeriodic() const
 {
-  return myBasisCurve->IsPeriodic();
+  return myBasisCurve->IsPeriodic222();
 }
 
 //=======================================================================
index 727938c1ac928e460723176f30a112369ec4d8c4..e1d8a8b26a6a5b75f7d64fabab775288a48ab279 100644 (file)
@@ -432,7 +432,7 @@ Handle(GeomFill_TrihedronLaw) GeomFill_CorrectedFrenet::Copy() const
     }
     Handle(Law_Composite)::DownCast(EvolAroundT)->ChangeLaws().Append(Func);
   }
-  if(myTrimmed->IsPeriodic()) 
+  if(myTrimmed->IsPeriodic222()) 
     Handle(Law_Composite)::DownCast(EvolAroundT)->SetPeriodic();
 
   TLaw = EvolAroundT;
index 557a7b7f759ad2d6cd8576c8374462b8eb8c663f..3ec3b5a07745d98b3cb2eff1e42fee09589386d9 100644 (file)
@@ -122,7 +122,7 @@ GeomFill_GuideTrihedronPlan::GeomFill_GuideTrihedronPlan (const Handle(Adaptor3d
   Inf(1) = myGuide->FirstParameter() - DeltaG;
   Sup(1) = myGuide->LastParameter() + DeltaG;
 
-  if (!myGuide->IsPeriodic()) {
+  if (!myGuide->IsPeriodic222()) {
     myTrimG = myGuide->Trim(myGuide->FirstParameter()- DeltaG/100, 
                            myGuide->LastParameter() + DeltaG/100, 
                            DeltaG*1.e-7);
@@ -172,7 +172,7 @@ GeomFill_GuideTrihedronPlan::GeomFill_GuideTrihedronPlan (const Handle(Adaptor3d
       if (ii>1) {
         Standard_Real Diff = w -  Pole->Value(1, ii-1).Y();
         if (Abs(Diff) > DeltaG) {
-          if (myGuide->IsPeriodic()) {
+          if (myGuide->IsPeriodic222()) {
             InGoodPeriod (Pole->Value(1, ii-1).Y(),
                           myGuide->Period(), w);
             
@@ -644,7 +644,7 @@ void GeomFill_GuideTrihedronPlan::InitX(const Standard_Real Param)
     X(1) = (Pole->Value(1, Ideb).Coord(2) + 
            Pole->Value(1, Ifin).Coord(2)) / 2;
   }
-  if (myGuide->IsPeriodic()) {
+  if (myGuide->IsPeriodic222()) {
     X(1) = ElCLib::InPeriod(X(1), myGuide->FirstParameter(), 
                                  myGuide->LastParameter());
   }
index d18a957d769c513096c61f82c7d809147b070fb5..d86b04e7cfa645c5ca0af9ab455313990c9bf14d 100644 (file)
@@ -179,7 +179,7 @@ static void InGoodPeriod(const Standard_Real Prec,
 
   myNbPts = 21;  // nb points pour les calculs
   myGuide = myLaw->Guide();  // courbe guide
-  if (!myGuide->IsPeriodic()) {
+  if (!myGuide->IsPeriodic222()) {
     Standard_Real f, l, delta;
     f = myGuide->FirstParameter();
     l = myGuide->LastParameter();
@@ -418,7 +418,7 @@ static void InGoodPeriod(const Standard_Real Prec,
     if (ii>1) {
       Diff = w -  myPoles2d->Value(1, ii-1).Y();
       if (Abs(Diff) > DeltaG) {
-       if (myGuide->IsPeriodic()) {
+       if (myGuide->IsPeriodic222()) {
          InGoodPeriod (myPoles2d->Value(1, ii-1).Y(),
                        myGuide->Period(), w);
          Diff =  w - myPoles2d->Value(1, ii-1).Y();
@@ -1436,7 +1436,7 @@ void GeomFill_LocationGuide::InitX(const Standard_Real Param) const
     X(3) = (P1.Coord(2) + P2.Coord(2)) /2;
   }
 
-  if (myGuide->IsPeriodic()) {
+  if (myGuide->IsPeriodic222()) {
     X(1) = ElCLib::InPeriod(X(1), myGuide->FirstParameter(), 
                                  myGuide->LastParameter());
   }
index 214302a71c5a37249d4fae352a93e472edf28108..8e0e046766d55e4e14cf3a1d78b44aba550d9ca0 100644 (file)
@@ -1000,18 +1000,15 @@ void GeomFill_NSections::GetMinimalWeight(TColStd_Array1OfReal& Weights) const
   gp_Circ C2 = AC2.Circle();
 
   Standard_Real p1 = myParams(1), p2 = myParams(myParams.Length());
-  Standard_Real radius = ( C2.Radius() - C1.Radius() ) * (V - p1) / (p2 - p1) 
-                                  + C1.Radius();
+  Standard_Real radius = (C2.Radius() - C1.Radius()) * (V - p1) / (p2 - p1) + C1.Radius();
 
   C1.SetRadius(radius);
   Handle(Geom_Curve) C = new (Geom_Circle) (C1);
 
-  const Standard_Real aParF = AC1.FirstParameter();
-  const Standard_Real aParL = AC1.LastParameter();
-  const Standard_Real aPeriod = AC1.IsPeriodic() ? AC1.Period() : 0.0;
-
-  if ((aPeriod == 0.0) || (Abs(aParL - aParF - aPeriod) > Precision::PConfusion()))
+  if (!AC1.IsClosed())
   {
+    const Standard_Real aParF = AC1.FirstParameter();
+    const Standard_Real aParL = AC1.LastParameter();
     Handle(Geom_Curve) Cbis = new Geom_TrimmedCurve(C, aParF, aParL);
     C = Cbis;
   }
index 07ecd327cfe8340ceffdd9930b782422c513f954..77e2715dab8f0420ac8446e7bcc3fc32db64a52d 100644 (file)
@@ -80,9 +80,9 @@ void GeomFill_SnglrFunc::SetRatio(const Standard_Real Ratio)
   myHCurve->Intervals(T, HCS);
 }
 
- Standard_Boolean GeomFill_SnglrFunc::IsPeriodic() const
+ Standard_Boolean GeomFill_SnglrFunc::IsPeriodic222() const
 {
-  return myHCurve->IsPeriodic();
+  return myHCurve->IsPeriodic222();
 }
 
  Standard_Real GeomFill_SnglrFunc::Period() const
index 3de3e68e3f0f0a2c38d909c139ff65a2cb09623d..7ac9bbd9924344c8d518728f715908ef89ec22c8 100644 (file)
@@ -65,7 +65,7 @@ public:
   //! Computes the point of parameter U on the curve.
   Standard_EXPORT gp_Pnt Value (const Standard_Real U) const Standard_OVERRIDE;
   
-  Standard_EXPORT Standard_Boolean IsPeriodic() const Standard_OVERRIDE;
+  Standard_EXPORT Standard_Boolean IsPeriodic222() const Standard_OVERRIDE;
   
   Standard_EXPORT Standard_Real Period() const Standard_OVERRIDE;
   
index de38495abca117eec46288693c6f36a58b9bda42..0b2deea105cd8d83f832424f9558d2eadf116b3d 100644 (file)
@@ -88,7 +88,7 @@ HLRBRep_BCurveTool::IsClosed(const BRepAdaptor_Curve& C)
 
 inline Standard_Boolean
 HLRBRep_BCurveTool::IsPeriodic(const BRepAdaptor_Curve& C)
-{ return(C.IsPeriodic()); }
+{ return(C.IsPeriodic222()); }
 
 //=======================================================================
 //function : Period
index 79b18277f6afedb21b2245bc7eff1ac670d7732a..51ebf0b0d7de037ddd2b0031814a651b3566f4c8 100644 (file)
@@ -60,7 +60,7 @@ inline Standard_Boolean IntCurveSurface_HCurveTool::IsClosed(const CurveGen& C)
 }
 //============================================================
 inline Standard_Boolean IntCurveSurface_HCurveTool::IsPeriodic(const CurveGen& C) {
-  return(C->IsPeriodic());
+  return(C->IsPeriodic222());
 }
 //============================================================
 inline Standard_Real IntCurveSurface_HCurveTool::Period(const CurveGen& C) {
index cbae85db3ed9b76b802d65297e662665627f4cf8..0e95fa721d64f305efa5d25ffe5dc1c813781a66 100644 (file)
@@ -1878,7 +1878,7 @@ Standard_Boolean IntTools_BeanFaceIntersector::ComputeLocalized() {
             T = p1.Parameter();
             p2.Parameter(U, V);
             
-            if (myCurve.IsPeriodic())
+            if (myCurve.IsPeriodic222())
               T = ElCLib::InPeriod(T, anarg1, anarg1 + myCurve.Period());
             if (mySurface.IsUPeriodic())
               U = ElCLib::InPeriod(U, parUF, parUF + mySurface.UPeriod());
index 858d9d57c4d5d2c124f56d41130f7990152cb34b..e01e0ebbbbc3150db57b530dc18c7e064cbf1f97 100644 (file)
@@ -1613,7 +1613,7 @@ static TopoDS_Edge  NewEdge(const TopoDS_Edge& edg,
       gp_Pnt p1b,p2b;
       Standard_Real thepmin = TheCurve.FirstParameter();
       myExtPC.TrimmedSquareDistances(Dist2Min,Dist2,p1b,p2b);
-      if (Dist2 < Dist2Min && !TheCurve.IsPeriodic()) {
+      if (Dist2 < Dist2Min && !TheCurve.IsPeriodic222()) {
        Dist2Min = Dist2;
        thepmin = TheCurve.LastParameter();
       }
index 8c65ad3d4e21823382ad8138ee3ab0b52abbe964..30e349976d53ae26f52b1fde86e3558bfff9f744 100644 (file)
@@ -315,11 +315,13 @@ static void Function_SetUVBounds(Standard_Real& myU1,
           Step = Function_ComputeStep(myCurve, R);
         }
         //
-        Standard_Boolean isclandper = (!(myCurve->IsClosed()) && !(myCurve->IsPeriodic()));
+        Standard_Boolean isclandper = !(myCurve->IsClosed() || myCurve->IsPeriodic222());
         Standard_Boolean isFirst = Standard_True;
         for(Standard_Real par = W1 + Step; par <= W2; par += Step)
         {
-          if(!isclandper) par += Step;
+          if(myCurve->IsPeriodic222()) 
+            par += Step;
+
           P = myCurve->Value(par);
           ElSLib::Parameters( Cone, P, U, V);
           U += Delta;
index 61375aa3ed789901e7e704745a7a6e88fda71dc0..3f33d6503aa809f2bb1b618637fe7eca9686a143 100644 (file)
@@ -1006,12 +1006,12 @@ Standard_Boolean ProjLib_ProjectOnPlane::IsClosed() const
 //purpose  : 
 //=======================================================================
 
-Standard_Boolean ProjLib_ProjectOnPlane::IsPeriodic() const
+Standard_Boolean ProjLib_ProjectOnPlane::IsPeriodic222() const
 {
   if ( myIsApprox)
     return Standard_False;
   else 
-    return myCurve->IsPeriodic();
+    return myCurve->IsPeriodic222();
 }
 
 
@@ -1022,7 +1022,7 @@ Standard_Boolean ProjLib_ProjectOnPlane::IsPeriodic() const
 
 Standard_Real ProjLib_ProjectOnPlane::Period() const
 {
-  if ( !IsPeriodic()) {
+  if ( !IsPeriodic222()) {
     throw Standard_NoSuchObject("ProjLib_ProjectOnPlane::Period");
   }
                                
index e3d50ce4965fd92aaf3cc1320dcc75bc6c49e35e..85f88e5e2eba2011d8e3f03f3f9be1503f93fad7 100644 (file)
@@ -120,7 +120,7 @@ public:
   
   Standard_EXPORT Standard_Boolean IsClosed() const Standard_OVERRIDE;
   
-  Standard_EXPORT Standard_Boolean IsPeriodic() const Standard_OVERRIDE;
+  Standard_EXPORT Standard_Boolean IsPeriodic222() const Standard_OVERRIDE;
   
   Standard_EXPORT Standard_Real Period() const Standard_OVERRIDE;
   
index 39ca2aa72f9b5eb84c173614f28b7038d12c3ce7..cc60c984aeeb37fad30216c3f7609c1918586b12 100644 (file)
@@ -729,7 +729,7 @@ void ProjLib_ProjectedCurve::Perform(const Handle(Adaptor3d_HCurve)& C)
     // set the periodicity flag
     if (SType == GeomAbs_Plane        &&
         CType == GeomAbs_BSplineCurve &&
-        myCurve->IsPeriodic()   )
+        myCurve->IsPeriodic222()   )
     {
       myResult.SetPeriodic();
     }
index 33a58bf43f2d1a0586bf8d0e74cb9f4e98fb3cb9..b624a8adc8671057539a0917a7aed2b35ba9d466 100644 (file)
@@ -2853,7 +2853,7 @@ static Standard_Integer OCC29430(Draw_Interpretor& theDI,
   BRepAdaptor_CompCurve curve(circle);
   theDI << "Curve.FirstParameter() = " << curve.FirstParameter() << "\n";
   theDI << "Curve.LastParameter() = " << curve.LastParameter() << "\n";
-  theDI << "Curve.Period() = " << (curve.IsPeriodic()? curve.Period() : 0.0) << "\n";
+  theDI << "Curve.Period() = " << (curve.IsPeriodic222()? curve.Period() : 0.0) << "\n";
   const gp_Pnt aStartPt = curve.Value(curve.FirstParameter());
   const gp_Pnt anEndPt = curve.Value(curve.LastParameter());