/// Return true if the current edit operation is an internal
bool isInternalEditActive() const;
+ /// Stop internal edit if the operation feature is invalid
+ void updateInternalEditActiveState();
+
/// if the internal flags allow it and the manager is active, it starts an internal edit operation
/// for the created operation.
/// \param thePreviousAttributeID an index of the previous active attribute
/// Breaks sequense of automatically resterted operations
void resetFlags();
+ /// Copy some feature specific attributes from the source to a new feature
+ /// This is type for Circle and Arc features
+ /// \param theSourceFeature a source feature
+ /// \param theNewFeature a new feature
+ /// \return true is something is copied
+ static bool copyReetntrantAttributes(const FeaturePtr& theSourceFeature,
+ const FeaturePtr& theNewFeature);
+
+ static bool isTangentArc(ModuleBase_Operation* theOperation);
+
/// Returns the workshop
XGUI_Workshop* workshop() const;