#include <GeomAlgoAPI_EdgeBuilder.h>
#include <GeomAPI_Ax2.h>
+#include <GeomAPI_Ax3.h>
#include <GeomAPI_BSpline2d.h>
#include <GeomAPI_Ellipse.h>
-#include <GeomAPI_Pln.h>
#include <GeomAPI_Pnt2d.h>
#include <gp_Pln.hxx>
}
GeomEdgePtr GeomAlgoAPI_EdgeBuilder::bsplineOnPlane(
- const std::shared_ptr<GeomAPI_Pln>& thePlane,
+ const std::shared_ptr<GeomAPI_Ax3>& thePlane,
const std::list<GeomPnt2dPtr>& thePoles,
const std::list<double>& theWeights,
+ const std::list<double>& theKnots,
+ const std::list<int>& theMults,
+ const int theDegree,
const bool thePeriodic)
{
std::shared_ptr<GeomAPI_BSpline2d> aBSplineCurve(
- new GeomAPI_BSpline2d(thePoles, theWeights, thePeriodic));
+ new GeomAPI_BSpline2d(theDegree, thePoles, theWeights, theKnots, theMults, thePeriodic));
return bsplineOnPlane(thePlane, aBSplineCurve);
}
GeomEdgePtr GeomAlgoAPI_EdgeBuilder::bsplineOnPlane(
- const std::shared_ptr<GeomAPI_Pln>& thePlane,
+ const std::shared_ptr<GeomAPI_Ax3>& thePlane,
const std::shared_ptr<GeomAPI_BSpline2d>& theCurve)
{
- Handle(Geom_Curve) aCurve3D = GeomLib::To3d(thePlane->impl<gp_Pln>().Position().Ax2(),
+ Handle(Geom_Curve) aCurve3D = GeomLib::To3d(thePlane->impl<gp_Ax3>().Ax2(),
theCurve->impl<Handle_Geom2d_BSplineCurve>());
BRepBuilderAPI_MakeEdge anEdgeBuilder(aCurve3D);