1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

Pure virtual functions

This commit is contained in:
nbv
2018-01-23 11:26:35 +03:00
parent e3e176358a
commit 3828af0c3b
10 changed files with 53 additions and 115 deletions

View 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;

View 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 :

View 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;

View 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 :

View 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;

View 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

View 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;

View 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
{

View 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;

View 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: