+
+private:
+ /// Find all features connected with theEllipse by the internal coincidence.
+ /// \param[in] theEllipse ellipse or elliptic arc
+ /// \param[in] theMajorAxis names of attributes composing a major axis of ellipse
+ /// \param[in] theMinorAxis names of attributes composing a minor axis of ellipse
+ /// \param[out] theAttrToFeature map attribute of ellipse and coincident auxiliary feature
+ static void collectAuxiliaryFeatures(FeaturePtr theEllipse,
+ const PairOfStrings& theMajorAxis,
+ const PairOfStrings& theMinorAxis,
+ std::map<std::string, FeaturePtr>& theAttrToFeature);
+
+ /// \brief Dump the construction features (points, axes) for the ellipse.
+ /// \param[in] theDumper dumper instance
+ /// \param[in] theAttributes list of attributes the construction points are
+ /// connected with, and their dump names
+ /// \param[in] theAuxFeatures list of construction features
+ static void dumpConstructionEntities(ModelHighAPI_Dumper& theDumper,
+ const FeaturePtr& theEllipse,
+ const std::list<PairOfStrings>& theAttributes,
+ const std::map<std::string, FeaturePtr>& theAuxFeatures);
+
+ /// \brief Create construction features for the ellipse connected
+ /// with corresponding attribute of ellipse.
+ static std::list<std::shared_ptr<SketchAPI_SketchEntity> > buildConstructionEntities(
+ const FeaturePtr& theEllipse,
+ const std::list<PairOfStrings>& theAttributes,
+ const std::string& theCenter,
+ const std::string& theFirstFocus,
+ const std::string& theSecondFocus,
+ const std::string& theMajorAxisStart,
+ const std::string& theMajorAxisEnd,
+ const std::string& theMinorAxisStart,
+ const std::string& theMinorAxisEnd,
+ const std::string& theMajorAxis,
+ const std::string& theMinorAxis);
+
+ friend class SketchAPI_EllipticArc;