==============================================
In maximum verbose debug mode, information is given about the groups of Sketcher Constraints that the solver is considering for redundancy or conflict.
This is before the popularity contest selects the constraint shown in the solver messages.
The main reason for showing this is to enable to diagnose problems with sketches in which the constraint indicated as the redundant one appears not to
be the right one. Intended for power users with "iteration level" debug mode.
=================================
Copy constructor made private, as copies are handled via copy() and clone() methods which generate pointers, not objects.
Private copy constructor, used for copy(), made default implementation.
Destructor made default.
Copy and Clone made non-virtual, as the class does not have children.
Added override to persistance inherited virtual functions.
move operators explicitly disallowed to note that they are not intended in the current implementation.
Perfectly ok to have only private copy constructor for internal use
==========================================================
Trimming was not considering a case where an ellipse is trimmed with respect to its own internal aligment geometry.
This resulted in Coincident Constraints with PointPos = Sketcher::none, which is invalid.
==========================================================================
Intercurve fillet uses endpoint constraints for improved accuracy, but before this
commit was only considering a coincident constraint. Now it also considers an endpoint
tangency or perpendicular.
delConstraintOnPoint with coincidentonly=false, was not checking endpoint perpendiculars and
would therefore fail to delete them.
https://forum.freecadweb.org/viewtopic.php?f=3&t=31594&start=30#p265731
=========================================
This commit introduces two functions to operate on all datum constraints exclusively:
- Make all datum constraints driving or not driving, depending on the argument.
- Move all datum constraints at the end of the constraint list.
The practical use an ongoing effort towards improving the block constraint behaviour, that will be defered to 0.19
========================================================================
Centralise the knowledge on whether a constraint is dimensional or not within the constraint