FreeCAD: master a21265f9

Author Committer Branch Timestamp Parent
Abdullah Tahiri wmayer master 2015-06-06 15:27:12 master 0e92e635
Affected Issues  0000491: Sketcher: Do not recompute dependent objects if in edit mode
Changeset Sketcher: New Feature: Avoiding to continuously recompute all the sketch (and dependent objects)


There is a checkbox, default disabled, that makes the commands NOT to generate a recompute after each.
This means that if you are editing a sketch that is used to generate a pad or pocket, if the checkbox is
disabled, the dependent objects do not get recomputed.

There is a button next to it to force a manual recompute, in case it is needed.

If the user wants the previous behavior, he only needs to activate the checkbox. The previous status of the box
is restored upon entering a sketch in edit mode.

It is remarkable the case of the Fillet and Trim

On changing ActSketch (solvedSketch) to SketchObject and making movePoint not systematically update the geometry, the solving in MovePoint was confronted with solving for "the last solved geometry",
which is the default behaviour, in some situations (Fillet and Trim) where geometry had changed at SketchObject level, and was the subject of the moving actions.

MovePoint has been updated to take an extra optional parameter, to force the change in solved geometry in those situations.

Some other minor bug also fixed in Fillet creation in CommandCreateGeo.cpp

This commit also introduces conditional recompute on some operations of:
- constraints
- geometry creation (reubication of update active to comprise the autoconstraints within a single UpdateActive)
mod - src/Mod/Sketcher/App/SketchObject.cpp Diff File
mod - src/Mod/Sketcher/App/SketchObject.h Diff File
mod - src/Mod/Sketcher/Gui/CommandConstraints.cpp Diff File
mod - src/Mod/Sketcher/Gui/CommandCreateGeo.cpp Diff File
mod - src/Mod/Sketcher/Gui/DrawSketchHandler.cpp Diff File
mod - src/Mod/Sketcher/Gui/EditDatumDialog.cpp Diff File
mod - src/Mod/Sketcher/Gui/TaskSketcherMessages.cpp Diff File
mod - src/Mod/Sketcher/Gui/TaskSketcherMessages.h Diff File
mod - src/Mod/Sketcher/Gui/TaskSketcherMessages.ui Diff File
mod - src/Mod/Sketcher/Gui/ViewProviderSketch.cpp Diff File