Commit Graph

1716 Commits

Author SHA1 Message Date
Abdullah Tahiri
5133a874ad Sketcher: Delete non-suported BSpline constraints on NURBS conversion 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
c1f4fd9490 Sketcher: BSpline toolbar command support for Convert to NURBS external geometry 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
4c9073eeb6 Sketcher: SketchObject convert to NURBS support for External Geometry 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
2b6292a07b Sketcher: Convert to NURBS command improvement - abortcommand 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
f1cf2fca44 Sketcher: Expose Internal Geometry for BSplines
===============================================

This commit changes the behaviour of expose internal geometry for bsplines and makes it converge with the implementation for other complex forms.

This functionality now does not introduce constraints (the DoF is not affected by its execution).

BSplines, when created, are still created as polynomic. However, exposing previously deleted or otherwise hidden (increase of degree) poles does not
constraint them.

why?

While a priori the old behaviour is advantageous for the user in many situations, it severely breaks NURBS-ized shapes and gets in the way of bsplines after
increasing the degree of the bspline.
2017-02-21 13:24:10 +01:00
Abdullah Tahiri
4fe4792f4d Sketcher: Fix zero curvature normal exception 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
ca05f86f6e Sketcher: Convert to NURBS toolbar via python to enable undo 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
0531411df6 Sketcher: Increase Degree toolbar via python to enable undo 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
55f373eef7 Sketcher: IncreaseBSplineDegree python implementation 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
4abe462a41 Sketcher: ConverttoNURBS python implementation 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
ce7e186049 Sketcher: Adaptation of code to handle the icons 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
afd761041d Sketcher: BSpline Increase Degree tool 2017-02-21 13:24:10 +01:00
Alex Gryson
8ddc9cb901 Add metadata 2017-02-21 13:24:10 +01:00
Alex Gryson
2a7cdf77e9 Add extra icons based on new feedback 2017-02-21 13:24:10 +01:00
Alex Gryson
3c28937e14 Create BSpline Toggle icons
Create icons as [discussed on the forum](http://forum.freecadweb.org/viewtopic.php?f=34&t=20286&start=34)
2017-02-21 13:24:10 +01:00
Abdullah Tahiri
d5b068e0ab Sketcher: Shape to NURBS conversion 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
90bec55660 Sketcher: Automatic calculation of divisions for comb 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
fcc08656d3 Sketcher: Bspline comb - change representation to be convex 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
2ecfb6743b Sketcher: Bspline support for external geometry 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
d92b3fcc07 Sketcher: Settings - Allow to set the number of segments per geometry 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
00aadc4581 Sketcher: BSpline show/restore geometry information commands as a dropdown menu 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
99dee8ab36 Sketcher: Switch of comb geometry information 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
135137ed3d Sketcher: BSpline degree/comb hide/show commands 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
e3487368d7 Sketcher: Comb appropriate scaling for closed and periodic BSplines 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
feb29bd630 Sketcher: BSpline curvature comb 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
1bac54e63e Sketcher: new BSpline toolbar / command to hide control polygon 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
2a4f24695a Sketcher: Information Layer show/hide node support 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
9e6beb1a01 Sketcher: Information layer scenography update on geometry change 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
4cffdfe183 Sketcher: Geometry Information layer for BSplines 2017-02-21 13:24:10 +01:00
Alexander Gryson
c7652d7c74 Update icons based on forum feedback
See [@NormandC's forum
post](https://forum.freecadweb.org/viewtopic.php?f=34&t=20286&sid=43e2b6766d1b74c4e6e4337dfcbd1084&start=32)
2017-02-19 15:05:56 +01:00
wmayer
67a0bd4750 improve whitespaces 2017-02-18 09:44:58 +01:00
Mateusz Skowroński
7e42975556 Fix more GCC warnings. 2017-02-18 09:35:31 +01:00
Mateusz Skowroński
d7541bcd28 QStyleOptionViewItemV4 is deprecated in Qt5. Replace it with QStyleOptionViewItem. 2017-02-12 05:46:07 +01:00
AjinkyaDahale
cc46acf10e [Sketcher] Moved radius to constraint mode framework 2017-02-10 17:32:18 +01:00
AjinkyaDahale
3d9b46d9f3 [Sketcher] corrected artifact introduced by faulty conflict resolution 2017-02-10 17:32:18 +01:00
AjinkyaDahale
3cf00a1314 [Sketcher] Moved distance to constraint mode 2017-02-10 17:32:18 +01:00
AjinkyaDahale
47624cf3e1 Moved vertical and horizontal distance to constraint creation mode 2017-02-10 17:32:18 +01:00
AjinkyaDahale
5ff6895080 Moved symmetric to general constrain creation mode framework
That makes all of the non-dimensioned constraints
2017-02-10 17:32:18 +01:00
AjinkyaDahale
45cb028f34 Moved equal to general constrain creation mode framework 2017-02-10 17:32:18 +01:00
AjinkyaDahale
adc13eda06 Move tangent to general constraint mode framework 2017-02-10 17:32:18 +01:00
AjinkyaDahale
df658ae889 Replace some of the allowedSelSequences with more general form
Greatly shortens the number of sequenses needed if you replace SelVertex
and SelRoot with SelVertexOrRoot and similar for the edges/axes.
For e.g. implemented sequences for perpendicular dropped from the older
25 to now 6.
2017-02-10 17:32:18 +01:00
Alexander Gryson
6fde63273c Integrate forum feedback on icons 2017-02-05 21:58:13 +01:00
wmayer
17a3d1e81f fix warnings: -Wmaybe-uninitialized 2017-02-04 15:16:47 +01:00
wmayer
33e0bc3a46 fix various warnings 2017-02-02 20:42:56 +01:00
Abdullah Tahiri
66982e21bd Sketcher: Polyline continuous mode support 2017-02-02 10:42:38 +01:00
Abdullah Tahiri
b708957080 Sketcher: BSpline deletion/special hideunused internal geometry
===============================================================

The implementation of BSpline differs from previous complex forms.

The BSpline is created constraint to be polynomic (non-rational), with radius of first circle and equality constraints.

Hide unused internal geometry considers as unused the following constraints:
- A pole which has equality constraints with another pole of the same bspline
- Any radius constraint on a pole

Deletion of a BSpline will delete the internal geometry that is unused as per the definition above.

If there is another constraint (other than the Internal alignment constraint) it will leave the internal geometry having such constraint undeleted.
2017-02-02 10:42:38 +01:00
AjinkyaDahale
e8c822c93e Changes based on wwmayer's comments 2017-01-31 17:07:45 +01:00
AjinkyaDahale
fb2cd4d7b3 Moved Perpendicular to constraint mode framework
A couple of combinations, endpoint-endpoint and endpoint-curve, do not
work, and the latter probably should not work ever since endpoint-curve-
curve exists.
2017-01-31 17:07:45 +01:00
AjinkyaDahale
5e997fed02 Brought back select then constraint for all constraint tools yet converted 2017-01-31 17:07:45 +01:00
AjinkyaDahale
a881d30a70 Miscellaneous changes to constraint creation modes
Parallel constraints can also be made by select-then-constraint way.
Preliminary preparations for perpendicular constraint making mode.
Selection actually works when for constraints involving multiple
elements few of them are selected (thanks abdullah).
etc.
2017-01-31 17:07:45 +01:00