*/
virtual void processEvent(const std::shared_ptr<Events_Message>& theMessage);
+ /**
+ * The solver needs all the updated objects are transfered in one group, not one by one.
+ * This iscreases performance and avoids problems in resolve of only part of the made updates.
+ */
+ virtual bool groupMessages();
+
/// \brief Initialize builder for solver's data structure entities
/// \param theBuilder [in] solver's specific builder
SKETCHSOLVER_EXPORT void setBuilder(BuilderPtr theBuilder);
/** \brief Goes through the list of groups and solve the constraints
* \param[in] theGroups list of groups to be resolved (if empty list, all groups are resolved)
- * \return \c true, if groups are resolved, and features should be updated (send the Update event)
+ * \return \c true, if groups are resolved, and features should be updated
+ * (send the Update event)
*/
- bool resolveConstraints(const std::list<SketchSolver_Group*>& theGroups = std::list<SketchSolver_Group*>());
+ bool resolveConstraints(const std::list<SketchSolver_Group*>& theGroups =
+ std::list<SketchSolver_Group*>());
private:
/** \brief Searches list of groups which interact with specified feature