[Part] Add/change some methods in GeomBSplineCurve

Add `setPeriodic` to turn a b-spline periodic.
Allow `join` to join any bounded curve not just b-spline.
This commit is contained in:
Ajinkya Dahale
2022-03-14 10:15:24 -04:00
committed by abdullahtahiriyo
parent 36ff50088e
commit 4d2837a6c2
2 changed files with 9 additions and 3 deletions

View File

@@ -1374,15 +1374,20 @@ bool GeomBSplineCurve::isPeriodic() const
return myCurve->IsPeriodic()==Standard_True;
}
void GeomBSplineCurve::setPeriodic() const
{
myCurve->SetPeriodic();
}
bool GeomBSplineCurve::isRational() const
{
return myCurve->IsRational()==Standard_True;
}
bool GeomBSplineCurve::join(const Handle(Geom_BSplineCurve)& spline)
bool GeomBSplineCurve::join(const Handle(Geom_BoundedCurve)& other)
{
GeomConvert_CompCurveToBSplineCurve ccbc(this->myCurve);
if (!ccbc.Add(spline, Precision::Approximation()))
if (!ccbc.Add(other, Precision::Approximation()))
return false;
this->myCurve = ccbc.BSplineCurve();
return true;

View File

@@ -304,8 +304,9 @@ public:
int getMultiplicity(int index) const;
int getDegree() const;
bool isPeriodic() const;
void setPeriodic() const;
bool isRational() const;
bool join(const Handle(Geom_BSplineCurve)&);
bool join(const Handle(Geom_BoundedCurve)&);
void makeC1Continuous(double, double);
std::list<Geometry*> toBiArcs(double tolerance) const;