Commit Graph

2421 Commits

Author SHA1 Message Date
0penBrain
e9adbfae4f Sketcher: also save advanced filters + minor fix 2022-12-01 16:21:50 +01:00
0penBrain
f2e4fe03f5 Sketcher: constraint settings are kept in sync with user parameters 2022-12-01 16:21:50 +01:00
0penBrain
28df9d6f72 Sketcher: 'HideInternalAlignment' also has effect when constraint filter is disabled 2022-12-01 16:21:50 +01:00
0penBrain
98500bf453 Sketcher: settings in Task Constraint are translatable 2022-12-01 16:21:50 +01:00
0penBrain
3ab4427658 Sketcher: fix basic issues in Task Constraint 2022-12-01 16:21:50 +01:00
luz paz
056d1aea87 Fix various typos and grammatical issues 2022-11-30 12:45:29 +01:00
wmayer
a21c454387 Sketcher: [skip ci] don't mix QCheckBox::setChecked() with tristate API 2022-11-29 11:03:29 +01:00
wmayer
6653991a97 Gui/Mod: handle several compiler warnings:
* ignore -Wfree-nonheap-object for generated code
* replace 0 with Qt::NoModifier when creating a QKeyEvent
* in Qt 5.14 QCombobox::activated(QString) is deprecated, use textActivated
* don't mix QCheckBox::setChecked() with tristate API
2022-11-29 10:36:02 +01:00
wmayer
0df31f9af1 Sketcher: [skip ci] refactor SoDatumLabel 2022-11-24 12:59:01 +01:00
wmayer
a93fc8cc8b Sketcher: [skip ci] refactor SoDatumLabel 2022-11-24 12:38:28 +01:00
wmayer
990c7006a3 Sketcher: [skip ci] refactor SoDatumLabel 2022-11-24 11:51:26 +01:00
wmayer
68da5ea5cf Sketcher: [skip ci] fix compiler warning 2022-11-24 10:55:24 +01:00
wmayer
b91cae4ee5 Sketch: use the focal distance to determine a correct scale factor for SoDatumLabel
This fixes #7860: Dimensions get unreadable (small) if a 2nd sketch is visible
and fixes #7082: Dimension size on perspective view scales "backwards"
2022-11-24 10:21:59 +01:00
Adrian Insaurralde Avalos
29086e608a Sketcher: Element widget - fix toolbuttons height 2022-11-24 02:21:49 +01:00
Paddle
8284f6bae8 Sketcher: Element widget: - FilterBox and filter state is now registered as preference to be cross-session. 2022-11-24 01:14:43 +01:00
Paddle
5083efc2cf Sketcher: Constraint widget: Add 'Auto constraints' and 'auto remove redundant' to the setting button. 2022-11-24 01:09:38 +01:00
Paddle
0eef8b50b3 Sketcher: Constraint widget: Improve the filter such that the filter state and checkboxe state is cross-cession. Enabling user to 'save' filter state. 2022-11-24 01:09:38 +01:00
Paddle
6f93989777 Sketcher: Constraint widget: - Fix eye button
- move 'Internal alignment' to Geometric.
    - Fix another bug.
2022-11-24 01:09:38 +01:00
Paddle
ae0554cd5e Sketcher: filter list strings are updated at language change. By @0penBrain 2022-11-24 01:09:38 +01:00
Paddle
398deb2f5b SKETCHER: Constraint widget rework (issue 7518)
see https://forum.freecadweb.org/viewtopic.php?f=34&t=71595&start=20
2022-11-24 01:09:38 +01:00
wmayer
350e3c74ce Sketch: add missing header 2022-11-22 15:53:50 +01:00
0penBrain
34bfb9bbc2 Sketcher: fix warning about QStringLiteral used without argument 2022-11-21 09:57:54 +01:00
0penBrain
283ee6f1a3 Sketcher: filter list strings are updated at language change (include fix commits) 2022-11-20 15:14:19 +01:00
Paddle
1ab352040a Sketcher: Element widget: Improve filter widget. 2022-11-20 15:14:19 +01:00
Uwe
db837c7468 [sketch] Geo.cpp: fix compiler warning
- as reported here: https://forum.freecadweb.org/viewtopic.php?f=10&t=73647
2022-11-20 00:38:21 +01:00
luz paz
94c9430a26 [Sketcher] fix header uniformity
Make uniform all Sketcher headers.
2022-11-19 16:04:55 +01:00
0penBrain
4b8b93c3b8 Sketcher: disable auto-constraint in Copy/Clone/Move commands 2022-11-18 08:18:58 +01:00
0penBrain
8a574f5a51 Sketcher: Clone: do not apply parallel constraint if angle constraint is applied on arc 2022-11-18 08:18:58 +01:00
luz paz
4c09fe0162 Sketcher: remove trailing whitespace 2022-11-17 23:56:13 +01:00
Ajinkya Dahale
e1485388d4 [Sketcher][planegcs] Make changes as per comments on #7484
Comments by @abdullahtahiriyo.

Remove default values and smaller constructor for `CenterOfGravity` and
`WeightedLinearCombination` constraints.

Clarify comments.

Improve readability of `CenterOfGravity` and `WeightedLinearCombination`
constraints.
2022-11-16 15:35:37 +01:00
Ajinkya Dahale
473a380b49 [Sketcher][planegcs] Set knot constraint as internal alignment 2022-11-16 15:35:37 +01:00
Ajinkya Dahale
f75bd1eed7 [Sketcher] Do not make knots construction points 2022-11-16 15:35:37 +01:00
Ajinkya Dahale
e1d72a3023 [Sketcher] Stop treating knots as fixed in GUI commands
This stops constraints from becoming non-driving when not set.

Follow 0penbrain's comments

typo
2022-11-16 15:35:37 +01:00
Ajinkya Dahale
ba4f2bf128 [Sketcher] Constrain B-spline knots as linear combination of poles
Also squashes:

[Sketcher] Create center of gravity constraint in planegcs

[Sketcher] typo

[Sketcher] Use accurate "weights" for knots

By weights we mean the linear combination factor B_i(x) such that
spline(x) = sum(pole_i * B_i(x)) for _non-rational_ splines.

[Sketcher] Use more appropriate weights for knots

These are relevant for knots _away_ from any ends (and possibly other high
multiplicity knots).

[Sketcher] Make COG constraint weights user-definable

[Sketcher] Make `flattenedknots` for periodic B-Splines

[Sketcher] Fix incorrect setup of `flattenedknots`

Without ensuring enough space, iterators become invalid. These iterators are
needed because for periodic B-splines we need to pad flattenedknots with offset
values within flattenedknots.

Apparently there is still some iterator issues even after the reserve. Just use
fresh vectors instead.

[Sketcher] Apply knot constraints by parameter

Hopefully this will allow directly applying constraints on knots.

[Sketcher] Disable some knot updating

[Sketcher] Use center of gravity constraint on knots

[Sketcher] Fix knot COG constraint for periodic splines

[Sketcher] Add start/end point of periodic spline to solver

This removes the trouble of transferring constraints to the underlying knot.

[Sketcher] Support knot constraints on rational B-splines

[Sketcher] Remove virtual from overridden methods in planegcs

Follow 0penbrain's comments

[Sketcher][planegcs] Use `unsigned int` in signatures

Also `size_t` at places

Suggestions by @abdullahtahiriyo
2022-11-16 15:35:37 +01:00
Ajinkya Dahale
bad4406387 [Sketcher] Reformat some if-else for readability
Weren't folding right in spacemacs.
This commit can be omitted if undesired.
2022-11-16 15:35:37 +01:00
0penBrain
44c77e5542 [Typo]Sketcher: 'Clone' is the first command of CompCopy, match the tooltip 2022-11-16 14:48:39 +01:00
Paddle
d6934c0ecd Sketcher: Coincidence constraint: fix error introduced by concentric capability. 2022-11-14 17:39:09 +01:00
wmayer
3335f03f3b Sketcher: fix clazy warnings:
* Wclazy-connect-by-name
* Wclazy-unused-non-trivial-variable
* Wclazy-detaching-temporary
2022-11-13 15:39:27 +01:00
Paddle
cf383d709d Sketcher: Fix element widget repaint delay bug
Related to https://github.com/FreeCAD/FreeCAD/pull/7567#issuecomment-1304724547
2022-11-13 07:13:06 +01:00
Uwe
a181ea2c0d [Sketch] change polyline icon
- the same intention as https://github.com/FreeCAD/FreeCAD/pull/7588 but proposal with less strokes
2022-11-06 08:09:45 +01:00
wmayer
43d2fd2da9 Gui/Sketcher: disable geometry deselection when user holds Ctrl or additionally Shift or Alt 2022-11-05 22:56:38 +01:00
Paddle
192666d1ac Sketcher: Add concentric capabilities to coincidence constraint. 2022-11-04 13:21:01 -05:00
Paddle
67a513e101 Gui: Allow to hide toolbars that are not needed.
In particular this hides edit-mode sketcher toolbars when in non-edit-mode.
    And hides non-edit-mode toolbar when in edit-mode.
    It also hides the structure toolbar when in edit-mode (as it is completely deactivated)
2022-11-04 12:02:16 -05:00
Paddle
9860761d01 Sketcher: Split sketcher toolbar in sketcher-edit-mode and sketcher-non-edit-mode. 2022-11-04 12:02:16 -05:00
Paddle
90d78a9ef5 Base: + Sketcher: disable deselection when user holds Ctrl. 2022-11-04 10:44:52 -05:00
wmayer
78a823141a Sketcher: [skip ci] fix constraint dialogs to use QDialog instead of QWidget
With Qt6 this fixes a compilation error because uic uses the modern style of connect()
2022-11-02 13:49:14 +01:00
wmayer
4b08850edb Qt6 port:
* QApplication::setFallbackSessionManagementEnabled has been removed
* QString::medRef() has been removed. Use QString::mid() again.
* QTextStream::setCodec has been removed
* Use operator QVariant of the QFont class to make code Qt5 and Qt6 compatible
* Signature of QTreeWidget::mimeData() has changed in Qt6. Remove TreeWidget::mimeData() because it doesn't change the implementation
* QLayout::setMargin() is deprecated in Qt5 and has been removed in Qt6. Use QLayout::setContentsMargins()
* QDateTime::toTime_t() is deprecated in Qt5 and has been removed in Qt6. Use QDateTime::toSecsSinceEpoch()
* QDesktopWidget is deprecated in Qt5 and has been removed in Qt6. Use QScreen
2022-11-01 16:55:40 +01:00
Chris Hennes
1fac3fead0 cMake: Add support for compiling against Qt6 (#7647)
Removes the BUILD_QT5 flag and adds a new FREECAD_QT_VERSION option,
which can be set to either "Auto" (default), 5, or 6. Auto detects which
version of Qt is installed on the system and chooses it. If both version
are installed, Qt5 is used.

Note that this DOES NOT implement compiling against Qt6, it only adds
the necessary cMake infrastructure to begin work on the source code
changes that will be required.
2022-10-31 09:24:09 -05:00
Paddle
5328c5f726 Optional : Point icon color fix. From green to red. This way internal points are yellow. Construction points are blue. The issue is that all normal points are construction. So they appear blue and not red. Not sure if that's a problem. 2022-10-29 20:25:34 +02:00
Paddle
cd3b7e26c6 Fix issues raised by OpenBrain. 2022-10-29 20:25:34 +02:00