Changesets: FreeCAD

master c3808cd9

2015-06-03 19:12:48

wmayer

Details Diff
+ Use update mechanism for CmdSketcherToggleConstruction
Attach Issues:
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

wmayer

Details Diff
+ Use update mechanism for CmdSketcherToggleDrivingConstraint
Attach Issues:
mod - src/Mod/Sketcher/Gui/CommandConstraints.cpp Diff File

master c9101894

2015-06-03 18:30:36

wmayer

Details Diff
+ Extend Command framework to allow to update QAction
Attach Issues:
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
Attach Issues:
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>
Attach Issues:
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>
Attach Issues:
mod - src/Mod/Fem/MechanicalAnalysis.py Diff File
mod - src/Mod/Fem/ShowDisplacement.ui Diff File

master 5ced7e5c

2015-06-03 10:55:19

ian.rees

Details Diff
Add #include that's required with Homebrew
Attach Issues:
mod - src/Gui/GuiApplicationNativeEventAware.h Diff File

master 0fec404c

2015-06-03 00:58:59

yorik

Details Diff
Arch: fixed Label encoding in IFC export
Attach Issues:
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>
Attach Issues:
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>
Attach Issues:
mod - src/App/MaterialObject.cpp Diff File

master 1808fd83

2015-06-02 16:21:56

wmayer

Details Diff
Expose attribute to Python to access icon of view provider
Attach Issues:
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>
Attach Issues:
mod - src/Mod/Fem/MechanicalAnalysis.py Diff File

master ca47eeae

2015-06-02 13:52:24

Przemo Firszt


Committer: Yorik van Havre Details Diff
FEM: Remove unused property

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
Attach Issues:
mod - src/Mod/Fem/MechanicalAnalysis.py Diff File

master 6df5809c

2015-06-02 13:52:02

Przemo Firszt


Committer: Yorik van Havre Details Diff
FEM: Optimise check_prerequisities

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
Attach Issues:
mod - src/Mod/Fem/MechanicalAnalysis.py Diff File

master da83e472

2015-06-02 12:54:20

Przemo Firszt


Committer: Yorik van Havre Details Diff
FEM: Remove old results before loading new set

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
Attach Issues:
mod - src/Mod/Fem/MechanicalAnalysis.py Diff File

master b27e5128

2015-05-31 20:00:29

J.L. Cercos-Pita


Committer: yorik Details Diff
Corrected the wetted surface units
Attach Issues:
mod - src/Mod/Ship/shipHydrostatics/Tools.py Diff File

master 657041d6

2015-05-31 19:51:04

J.L. Cercos-Pita


Committer: yorik Details Diff
Updated the spreadsheets to the new module
Attach Issues:
mod - src/Mod/Ship/shipCapacityCurve/PlotAux.py Diff File
mod - src/Mod/Ship/shipHydrostatics/PlotAux.py Diff File

master 071829db

2015-05-31 19:28:16

J.L. Cercos-Pita

Details Diff
Fixed 'Axes' object has no attribute 'get_frame' error (see http://matplotlib.org/api/api_changes.html)
Attach Issues:
mod - src/Mod/Plot/Plot.py Diff File

master f7be7d1e

2015-05-31 19:15:55

J.L. Cercos-Pita


Committer: yorik Details Diff
Fixed the locales
Attach Issues:
mod - src/Mod/Ship/shipCreateWeight/TaskPanel.py Diff File

master dfa96bd3

2015-05-31 19:06:24

J.L. Cercos-Pita


Committer: yorik Details Diff
Fixed the locales in the Hydrostatic tools
Attach Issues:
mod - src/Mod/Ship/shipHydrostatics/TaskPanel.py Diff File

master 63360966

2015-05-31 18:43:51

J.L. Cercos-Pita


Committer: yorik Details Diff
Fixed the problems with the group separator in some locales
Attach Issues:
mod - src/Mod/Ship/shipAreasCurve/TaskPanel.py Diff File

master 3a522494

2015-05-31 18:43:35

J.L. Cercos-Pita


Committer: yorik Details Diff
Extended the locale fixe to the stored variables into the Ship instance
Attach Issues:
mod - src/Mod/Ship/shipCreateShip/TaskPanel.py Diff File

master f867db6f

2015-05-31 18:36:08

J.L. Cercos-Pita


Committer: yorik Details Diff
Fixed the problems with the group separator in some locales
Attach Issues:
mod - src/Mod/Ship/shipCreateShip/TaskPanel.py Diff File
mod - src/Mod/Ship/shipUtils/Locale.py Diff File

master 5c79b2f7

2015-05-31 18:08:15

J.L. Cercos-Pita


Committer: yorik Details Diff
Updated the areas computation tool to the new spreadsheet
Attach Issues:
mod - src/Mod/Ship/shipAreasCurve/PlotAux.py Diff File

master 2e14552a

2015-05-31 17:29:30

wmayer

Details Diff
+ fixes 0002134: FreeCAD crashes when the window is restored and a plot is shown Affected Issues
0002134
mod - src/Gui/MainWindow.cpp Diff File
 First  Prev  1 2 3 ... 40 ... 80 ... 120 ... 160 ... 200 ... 240 ... 280 ... 299 300 301 302 303 304 305 ... 320 ... 360 ... 400 401 402  Next  Last