Commit Graph

1587 Commits

Author SHA1 Message Date
wmayer
27b6066beb clang/gcc/cmake: move handling of suppressed deprecated-copy warnings from source file to CMake file to more easily support gcc 10 2020-06-09 15:30:42 +02:00
wmayer
200c7c7e00 [skip ci] include missing boost header 2020-06-07 17:21:37 +02:00
Abdullah Tahiri
21cbceba5a Sketcher: Fix solver failure when setting datum results in wrong solver information
===================================================================================

fixes:
https://forum.freecadweb.org/viewtopic.php?p=404945#p405014
2020-06-03 19:07:50 +02:00
0penBrain
eede55f75b [Sketcher] Solver message updated when toggling driving in datum dialog 2020-06-03 18:30:37 +02:00
Abdullah Tahiri
c7b963d991 Sketcher: Avoid PointOnObject Autoconstraint on BSpline
=======================================================

fixes #4295

PointOnObject autoconstraint for BSplines is currently not supported, this
commit prevents malformed autoconstraint creation.
2020-06-02 19:08:06 +02:00
Abdullah Tahiri
f086580013 Sketcher: Make setposition text unpickable
==========================================

fixes #4272

The setposition text string was being picked interfering with preselection of autoconstraints.

Merit for the solution goes to Werner:
https://forum.freecadweb.org/viewtopic.php?f=10&t=47092&p=404519#p404519
2020-06-01 19:56:01 +02:00
Abdullah Tahiri
28222fe066 Sketcher: Fix undo on moving geometry
=====================================

fixes #3842
2020-05-31 20:53:07 +02:00
Abdullah Tahiri
08854bcc71 Sketcher: Fix for failure of constraint substitution
====================================================

fixes #4105

When a constraint substitution is present, a solve must precede any call to the redundant removal to update the solver information.
2020-05-29 14:19:42 +02:00
Abdullah Tahiri
0c5fc74e35 Sketcher: Fixing Driving constraint apparent redundancy
=======================================================

When adding a reference constraint of type radius or diameter to an external geometry using the method of select the
continuous mode method (select tool first, click geometry afterwards), with ActiveUpdate checked, there was a missing
solving to bring the solver information in line with the Driven constraint.

fixes #4054
2020-05-28 19:10:22 +02:00
Abdullah Tahiri
c457ce613e Sketcher: ViewProvider Grid control
===================================

Encapsulation of grid internals in ViewProviderObject2D, while allowing control via property changes and protected functions.
2020-05-27 19:25:47 +02:00
0penBrain
da33ffc062 [Sketcher] Grid is displayed in 3D view only if sketch is visible 2020-05-27 19:25:47 +02:00
0penBrain
811a44643c [Sketcher] Local settings are correctly restored ; fixes #3952,#4058 2020-05-27 19:25:47 +02:00
0penBrain
9d9aaf680f [Sketcher] Grid snapping is enabled only if grid is shown 2020-05-27 19:25:47 +02:00
0penBrain
6a6c34480a [Sketcher] 'Avoid redundant autoconstraint' is processed only if 'Autoconstraints' is active 2020-05-27 19:25:47 +02:00
0penBrain
286a692ca9 [Sketcher] Move general settings widget enable/disable logic in TaskSketcherGeneral so ...
... all options are freely accessible in the preferences editor ...
 ... eg. no need to check 'Show Grid' to customize grid size or snap
 Also remove the sparse automatical saving to preferences from sketcher Task pane ...
 ... (some settings were saved, some not)
2020-05-27 19:25:47 +02:00
0penBrain
399f5de906 [Sketcher] Fix catching of rendering order change
model()->layoutChanged signal didn't work at all, was never emitted by widget
 Replaced with an eventFilter catching ChildRemoved to further emit the signal
2020-05-27 19:25:47 +02:00
0penBrain
4c9fc11cb6 [Sketcher] Fix saving/loading of rendering order
Wasn't working at all
 Now saved only from preferences editor
2020-05-27 19:25:47 +02:00
0penBrain
9862670cf2 [Sketcher] Simplify general settings management 2020-05-27 19:25:47 +02:00
0penBrain
5b76419d58 [Sketcher] Fix grid size initialization ; fixes #4055 2020-05-27 19:25:47 +02:00
0penBrain
cd2f5a00e8 [Sketcher] Add missing 'Auto remove redundant' to preferences 2020-05-27 19:25:47 +02:00
Abdullah Tahiri
6f3160db3e Sketcher: Enable undo when trimming
===================================

Reported here:
https://forum.freecadweb.org/viewtopic.php?p=311853#p312647
2020-05-26 19:28:35 +02:00
Abdullah Tahiri
4de7acff64 Sketcher: Root point selected when endpoint in external geometry point
======================================================================

fixes #3831

Solver Interface getPointId method is only intended for normal geometry, and returns -1 if geoid is out of range, which was misinterpreted as root point selection.
2020-05-26 14:14:00 +02:00
wmayer
300e887480 Handle clang 10 warnings:
+ fix -Wtautological-bitwise-compare
+ fix -Wimplicit-int-float-conversion
+ fix -Wmisleading-indentation
+ fix -Wrange-loop-construct
+ suppress -Wdeprecated-copy of 3rd party libs
2020-05-25 15:34:43 +02:00
Abdullah Tahiri
c1ca01b0e7 Sketcher: projection - remove unused variables and function 2020-05-24 15:22:16 +02:00
shermelin
2017eb46ac Added corner cases
- deal with exchange of minor/major axis
- projected ellipse = circle builds a circle
- projected is a segment
2020-05-24 15:21:47 +02:00
shermelin
74bd67623f First test of ellipse projection
- general case implemented

TODO:
- catch and implement limit cases (parallel, orthogonal, inverted
  major/minor, circle...
2020-05-24 15:21:47 +02:00
wmayer
8d821fe5f0 Sketcher: [skip ci] do not rename object identifier of an expression on undo/redo 2020-05-23 21:30:02 +02:00
wmayer
0621cfa9d8 remove deprecated std::unary_function 2020-05-11 13:55:54 +02:00
wmayer
618089d6d8 remove deprecated std::binary_function 2020-05-11 13:46:37 +02:00
shermelin
9b8b128a0d [Sketcher] Project full circle, impl. missing cases
Implements cases for full (closed) circle, when not parallel to the
sketch plane.
2020-05-09 17:20:34 +02:00
0penBrain
3ad15343eb [Sketcher] Ensure datum edit dialog is fully shown over the main window 2020-05-03 11:11:47 +02:00
0penBrain
b21cb8abb9 [Sketcher] Harmonize points selection order for symmetry constraint ; fixes #3746 2020-05-03 08:11:47 +02:00
Yorik van Havre
28b51cf28a Merged crowdin translations 2020-04-29 16:08:23 +02:00
Yorik van Havre
693e374f99 Updated source ts files 2020-04-29 15:41:26 +02:00
Abdullah Tahiri
83cff478a2 Sketcher: Default solver information font size to system 2020-04-28 14:53:28 +02:00
Abdullah Tahiri
0ec3cb16cb Remove hard-coded font families 2020-04-28 14:53:28 +02:00
vocx-fc
884cbe8525 Sketcher: update XPM icon for PointOnPoint constraint
The SVG icon was changed in d3ee556467 but the small XPM icon
was not modified.

Unlike other XPM icons which are used in `ViewProviderSketch.cpp`,
this `PointOnPoint` XPM icon doesn't seem to be used at all.
Nevertheless, we still update it so that the XPM matches
its corresponding SVG.

Also update the `README.md` to explain how these XPM icons
are generated.
2020-04-27 11:25:11 +02:00
Abdullah Tahiri
7d9cfeb2c5 Sketcher: Fix trim
==================

https://forum.freecadweb.org/viewtopic.php?p=387303#p387303

1. Trim had a bug that the type of the constraint on the second point was equal to the first one regardless of the situation.

2. Trim did not have support for checking whether points were close to the edge and relied on preexisting constraints.
2020-04-14 19:00:51 +02:00
0penBrain
cbefa8e6fe [Sketcher] Improve elements color tampering with edge coloring
Use HSV colorspace for maximum Qt4 compatibility
2020-04-07 17:05:37 +02:00
0penBrain
634e47f318 [Sketcher] Fix Qt4 compatibility in MultIcon + minor improvement 2020-04-07 17:05:37 +02:00
Abdullah Tahiri
9752de8602 Sketcher: Element Widget External/Construction icons fixes
==========================================================

Changes:
- Move multIcon structure to be internal to TaskSketcherElements class
- Change Caps to MultIcon for consistency
- Move tamperIcon from TaskSketcherElements to MultIcon struct
- Change tamperIcon method to be the constructor of MultIcon and change from struct to class
- Update the tamperIcon algorithm, so that only the point that is not marked in green as selected
is made pink.

Bug fix:

UpdateIcons and SlotElementsChanged are methods sharing code (they could benefit from a refactoring), but
they are conceptually different and are called in very different circumnstances.

UpdateIcons preserves selection. This means that one may select the stating point of line1, press z to switch
to edges, select the edge of line 2 and do a point on object constraint all without touching the 3D view.

SlotElementsChanged occurs when there are additions or removals in the number of geometry elements of the widget.

Warning:

This code requires QT 5.6 because of function pixelColour(int, int):
https://doc.qt.io/qt-5/qimage.html#pixelColor-1

Travis without QT5 complains with:

/home/travis/build/FreeCAD/FreeCAD/src/Mod/Sketcher/Gui/TaskSketcherElements.cpp:1120:31: error: ‘class QImage’ has no member named ‘pixelColor’; did you mean ‘setColor’?
2020-04-07 17:05:37 +02:00
0penBrain
9b2e7b22c5 [Sketcher] Distinguish normal/reference/construction elements in task dialog 2020-04-07 17:05:37 +02:00
wmayer
ec8b1bc072 [skip ci] use QLocale class consistently to make it possible to change it application-wide 2020-03-26 16:37:45 +01:00
luz.paz
76a77e4f88 [skip ci] Fix typos
Found via 
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,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,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml
```
2020-03-24 11:14:24 +01:00
DeepSOIC
bdc23aabcf Sketcher: Fix #3658 Levenberg-Marquardt solver precision issues 2020-03-24 08:03:53 +01:00
0penBrain
71d4eedf0a [Sketcher] Remove 'Hexagonal profile' menu ; fixes #4290
Menu creation has been removed (commented) but all other profile feature are kept
 for compatibility.
2020-03-20 12:10:35 +01:00
wmayer
06f479622c Sketcher: modify PR 3201 a bit
+ remove unneeded class members from EditData class
+ do not include ui-header from within header files
+ fix possible memory leak in EditDatumDialog
+ when canceling dialog make sure sketch will be updated
2020-03-19 13:45:52 +01:00
0penBrain
2d9c2c6440 [Sketcher] Constraint driving/driven status integration in dimension edition dialog
This integrates the ability to manage dimensional constraint driving/driven status
 in the constraint edition dialog box.
 It adds a checkbox in the dialog to show/select whether a constraint is driving or
 driven. When the constraint value is modified, it is automatically set as driving.
 Main focus is to allow to edit name (alias) of reference (driven) constraints
 directly in the constraint edition box.

 Resolves #3793, #3978
2020-03-19 13:45:52 +01:00
dulouie
e83dd0121c Sketcher: fix contraints cmd crosshair color 2020-03-16 09:34:21 +01:00
luz.paz
8624564469 [skip ci] Fix typos
Found via `codespell`
2020-03-09 16:23:26 +01:00