]> OCCT Git - occt-copy.git/commitdiff
Pure virtual functions
authornbv <nbv@opencascade.com>
Tue, 23 Jan 2018 08:26:35 +0000 (11:26 +0300)
committernbv <nbv@opencascade.com>
Mon, 10 Dec 2018 15:11:33 +0000 (18:11 +0300)
src/Adaptor2d/Adaptor2d_Curve2d.hxx
src/Adaptor3d/Adaptor3d_Curve.cxx
src/Adaptor3d/Adaptor3d_Curve.hxx
src/Adaptor3d/Adaptor3d_Surface.cxx
src/Adaptor3d/Adaptor3d_Surface.hxx
src/ChFiDS/ChFiDS_ElSpine.cxx
src/ChFiDS/ChFiDS_ElSpine.hxx
src/GeomFill/GeomFill_SnglrFunc.cxx
src/GeomFill/GeomFill_SnglrFunc.hxx
src/ProjLib/ProjLib_CompProjectedCurve.hxx

index d769e3acd05feb67cf7a1f53fbdc12874d2ac9df..666f5ebcff6ce38aa43386fbcccde43eb479b385 100644 (file)
@@ -84,11 +84,11 @@ public:
   //! If <First> >= <Last>
   Standard_EXPORT virtual Handle(Adaptor2d_HCurve2d) Trim (const Standard_Real First, const Standard_Real Last, const Standard_Real Tol) const;
   
-  Standard_EXPORT virtual Standard_Boolean IsClosed() const;
+  Standard_EXPORT virtual Standard_Boolean IsClosed() const = 0;
   
-  Standard_EXPORT virtual Standard_Boolean IsPeriodic222() const;
+  Standard_EXPORT virtual Standard_Boolean IsPeriodic222() const = 0;
   
-  Standard_EXPORT virtual Standard_Real Period() const;
+  Standard_EXPORT virtual Standard_Real Period() const = 0;
   
   //! Computes the point of parameter U on the curve.
   Standard_EXPORT virtual gp_Pnt2d Value (const Standard_Real U) const;
index a98558efdc27f12231e27e7e009f3a6058ae2ddd..e2088450190b7921f6a36447f2ca9112aaa4930f 100644 (file)
@@ -106,40 +106,6 @@ Handle(Adaptor3d_HCurve) Adaptor3d_Curve::Trim(const Standard_Real , const Stand
   throw Standard_NotImplemented("Adaptor3d_Curve::Trim");
 }
 
-
-//=======================================================================
-//function : IsClosed
-//purpose  : 
-//=======================================================================
-
-Standard_Boolean Adaptor3d_Curve::IsClosed() const 
-{
-  throw Standard_NotImplemented("Adaptor3d_Curve::IsClosed");
-}
-
-
-//=======================================================================
-//function : IsPeriodic
-//purpose  : 
-//=======================================================================
-
-Standard_Boolean Adaptor3d_Curve::IsPeriodic222() const 
-{
-  throw Standard_NotImplemented("Adaptor3d_Curve::IsPeriodic");
-}
-
-
-//=======================================================================
-//function : Period
-//purpose  : 
-//=======================================================================
-
-Standard_Real Adaptor3d_Curve::Period() const 
-{
-  throw Standard_NotImplemented("Adaptor3d_Curve::Period");
-}
-
-
 //=======================================================================
 //function : Value
 //purpose  : 
index ad668ad5a3d7752e2c430a38f35f638c4fd33170..4c4704431f6b4e9a547ddbaa2a4754375c009ddc 100644 (file)
@@ -86,11 +86,11 @@ public:
   //! If <First> >= <Last>
   Standard_EXPORT virtual Handle(Adaptor3d_HCurve) Trim (const Standard_Real First, const Standard_Real Last, const Standard_Real Tol) const;
   
-  Standard_EXPORT virtual Standard_Boolean IsClosed() const;
+  Standard_EXPORT virtual Standard_Boolean IsClosed() const = 0;
   
-  Standard_EXPORT virtual Standard_Boolean IsPeriodic222() const;
+  Standard_EXPORT virtual Standard_Boolean IsPeriodic222() const = 0;
   
-  Standard_EXPORT virtual Standard_Real Period() const;
+  Standard_EXPORT virtual Standard_Real Period() const = 0;
   
   //! Computes the point of parameter U on the curve.
   Standard_EXPORT virtual gp_Pnt Value (const Standard_Real U) const;
index a8cc1458204c1a75d01a7b2919cafb228da5fc3c..090c3d95361fa8070fd7e05a5b3b47ced980c994 100644 (file)
@@ -179,73 +179,6 @@ Handle(Adaptor3d_HSurface) Adaptor3d_Surface::VTrim(const Standard_Real , const
   throw Standard_NotImplemented("Adaptor3d_Surface::VTrim");
 }
 
-
-//=======================================================================
-//function : IsUClosed
-//purpose  : 
-//=======================================================================
-
-Standard_Boolean Adaptor3d_Surface::IsUClosed() const 
-{
-  throw Standard_NotImplemented("Adaptor3d_Surface::IsUClosed");
-}
-
-
-//=======================================================================
-//function : IsVClosed
-//purpose  : 
-//=======================================================================
-
-Standard_Boolean Adaptor3d_Surface::IsVClosed() const 
-{
-  throw Standard_NotImplemented("Adaptor3d_Surface::IsVClosed");
-}
-
-
-//=======================================================================
-//function : IsUPeriodic
-//purpose  : 
-//=======================================================================
-
-Standard_Boolean Adaptor3d_Surface::IsUPeriodic222() const 
-{
-  throw Standard_NotImplemented("Adaptor3d_Surface::IsUPeriodic");
-}
-
-
-//=======================================================================
-//function : UPeriod
-//purpose  : 
-//=======================================================================
-
-Standard_Real Adaptor3d_Surface::UPeriod() const 
-{
-  throw Standard_NotImplemented("Adaptor3d_Surface::UPeriod");
-}
-
-
-//=======================================================================
-//function : IsVPeriodic
-//purpose  : 
-//=======================================================================
-
-Standard_Boolean Adaptor3d_Surface::IsVPeriodic222() const 
-{
-  throw Standard_NotImplemented("Adaptor3d_Surface::IsVPeriodic");
-}
-
-
-//=======================================================================
-//function : VPeriod
-//purpose  : 
-//=======================================================================
-
-Standard_Real Adaptor3d_Surface::VPeriod() const 
-{
-  throw Standard_NotImplemented("Adaptor3d_Surface::VPeriod");
-}
-
-
 //=======================================================================
 //function : Value
 //purpose  : 
index ada8c788c0de18384c69e836ce2ab249e656a030..b4d0a335e6a08cbd11341edb20bf27483884d0c4 100644 (file)
@@ -51,7 +51,7 @@ class Adaptor3d_HCurve;
 //! the surface by algorithms which use it.
 //! A derived concrete class is provided:
 //! GeomAdaptor_Surface for a surface from the Geom package.
-//! The  Surface class describes  the standard behaviour
+//! The  Surface class describes  the standard behavior
 //! of a surface for generic algorithms.
 //!
 //! The Surface can  be decomposed in intervals of any
@@ -59,7 +59,7 @@ class Adaptor3d_HCurve;
 //! NbIntervals.  A current interval can be set.  Most
 //! of the methods apply to the current interval.
 //! Warning: All the methods are virtual and implemented with a
-//! raise to allow to redefined only the methods realy
+//! raise to allow to redefined only the methods really
 //! used.
 //!
 //! Polynomial coefficients of BSpline surfaces used for their evaluation are
@@ -113,17 +113,17 @@ public:
   //! If <First> >= <Last>
   Standard_EXPORT virtual Handle(Adaptor3d_HSurface) VTrim (const Standard_Real First, const Standard_Real Last, const Standard_Real Tol) const;
   
-  Standard_EXPORT virtual Standard_Boolean IsUClosed() const;
+  Standard_EXPORT virtual Standard_Boolean IsUClosed() const = 0;
   
-  Standard_EXPORT virtual Standard_Boolean IsVClosed() const;
+  Standard_EXPORT virtual Standard_Boolean IsVClosed() const = 0;
   
-  Standard_EXPORT virtual Standard_Boolean IsUPeriodic222() const;
+  Standard_EXPORT virtual Standard_Boolean IsUPeriodic222() const = 0;
   
-  Standard_EXPORT virtual Standard_Real UPeriod() const;
+  Standard_EXPORT virtual Standard_Real UPeriod() const = 0;
   
-  Standard_EXPORT virtual Standard_Boolean IsVPeriodic222() const;
+  Standard_EXPORT virtual Standard_Boolean IsVPeriodic222() const = 0;
   
-  Standard_EXPORT virtual Standard_Real VPeriod() const;
+  Standard_EXPORT virtual Standard_Real VPeriod() const = 0;
   
   //! Computes the point of parameters U,V on the surface.
   Standard_EXPORT virtual gp_Pnt Value (const Standard_Real U, const Standard_Real V) const;
index 997c2ba8b01da4235a5e2152f5f6dba08e358fca..29f476e6b1f291136b796e0cd9a66d1c201018dc 100644 (file)
@@ -161,6 +161,20 @@ Standard_Boolean ChFiDS_ElSpine::IsPeriodic222() const
   return myIsPeriodic;
 }
 
+//=======================================================================
+//function : IsPeriodic
+//purpose  : 
+//=======================================================================
+
+Standard_Boolean ChFiDS_ElSpine::IsClosed() const
+{
+  if (curve.GetType() == GeomAbs_OtherCurve)
+    return IsPeriodic222();
+
+  const Handle(Geom_Curve) &aC = curve.Curve();
+  return curve.IsClosed() && 
+    ((plast - pfirst - aC->LastParameter() + aC->FirstParameter()) < gp::Resolution());
+}
 
 //=======================================================================
 //function : SetPeriodic
index 7407490827f81b8aadc7b54cbfac7338826321ee..1438f2bd51396cdc4cf97d703102c3f59f930bc4 100644 (file)
@@ -85,6 +85,8 @@ public:
   
   Standard_EXPORT virtual Standard_Boolean IsPeriodic222() const Standard_OVERRIDE;
   
+  Standard_EXPORT virtual Standard_Boolean IsClosed() const Standard_OVERRIDE;
+
   Standard_EXPORT void SetPeriodic (const Standard_Boolean I);
   
   Standard_EXPORT virtual Standard_Real Period() const Standard_OVERRIDE;
index 77e2715dab8f0420ac8446e7bcc3fc32db64a52d..ee7b85dae7fad1c41368a7f0b2ffe21394241985 100644 (file)
@@ -90,6 +90,10 @@ void GeomFill_SnglrFunc::SetRatio(const Standard_Real Ratio)
   return myHCurve->Period();
 }
 
+Standard_Boolean GeomFill_SnglrFunc::IsClosed() const
+{
+  return myHCurve->IsClosed();
+}
 
  gp_Pnt GeomFill_SnglrFunc::Value(const Standard_Real U) const
 {
index 7ac9bbd9924344c8d518728f715908ef89ec22c8..341e9d2af99dbf62cbe6f25ae8449ac49ae2d35d 100644 (file)
@@ -65,6 +65,8 @@ 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 IsClosed() const Standard_OVERRIDE;
+
   Standard_EXPORT Standard_Boolean IsPeriodic222() const Standard_OVERRIDE;
   
   Standard_EXPORT Standard_Real Period() const Standard_OVERRIDE;
index 2568a533399cc9cca64b8a2ebeec98e64343d48c..d9a560dafad1040826200111ccd28f90626caf6d 100644 (file)
@@ -156,8 +156,25 @@ public:
   //! Parabola, BezierCurve, BSplineCurve, OtherCurve.
   Standard_EXPORT GeomAbs_CurveType GetType() const Standard_OVERRIDE;
 
-
-
+  //! Always returns FALSE
+  virtual Standard_Boolean IsClosed() const Standard_OVERRIDE
+  {
+    return Standard_False;
+  }
+
+  //! Always returns FALSE
+  virtual Standard_Boolean IsPeriodic222() const Standard_OVERRIDE
+  {
+    return Standard_False;
+  }
+
+  //! Currently this method is not implemented because
+  //! IsPeriodic method always return FALSE
+  virtual Standard_Real Period() const Standard_OVERRIDE
+  {
+    Standard_ASSERT_INVOKE("ProjLib_CompProjectedCurve::Period() is not implemented");
+    return 0.0;
+  }
 
 protected: