Commit Graph

849 Commits

Author SHA1 Message Date
Alexander Gryson
6ac4160776 Align Sketcher Workbench icons to guidelines 2017-01-28 09:29:19 +01:00
wwmayer
aab3cdbed4 Merge pull request #475 from abdullahtahiriyo/bspline_stage1b_2017_firstdeliverable
Bspline stage1b 2017 firstdeliverable
2017-01-27 18:20:16 +01:00
Abdullah Tahiri
c1620e7a87 Sketcher: BSpline - avoid tiny circles on removal of equality 2017-01-26 23:41:02 +01:00
Abdullah Tahiri
675e6c4e41 Sketcher: BSpline Creation - as single command for one-step undo 2017-01-26 21:31:03 +01:00
Abdullah Tahiri
da5c5b22b4 Sketcher: BSpline Creation fix - Remove introduced pole if creation cancelled 2017-01-26 21:31:03 +01:00
Abdullah Tahiri
fe929559e1 Sketcher: BSpline Creation improvement - Add constraints by groups 2017-01-26 21:31:03 +01:00
Abdullah Tahiri
68d5a13b9a Sketcher: BSpline Creation acceleration - pole constraining on pole creation 2017-01-26 21:31:02 +01:00
Abdullah Tahiri
4e19839bb9 Sketcher: BSpline Creation solver call reduction 2017-01-26 21:31:02 +01:00
Abdullah Tahiri
e18dc4147b Sketcher: BSpline Creation - pole circle on click
=================================================

This method creates the pole circles on every click. This allows to properly detect the closing of the curve
2017-01-26 21:31:02 +01:00
Abdullah Tahiri
c809bfbed8 Sketcher: InternalAligment Python extension to InternalAlignmentIndex
=====================================================================

Extension of Constraint Python code to consider the case with 4 ints, where the last int is InternalAligmentIndex for InternalAligment constraint
2017-01-26 21:31:02 +01:00
wmayer
97905b8c7b issue #0002816: Trimming tool crashes 2017-01-23 19:06:48 +01:00
Abdullah Tahiri
2a58ed0576 Sketcher: BSpline creation mode end on right-click
==================================================

Now the BSpline ends with right-click, but creates the BSpline if at least two poles have been entered.

If continous creation mode is enabled, then it only exits when right-clicking without having entered any pole.
2017-01-22 00:38:23 +01:00
wmayer
c10f6fdd07 fix a couple of compiler warnings 2017-01-20 22:54:10 +01:00
wmayer
e262d3b127 write consistently 'B-spline' in menus and tooltips 2017-01-20 20:59:32 +01:00
wmayer
939ac5e936 Several fixes:
+ use different iterator variable for nexted loops
+ avoid loss of data warnings
+ improve layout
2017-01-20 19:40:49 +01:00
wmayer
d065c2fe5b fix whitespaces 2017-01-20 19:22:50 +01:00
abdullahtahiriyo
8d9af6f203 Merge branch 'master' into bspline_2017 2017-01-18 22:48:27 +01:00
wmayer
b26e3c3143 fix crashes in creation of parabola or hyperbola 2017-01-16 23:07:09 +01:00
Abdullah Tahiri
12de8e21a9 Sketcher: Symmetry support for BSpline 2017-01-16 21:47:03 +01:00
Abdullah Tahiri
ad977868a5 Sketcher: Array/Copy/Clone support for BSpline 2017-01-16 21:28:40 +01:00
Abdullah Tahiri
84041c0e50 Sketcher: BSpline SnellsLaw - unsupported 2017-01-15 22:34:14 +01:00
Abdullah Tahiri
6bf7d4d6c9 Sketcher: BSpline point-on-object - unsupported 2017-01-15 22:29:21 +01:00
Abdullah Tahiri
43e40f12df Sketcher: Enable relative movement of BSpline edge 2017-01-15 22:21:18 +01:00
AjinkyaDahale
4c001f40f3 Horizontal and Vertical Constraint creation modes 2017-01-15 17:00:45 +01:00
Abdullah Tahiri
4dfacb9888 Sketcher: BSpline solver improvement
===================================

In the unusual event that endpoint knot multiplicity is edited, avoid trying to force the bspline end-point
to match the corresponding control point (aka pole), as this leads to unsolvable sketches.
2017-01-15 01:49:45 +01:00
Abdullah Tahiri
6f09b31456 Sketcher: BSpline - Equality not supported user indication 2017-01-15 01:40:04 +01:00
Abdullah Tahiri
8f4eaf7587 Sketcher: BSpline - UI Perpendicularity 2017-01-15 01:27:46 +01:00
Abdullah Tahiri
14a34202a9 Sketcher: BSpline - Informing the user of non-supported tangencies 2017-01-15 00:57:05 +01:00
Abdullah Tahiri
bb6e480b3c Sketcher: BSpline simplified endpoint tangency/perpendicularity solver implementation
=====================================================================================

Support for tangency/perpendicularity using angle via point for BSpline with appropriate
endpoint multiplicity so that the endpoints goes thru the first and last poles (control points).

Warning: Not applicable to periodic BSplines.
Warning: Not applicable to any non-periodic BSpline with inappropriate endpoint conditions.
2017-01-15 00:42:25 +01:00
Abdullah Tahiri
00173a0a35 Sketcher: BSpline box selection 2017-01-14 19:33:40 +01:00
Abdullah Tahiri
73e797ffa0 Sketcher: Enable BSpline edge and enpoints movement 2017-01-14 01:23:04 +01:00
Abdullah Tahiri
f2c3ef61b0 Sketcher: Solver Simplification for basic case
==============================================

This commit is intended to allow to early merging to master of BSpline support. Parts of it will be reverted when a more advanced solver implementation is available.

The intention is to have an advances solver implementation in the future.

This commit cripples part of the potential functionality, but allows a very simplistic solver structure (no de Boor, no recursion).

In particular:
1. Knots are not solver parameters and the solver acts as if such a parameter did not exist.
2. For non-periodic case, the start point and the endpoint coincide with the first pole and the last pole respectively. This is only valid under certain first and last
knot multiplicity. If the user manually changes this multiplicities, the sketch will remain unsolved. For the periodic case, end and start points are not even solver
parameters as an end and start point is an ilusion and we really do not care where that happens. It is not reasonable to ask the user to constrain where this point should
be.
2017-01-13 23:42:57 +01:00
Abdullah Tahiri
e339f24095 Sketcher: Construction of periodic BSplines 2017-01-13 22:25:10 +01:00
Abdullah Tahiri
35927da2d9 Sketcher: Periodic bspline icons 2017-01-13 22:24:55 +01:00
Abdullah Tahiri
8d7dda96c9 Sketcher: BSpline autoconstraints on creation 2017-01-12 23:45:03 +01:00
Abdullah Tahiri
769e822e32 Sketcher: Sketcher Elements support for BSpline 2017-01-12 22:55:31 +01:00
Abdullah Tahiri
965293180e Sketcher: BSpline restore internal geometry 2017-01-11 23:51:06 +01:00
Abdullah Tahiri
9c3bcf2d90 Sketcher: BSpline delete internal geo on deletion 2017-01-11 23:44:45 +01:00
Abdullah Tahiri
4d7a468373 Sketcher: Contraint class extension
===================================

An additional index for internal geometry elements is introduced, to be stored only Internal Aligment constraint and backwards compatible.
2017-01-11 23:00:43 +01:00
wmayer
e693800eaf issue #0002739: Mac users must Command click instead of Ctrl click multiple elements. 2017-01-11 20:58:49 +01:00
wmayer
7783107f1c issue #0002739: Mac users must Command click instead of Ctrl click multiple elements. 2017-01-11 13:25:46 +01:00
Abdullah Tahiri
4b1fa0af8e Sketcher: BSpline Weights internal geometry support 2017-01-11 01:17:07 +01:00
Abdullah Tahiri
c2dae4a35c Sketcher: expose Bspline pole internal geometry 2017-01-11 01:16:33 +01:00
Abdullah Tahiri
167240e197 Sketcher: BSpline solver Internal Geometry for poles 2017-01-10 23:34:49 +01:00
Abdullah Tahiri
0f8db07e90 Sketcher: Constraint Third Redefinition for internal geometry
=============================================================

Internal alignment of BSplines requires an extra index for unbounded same-type internal geometry (poles, probably also in the future knots).

Value shall not be used, as it interferes with the update mechanism for constraint values.

An alternative solution would be to add another int to all the constraints just for this case.

As internal geometry does not use Third, it seems reasonable to reuse it for this indexing purpose.
2017-01-10 23:26:28 +01:00
Abdullah Tahiri
b0dc19eca9 Part: Fixes triggered by Werner's comments on my branch 2017-01-10 20:05:18 +01:00
wmayer
aeb24e2288 issue #0000466: Sketcher: allow moving the dimension datums in two directions 2017-01-09 13:17:27 +01:00
wmayer
268a575d28 make code a bit more readable 2017-01-09 10:07:59 +01:00
wmayer
ba28171f43 issue #0000753: angle constraint auto places the constraints visuals including its value in the wrong place 2017-01-08 16:47:06 +01:00
Abdullah Tahiri
546e5a20c5 Sketxher: Basic creation method
===============================

For non-periodic case.

No autoconstraints or internal geometry at this point.
2017-01-07 20:21:19 +01:00