Changesets: FreeCAD
master 61bd2d41 2015-06-09 14:19:20 Abdullah Tahiri Committer: wmayer Details Diff |
Sketcher: Requested Feature: Remove help button =============================================== The help button next to the close button in the Task dialog is now removed. It was requested that this button is removed as it is inconsistent with other help sources and it is not implemented. |
||
mod - src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp | Diff File | ||
mod - src/Mod/Sketcher/Gui/TaskDlgEditSketch.h | Diff File | ||
master 895510e0 2015-06-09 00:05:37 Details Diff |
Draft: small bugfix in Drawing view | ||
mod - src/Mod/Draft/Draft.py | Diff File | ||
mod - src/Mod/Draft/DraftGeomUtils.py | Diff File | ||
master d1acd124 2015-06-08 17:21:53 Abdullah Tahiri Committer: wmayer Details Diff |
Sketcher: Bug fix: Undo/Redo implementation ================================================ Fixes a bug in master that the dependent 3D geometry would not update on Undo (in Auto update mode enabled). Undo and redo signals are handled by ViewProvider in order to introduce an recompute or solve() of the sketchObject as determined by the Auto Update Mode in order to update DoF and dependent geometry if necessary. |
||
mod - src/Mod/Sketcher/App/SketchObject.cpp | Diff File | ||
mod - src/Mod/Sketcher/App/SketchObject.h | Diff File | ||
mod - src/Mod/Sketcher/Gui/ViewProviderSketch.cpp | Diff File | ||
mod - src/Mod/Sketcher/Gui/ViewProviderSketch.h | Diff File | ||
master eb7a3c76 2015-06-08 16:09:34 Abdullah Tahiri Committer: wmayer Details Diff |
Bug fix: General reduction solution / new sketch solving model ================================================================= The new solving architecture focus all the solving on the SketchObject. Actions that change the DoF can call execute() (i.e. recompute) or Solve() depending on whether a full recompute of dependent features is required or not. In both calls the geometry of the solver is updated with the geometry of the SketchObject. The only additional call that calls the solver is MovePoint. This function may or may not update the geometry of the SketchObject (as now it is intended for UI related solving, like dragging, rubberbands, ...). In operations that do not involve a change of DoF and therefore do not require a sketch solving, it may happen that as a side effect of moving a point, the geometry changes to old behaviour. In order to avoid that, those SketchObject operations, as for example setConstruction or ToggleConstruction, must set a flag "bool solverNeedsUpdate" to true. In case a movePoint is executed before any other solver execution, the geometry is first updated and then the moving is performed. So to keep in mind when programming sketcher operations: -> Need recompute (UpdateActive) -> Need solving because DoF changed (solve()) -> The operation does not change DoF (set solverNeedsUpdate to true) |
||
mod - src/Mod/Sketcher/App/SketchObject.cpp | Diff File | ||
mod - src/Mod/Sketcher/App/SketchObject.h | Diff File | ||
master 4b0bd788 2015-06-08 15:04:09 Abdullah Tahiri Committer: wmayer Details Diff |
Sketcher: Bug fixes to Auto-Update Mode ======================================= - Fixing toggle AutoUpdate Mode - Fix Auto-Update Sketcher tools - Fix missing createGeo recomputes - Missing constraints recomputes fixed Various fixes for non-Update mode: - Fixes lack of update upon entering a conflicting datum constraint. - Fixes lack of update upon setting the reference/driving status of a constraint - Added tooltips to buttons |
||
mod - src/Mod/Sketcher/App/SketchObject.cpp | Diff File | ||
mod - src/Mod/Sketcher/Gui/CommandAlterGeometry.cpp | 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/CommandSketcherTools.cpp | Diff File | ||
mod - src/Mod/Sketcher/Gui/TaskSketcherMessages.ui | Diff File | ||
master 9d5d05a7 2015-06-07 22:17:53 Eivind Kvedalen Committer: wmayer Details Diff |
Spreadsheet: Fixed handling of unary minus/plus, exponentation order, and unit rule (0002099) |
Affected Issues 0002099 |
|
mod - src/Mod/Spreadsheet/App/Expression.cpp | Diff File | ||
mod - src/Mod/Spreadsheet/App/Expression.h | Diff File | ||
mod - src/Mod/Spreadsheet/App/ExpressionParser.tab.c | Diff File | ||
mod - src/Mod/Spreadsheet/App/ExpressionParser.y | Diff File | ||
mod - src/Mod/Spreadsheet/App/lex.ExpressionParser.c | Diff File | ||
master 339717c9 2015-06-07 15:43:44 Abdullah Tahiri Committer: wmayer Details Diff |
Sketcher: Bug fix of New Solver Model: DoF and solver update on deletion of constraints ========================================================= Upon deletion of a constraint, the constraint was still enforced for UI operations (dragging of a point) and DoF was not updated. |
||
mod - src/Mod/Sketcher/App/SketchObject.cpp | Diff File | ||
master 12e4d594 2015-06-06 22:44:55 Eivind Kvedalen Committer: wmayer Details Diff |
Spreadsheet: Fixed bug in setEdit method for Spreadsheet module (0002144) |
Affected Issues 0002144 |
|
mod - src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.cpp | Diff File | ||
master 48113f3b 2015-06-06 17:52:44 Details Diff |
Arch: Fixed encoding in IFC import - fixes 0002149 |
Affected Issues 0002149 |
|
mod - src/Mod/Arch/importIFC.py | Diff File | ||
master a21265f9 2015-06-06 15:27:12 Abdullah Tahiri Committer: wmayer Details Diff |
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) |
Affected Issues 0000491 |
|
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 | ||
master 418cefd7 2015-06-04 18:12:39 Committer: wmayer Details Diff |
Cleaning up compile warnings, mainly in Sketcher fabs() instead of std::abs(), add cmath include |
||
mod - src/Mod/Part/App/Part2DObject.cpp | Diff File | ||
mod - src/Mod/Sketcher/App/SketchObject.cpp | Diff File | ||
mod - src/Mod/Sketcher/App/SketchObject.h | Diff File | ||
mod - src/Mod/Sketcher/Gui/DrawSketchHandler.cpp | Diff File | ||
mod - src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp | Diff File | ||
master 157399e3 2015-06-04 11:49:53 Przemo Firszt Committer: Yorik van Havre Details Diff |
FEM: Fix problem with using old displacement value after recalculation Reported-by: bernd Signed-off-by: Przemo Firszt <przemo@firszt.eu> |
||
mod - src/Mod/Fem/ccxFrdReader.py | Diff File | ||
master 37fbcb64 2015-06-04 00:46:16 Committer: wmayer Details Diff |
Part: new tools - JoinFeatures (Connect, Embed and Cutout) Attributions: Mark (quick61) - icons Yorik - help with internationalization Everyone who appeared in forum thread "A new Part tool is being born... JoinFeatures!" - for endorsement! http://forum.freecadweb.org/viewtopic.php?f=22&t=11112 |
||
mod - src/Mod/Part/App/CMakeLists.txt | Diff File | ||
mod - src/Mod/Part/CMakeLists.txt | Diff File | ||
mod - src/Mod/Part/Gui/Command.cpp | Diff File | ||
mod - src/Mod/Part/Gui/Resources/Part.qrc | Diff File | ||
add - src/Mod/Part/Gui/Resources/icons/Part_JoinBypass.svg | Diff File | ||
add - src/Mod/Part/Gui/Resources/icons/Part_JoinConnect.svg | Diff File | ||
add - src/Mod/Part/Gui/Resources/icons/Part_JoinCutout.svg | Diff File | ||
add - src/Mod/Part/Gui/Resources/icons/Part_JoinEmbed.svg | Diff File | ||
mod - src/Mod/Part/Gui/Workbench.cpp | Diff File | ||
mod - src/Mod/Part/InitGui.py | Diff File | ||
add - src/Mod/Part/JoinFeatures.py | Diff File | ||
master c3808cd9 2015-06-03 19:12:48 Details Diff |
+ Use update mechanism for CmdSketcherToggleConstruction | ||
mod - src/Mod/Sketcher/Gui/CommandAlterGeometry.cpp | Diff File | ||
mod - src/Mod/Sketcher/Gui/CommandCreateGeo.cpp | Diff File | ||
master cf1a77a4 2015-06-03 18:31:30 Details Diff |
+ Use update mechanism for CmdSketcherToggleDrivingConstraint | ||
mod - src/Mod/Sketcher/Gui/CommandConstraints.cpp | Diff File | ||
master c9101894 2015-06-03 18:30:36 Details Diff |
+ Extend Command framework to allow to update QAction | ||
mod - src/Gui/Command.cpp | Diff File | ||
mod - src/Gui/Command.h | Diff File | ||
master 0e92e635 2015-06-03 17:01:14 Abdullah Tahiri Committer: wmayer Details Diff |
Sketcher: Major re-structuration: New Solving Model: General Sketch Solve call reduction ======================================================================================= ActSketch in ViewProvider dissapears. The temporal sketch (sketch.cpp) for solving is now a data member of SketchObject.cpp (hereinafter solvedSketch). All the solving is concentrated in SketchObject.cpp. SketchObject provides an interface to expose its solver, as it is still currently needed for some UI operations from ViewProviderSketch, like dragging points (solving rubber bands). ViewProviderSketch still can select whether to draw the solvedSketch geometry (previously ActSketch) geometry (UI staff) or the SketchObject geometry. Performancewise, it makes sense to separate this two geometries, as the SketchObject one involves modifying the Geometry and Constraint Properties (including all the undo related functionality), which would mess the undo functinality and incur in a big peformance penalisation while dragging. One characteristic of solvedSketch is that its geometry is solved, whereas the geometry of SketchObject may not have been solved yet. These geometries may differ at for the following reasons: 1. The geometry corresponds to an ongoing dragging operation, so solvedSketch has the last calculated dragging geometry, while SketchObject has the one corresponding to initial position. 2. Geometry/constraints were added to the sketch, but no solve/execute was triggered yet (envisioned situation is the future group creation functionality not in this commit). What do I gain? - Inserting a (simple) geometry element now costs 1 solver execution. - Inserting a constraint now costs 1 solver executions. For reference, in previous versions inserting a constraint involved 5 solver executions. The following information provide a historical review of the coding of this commit (formed of 10 squashed commits): This is a general sketch solve call reduction, not only during geometry creation (this commit does not include until here any specific measure to reduce calls on geometry creation, that is another branch) After a lot of profiling, it seems that the "cause"(tm) that creates so many solver calls is that every update generates a solving in ViewProviderSketch, regardless of the need for that update, many times with the only aim of providing the DoF for the message dialog and keeping ActSketch in sync with SketchObject in case it is needed (currently UI moving points, constraints,...). Sketch solver is now a data member of SketchObject instead of a temporal object that gets initilized and destroyed. This allows: 1. Potentially more synergy reducing calls to setUpSketch (still to be seen, still to be optimized) 2. Allowing SketchObject to access the latest geometry that has been solved => In future, allow objects that use SketchObject to obtain the latest solved geometry instead the geometry of SketchObject that may still be unsolved. This is relevant for drawing the geometry No more solving in ViewProviderSketch. Solving a Sketch is now an exclusive competence of SketchObject. There is however a lot of cleaning to do in ViewProviderSketch (I mean, not that these commits are making a mess in VPSketch, but that as a consequence of the changes, it should be possible to optimize VPSketch, specially moving and drawing methods) Very useful comment for future developers that may wonder why a solve per constraint just upon addition is necessary. Added a new function to get the size of the geometry of the instance of the solver object (Sketch.cpp). The previous way was to extract the geometry, which is costly and error prone, as you have to delete it afterwards. Inserted comment about the necessity of triggering a Part2D update during edit mode |
||
mod - src/Mod/PartDesign/Gui/CMakeLists.txt | Diff File | ||
mod - src/Mod/Sketcher/App/Sketch.h | Diff File | ||
mod - src/Mod/Sketcher/App/SketchObject.cpp | Diff File | ||
mod - src/Mod/Sketcher/App/SketchObject.h | Diff File | ||
mod - src/Mod/Sketcher/App/SketchObjectPyImp.cpp | Diff File | ||
mod - src/Mod/Sketcher/Gui/CommandConstraints.cpp | Diff File | ||
mod - src/Mod/Sketcher/Gui/CommandSketcherTools.cpp | Diff File | ||
mod - src/Mod/Sketcher/Gui/ViewProviderSketch.cpp | Diff File | ||
mod - src/Mod/Sketcher/Gui/ViewProviderSketch.h | Diff File | ||
master 3a7772d0 2015-06-03 13:41:40 Przemo Firszt Committer: Yorik van Havre Details Diff |
FEM: Save/restore result dialog settings Signed-off-by: Przemo Firszt <przemo@firszt.eu> |
||
mod - src/Mod/Fem/MechanicalAnalysis.py | Diff File | ||
master 793a5b79 2015-06-03 13:41:07 Przemo Firszt Committer: Yorik van Havre Details Diff |
FEM: Rename dialog element callbacks Also setDisplacement function has been removed Signed-off-by: Przemo Firszt <przemo@firszt.eu> |
||
mod - src/Mod/Fem/MechanicalAnalysis.py | Diff File | ||
mod - src/Mod/Fem/ShowDisplacement.ui | Diff File | ||
master 5ced7e5c 2015-06-03 10:55:19 Details Diff |
Add #include that's required with Homebrew | ||
mod - src/Gui/GuiApplicationNativeEventAware.h | Diff File | ||
master 0fec404c 2015-06-03 00:58:59 Details Diff |
Arch: fixed Label encoding in IFC export | ||
mod - src/Mod/Arch/importIFC.py | Diff File | ||
master 6de28c15 2015-06-02 16:22:27 Przemo Firszt Committer: Yorik van Havre Details Diff |
FEM: fix white space Signed-off-by: Przemo Firszt <przemo@firszt.eu> |
||
mod - src/App/MaterialObject.cpp | Diff File | ||
mod - src/Mod/Fem/MechanicalMaterial.py | Diff File | ||
master f5146b8d 2015-06-02 16:22:12 Przemo Firszt Committer: Yorik van Havre Details Diff |
App: fix typo Signed-off-by: Przemo Firszt <przemo@firszt.eu> |
||
mod - src/App/MaterialObject.cpp | Diff File | ||
master 1808fd83 2015-06-02 16:21:56 Details Diff |
Expose attribute to Python to access icon of view provider | ||
mod - src/Gui/ViewProviderPy.xml | Diff File | ||
mod - src/Gui/ViewProviderPyImp.cpp | Diff File | ||
mod - src/Gui/WidgetFactory.cpp | Diff File | ||
mod - src/Gui/WidgetFactory.h | Diff File | ||
master f29b0038 2015-06-02 13:52:40 Przemo Firszt Committer: Yorik van Havre Details Diff |
FEM: Add reset_mesh_color and reset_mesh_deformation functions Signed-off-by: Przemo Firszt <przemo@firszt.eu> |
||
mod - src/Mod/Fem/MechanicalAnalysis.py | Diff File |