+ /// Create Point feature coincident with the B-spline pole
+ static FeaturePtr createAuxiliaryPole(std::shared_ptr<GeomDataAPI_Point2DArray> theBSplinePoles,
+ const int thePoleIndex);
+ /// Create segment between consequtive B-spline poles
+ static void createAuxiliarySegment(std::shared_ptr<GeomDataAPI_Point2DArray> theBSplinePoles,
+ const int thePoleIndex1,
+ const int thePoleIndex2);
+ /// Set name of auxiliary feature representing the control polygon
+ static void assignDefaultNameForAux(FeaturePtr theAuxFeature,
+ std::shared_ptr<GeomDataAPI_Point2DArray> theBSplinePoles,
+ const int thePoleIndex1,
+ const int thePoleIndex2 = -1);
+ friend class SketchPlugin_BSplineBase;
+ friend class SketchPlugin_CurveFitting;
+
+private:
+ std::list<double> myKnots;
+ std::list<int> myMultiplicities;