- /// \brief Block or unblock events when refreshing features
- SKETCHSOLVER_EXPORT void blockEvents(bool isBlocked) const;
+ /// \brief Verify the feature or any its attribute is used by constraint
+ SKETCHSOLVER_EXPORT bool isUsed(FeaturePtr theFeature) const;
+ /// \brief Verify the attribute is used by constraint
+ SKETCHSOLVER_EXPORT bool isUsed(AttributePtr theAttirubute) const;
+
+ /// \brief Find arcs without corresponding entity applicable for the solver and build them
+ SKETCHSOLVER_EXPORT void processArcs();
+
+ /// \brief Replace entities by others
+ void replaceEntities(const std::map<EntityWrapperPtr, EntityWrapperPtr>& theChange);