Commit Graph

835 Commits

Author SHA1 Message Date
wmayer
62b4782ed6 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
0955ccf594 fix whitespaces 2017-01-20 19:22:50 +01:00
abdullahtahiriyo
3f0c9d7bc3 Merge branch 'master' into bspline_2017 2017-01-18 22:48:27 +01:00
wmayer
987630700d fix crashes in creation of parabola or hyperbola 2017-01-16 23:07:09 +01:00
Abdullah Tahiri
46075f31ba Sketcher: Symmetry support for BSpline 2017-01-16 21:47:03 +01:00
Abdullah Tahiri
252d84ff4f Sketcher: Array/Copy/Clone support for BSpline 2017-01-16 21:28:40 +01:00
Abdullah Tahiri
2e789dc523 Sketcher: BSpline SnellsLaw - unsupported 2017-01-15 22:34:14 +01:00
Abdullah Tahiri
f935f33345 Sketcher: BSpline point-on-object - unsupported 2017-01-15 22:29:21 +01:00
Abdullah Tahiri
c1decd3bb4 Sketcher: Enable relative movement of BSpline edge 2017-01-15 22:21:18 +01:00
AjinkyaDahale
a588349173 Horizontal and Vertical Constraint creation modes 2017-01-15 17:00:45 +01:00
Abdullah Tahiri
4da262dd33 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
6b5622a661 Sketcher: BSpline - Equality not supported user indication 2017-01-15 01:40:04 +01:00
Abdullah Tahiri
2eec558ce7 Sketcher: BSpline - UI Perpendicularity 2017-01-15 01:27:46 +01:00
Abdullah Tahiri
340d33f3a5 Sketcher: BSpline - Informing the user of non-supported tangencies 2017-01-15 00:57:05 +01:00
Abdullah Tahiri
e53dc90c9a 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
9bf1e8f4f4 Sketcher: BSpline box selection 2017-01-14 19:33:40 +01:00
Abdullah Tahiri
512fd62c41 Sketcher: Enable BSpline edge and enpoints movement 2017-01-14 01:23:04 +01:00
Abdullah Tahiri
1b59e74568 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
0ef082bcd4 Sketcher: Construction of periodic BSplines 2017-01-13 22:25:10 +01:00
Abdullah Tahiri
348d4cf320 Sketcher: Periodic bspline icons 2017-01-13 22:24:55 +01:00
Abdullah Tahiri
671e588739 Sketcher: BSpline autoconstraints on creation 2017-01-12 23:45:03 +01:00
Abdullah Tahiri
b255ada03a Sketcher: Sketcher Elements support for BSpline 2017-01-12 22:55:31 +01:00
Abdullah Tahiri
c9de3687af Sketcher: BSpline restore internal geometry 2017-01-11 23:51:06 +01:00
Abdullah Tahiri
2a4353a940 Sketcher: BSpline delete internal geo on deletion 2017-01-11 23:44:45 +01:00
Abdullah Tahiri
d66242bd08 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
c2f2a25054 issue #0002739: Mac users must Command click instead of Ctrl click multiple elements. 2017-01-11 20:58:49 +01:00
wmayer
a9530bc678 issue #0002739: Mac users must Command click instead of Ctrl click multiple elements. 2017-01-11 13:25:46 +01:00
Abdullah Tahiri
1155022a82 Sketcher: BSpline Weights internal geometry support 2017-01-11 01:17:07 +01:00
Abdullah Tahiri
6bd801d363 Sketcher: expose Bspline pole internal geometry 2017-01-11 01:16:33 +01:00
Abdullah Tahiri
d949f52878 Sketcher: BSpline solver Internal Geometry for poles 2017-01-10 23:34:49 +01:00
Abdullah Tahiri
07eebb1c52 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
609c80b71a Part: Fixes triggered by Werner's comments on my branch 2017-01-10 20:05:18 +01:00
wmayer
0e65256f3f issue #0000466: Sketcher: allow moving the dimension datums in two directions 2017-01-09 13:17:27 +01:00
wmayer
186b9e2edf make code a bit more readable 2017-01-09 10:07:59 +01:00
wmayer
81e9228cf0 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
c20b17f721 Sketxher: Basic creation method
===============================

For non-periodic case.

No autoconstraints or internal geometry at this point.
2017-01-07 20:21:19 +01:00
Abdullah Tahiri
e7daf5a90e Sketcher: BSpline icons courtesy of Jim 2017-01-07 14:35:43 +01:00
Abdullah Tahiri
cb687b8e74 Sketcher: ViewProvider BSpline Representation 2017-01-06 00:08:30 +01:00
Abdullah Tahiri
6fc4ade7c6 Sketcher: Validation of BSpline 2017-01-05 22:10:31 +01:00
Abdullah Tahiri
36a5d5f9b6 Sketcher: Enable BSpline creation in SketchObjectPy 2017-01-05 21:52:35 +01:00
Abdullah Tahiri
d60613364b Sketcher: BSpline basic SketchObject support 2017-01-05 21:45:47 +01:00
Abdullah Tahiri
6c456e9182 Sketcher: BSpline solver sketch basic implementation
====================================================

Creation of solver geometry definitions from Part::BSpline geometries and update of solved geometry back.
2017-01-05 12:01:11 +01:00
Abdullah Tahiri
80adf30da3 Sketcher: BSpline FreeGCS geometry definition
=============================================

multiplicities, degree and periodic are left as non-parameters of the solver, while still allowing certain manipulations to be effected from the solver
in certain situations (for example modifying the multiplicity of start/end nodes when applying G1,G2,G3 constraints between BSplines).
2017-01-05 11:58:35 +01:00
wmayer
4efd3e894a fix -Wunused-parameter 2017-01-04 18:20:43 +01:00
AjinkyaDahale
8e1f5364af Coincident constraint making mode added
One small problem remains that the origin is not selectable as one point
in coincident constraint making mode.
2017-01-04 12:58:11 +01:00
AjinkyaDahale
75ad582913 Lock doesn't complain "no selection" 2017-01-04 12:58:11 +01:00
AjinkyaDahale
670e59eae7 Lock constraint in always available when sketch is open
Earlier it was available only when a selection is made
2017-01-04 12:58:11 +01:00
AjinkyaDahale
1230f493d5 Lock constraint can be applied with better selection
Can't yet start without selection: the button on toolbar is not active
without a selection yet
2017-01-04 12:58:11 +01:00
AjinkyaDahale
ecd1f465b0 Added DrawSketchHandlerLock 2017-01-04 12:58:11 +01:00
wmayer
cbf717f317 fix whitespaces 2016-12-28 14:22:42 +01:00