===================================================================================================================
This class does not currently support all sketcher geometry and constraints, but it supports the most common types.
===============================================================================
- Support to programatically move the cursor to sketch coordinates
- Support to try preselection at a given sketch coordinates
======================================================================================
It preserves the SketchObject properties. Therefore it does not trigger any property update, redraws, ...
===============================================================================
* SolverGeometryExtension is extended to:
- Enable to determine whether the x or the y of a point is a dependent or independent parameter
- Extend SolverExtension to provide information on individual edge parameters
- Convenience access to DoF status
* Sketch (solver interface) is extended to store geometry parameter dependency state, for these reasons:
Geometry and Constraint solver information is generated when performing a full solve() [QR decomposition + minimization(e.g. DogLeg)].
Constraint information remains in the sketch object (not SketchObject, but sketch), which is then retrieved by SketchObject.
Geometry information is incorporated to the deep copy of Geometry that the sketch object comprises. However, this information is only
available outside the sketch object, if the Geometry property of SketchObject is assigned. This is always the situation after a successful
full solve. However, it is not the case in a successful temporary minimal diagnosis (here succesful relates to conflicting/redundant constraints and
convergence).
The lightweight solution is to keep a (shallow) copy of the SolverGeometryExtensions (shared pointer) to be retrieved by GeoId, which is what is provided.
- by default there is no hole head cut and therefore its parameter must be initialized as read-only (will be enably when user sets a head cut)
- also fix a typo
- also fix a UI file issue (automatically done by Qt Designer)
- when there is no profile the change of the hole cut type was not handled
- for the deprecated hole cut types it must also be possible to use custom values