Commit Graph

23453 Commits

Author SHA1 Message Date
bryanbendall
97cf8386cf Merge branch 'master' into adaptive-work 2020-12-19 10:50:49 -05:00
luz paz
590cbd85e3 Fix typos [skip ci]
Found via `codespell v2.1.dev0`  
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,apoints,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,click,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millim,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLogpios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml
```
2020-12-19 16:35:16 +01:00
wmayer
51245f3851 Part: [skip ci] add TopoShape::isInfinite 2020-12-19 16:07:00 +01:00
Abdullah Tahiri
116b0bae55 Sketcher: Remove unnecesary header 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
9245062358 GCS: clean up old interface 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
04923686eb Sketcher: Sketch.cpp clean up old interface 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
0a2d3ddd1a Sketcher: Bring new colors to preferences 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
10352931b5 Sketcher: ViewProviderSketch - Show constrained elements in new color
=====================================================================

Provide different colors for full constrained edge, construction edge, internal alignment element and construction vertex.

This should enable users to select what they want in their specific situation.
2020-12-19 11:58:54 +01:00
Abdullah Tahiri
4328b6b3c8 Sketcher: ViewProviderSketch - fix BSpline pole dragging based on SolverGeometryExtension 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
219e984418 Sketcher: rewrite Cmd to select DoFs using SolverGeometryExtensions framework 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
6c6c286047 Sketcher: rewrite SketchObject getGeometryWithDependentParameters to use SolverGeometryExtension 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
0888c0dd64 Sketcher: Sketch.cpp - use SolverGeometryExtension as mechanism to convey dependent parameter information
=========================================================================================================

Former mechanism with hasDependentParameters is not flexible enough for the new kind of information.

This commit further enhances the calculation of dependent parameters and dependent parameter groups by
caching the parameter-geoelement (GeoId, PointPos) relationship during geometry creation.

This commit provides traditional information whether a parameter is dependent via SolverGeometryExtension. New
enhanced information about groups of dependent parameters are available via the Sketch API.
2020-12-19 11:58:54 +01:00
Abdullah Tahiri
5a20215e65 Sketcher: new SolverGeometryExtension to store solver information within the geometry 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
573a850b99 Sketcher: Add ability to update a GeometryExtension of the solver 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
7a76b9b7d2 GCS: Set SparseQR conditional compilation guards 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
076eebc0a9 GCS: Change asynchronous launch policy to default to avoid having to take care of exceptions on oversubscription
================================================================================================================

std:async can take two policies one that forces the task to be run in parallel another (deferred) that runs the task
when wait is called on the future (kind of lazy evaluation).

Default policy is let the system decide (an or of both policies). Nobody is a better position than the system to know
its load and whether it is possible to run the task in parallel or not.

If the system cannot allocate a thread and parallel processing is enforced (as before this commit), then it will throw an
exception. In the present case we would catch it and run the task sequencially. Thus, it makes sense to let the system
decide from the beginning and save the exception and the handling.

In tests I have only managed to see it run in parallel with the default policy.
2020-12-19 11:58:54 +01:00
Abdullah Tahiri
813afc0617 GCS: renaming parameters to make them more descriptive 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
54373798cd GCS: Augment information provided by GCS with groups of dependent parameters 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
3605770b68 GCS: Interface to query whether the used diagnose matrix is empty
=================================================================

Diagnose constraints do not include among others driven constraints. This
function allows to know whether the solver is considering an empty matrix.
2020-12-19 11:58:54 +01:00
Abdullah Tahiri
229c515b72 GCS: Deactivate Debug code and fix warnings in non-Debug mode 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
9bb917b91b GCS: Asynchronous full geometry parameter identification for Dense QR 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
718d17b634 GCS: Make QR decompositions for constraints and parameters run asynchronously 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
56705d0c3a GCS: QR profiling debug code 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
fac1ffa624 GCS: Rewrite diagnose() so that it has a single return point 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
f0dcb12475 GCS: Diagnose() - Separate DenseQR and SparseQR 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
82b4cfeba6 GCS: Refactor new SparseQR Dependent Parameter detection code and const correctness 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
0ef05d4f99 GCS: Detect dependent parameters (geometry) during diagnosis using two SparseQR factorisations 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
c565ef6793 GCS: makeSparseQRDecomposition generalise for transposed and non-transposed matrices 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
0d5e120a2c GCS: SparseQR compilation guards 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
72c2830a52 GCS: reduce input parameters in makeDenseQRDecomposition 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
909adbd93d GCS: Refactor Non-Zero elimination over pivot 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
28f6978a0d GCS: Refactor diagnose identification of conflicting and redundant constraints 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
6e53dd0034 GCS: Refactor dependent parameters identification which is only available for DenseQR 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
083aa1099a GCS: Refactor QR decomposition into separate functions for Sparse and Dense 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
417727754f GCS: Increase documentation of diagnose() routine 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
a4481a327c Sketcher: ViewProviderSketch update of geometry extensions
==========================================================

The order of any operation, including setedit is first solve() and then draw().

This is consistent with geometry addition.

If ViewProviderSketch must insert its own extensions, for example for scaling
weights, then it is its responsibility to set this information wherever needed.
This includes the temporal geometry vector used in draw(true), the solver to
enable dragging operations, and SketchObject Geometry property.
2020-12-19 11:58:54 +01:00
Abdullah Tahiri
4d9fcb0b27 Sketcher: Fix crash when creating an angle constrain on a line segment
======================================================================

Most of these crashes come from previous code not checking for Constraint::GeoUndef.

Most of these crashes come from isBSpline(), any of the two overloads.

isBSpline is made to throw exception when null, which should prevent the crash while
creating a reportable error.
2020-12-19 11:58:54 +01:00
Abdullah Tahiri
533ba5b159 Sketcher: delete internal alignment geometry using new delGeometries function 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
f7be6f5051 Part: Geometry - BSplineCurve - add IsRational member function 2020-12-19 11:58:54 +01:00
sliptonic
194c6e8178 Merge pull request #4157 from sliptonic/bug/4466
fixes 4466  Path Template Saving incorrect attributes
2020-12-18 15:31:47 -06:00
wmayer
ff69f7fba3 PartDesign: [skip ci] fix Hole feature
* by default ThreadDirection must be set read-only since Threaded by default is None
* use suitable values to initialize the class properties
2020-12-18 21:18:41 +01:00
sliptonic
e80c5bea16 Merge branch 'master' into bug/4466 2020-12-18 11:11:18 -06:00
sliptonic
53a3b6f41f Merge pull request #4160 from mlampert/bugfix/issue-4500-segfault
Path: Bugfix/issue 4500 segfault
2020-12-18 11:03:42 -06:00
wmayer
2db10d8236 PartDesign: [skip ci] fix order of controls so that by pressing TAB always the next control gets focus 2020-12-18 17:04:27 +01:00
M G Berberich
a2b1e6226a cleanup of hole dialog
* replaced widget with radiobuttons by button Group, to improve alignemt
  of DrillPointAngle with grid-layout

* made Thread Pitch/Angle/Cutoffs widgets wider
2020-12-18 16:38:46 +01:00
wmayer
d4bd0098c2 PartDesign: [skip ci] fix layout of Drill point controls 2020-12-18 16:28:35 +01:00
wmayer
a7506326c9 Gui: [skip ci] avoid adding a wrong file name to the recent files list 2020-12-18 14:35:17 +01:00
Bryan Bendall
1553ee49f8 Merge remote-tracking branch 'origin/adaptive-work' into adaptive-work 2020-12-18 08:09:13 -05:00
Bryan Bendall
d8ebf1bb30 Path: Added option for the finishing pass of the adaptive op 2020-12-18 08:03:42 -05:00
Bryan Bendall
1ad18f96f5 Path: Added option for the finishing pass of the adaptive op 2020-12-18 08:02:48 -05:00