fee6ab18e7
BLI_heap: implement a limited but faster version of heap.
...
If the user only needs insertion and removal from top, there is
no need to allocate and manage separate HeapNode objects: the
data can be stored directly in the main tree array.
This measured a 24% FPS increase on a ~50% heap-heavy workload.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D3898
2018-11-05 20:49:17 +03:00
a18927463c
Cleanup: style
2018-11-03 15:55:45 +11:00
Dalai Felinto
c63d133f4d
Small cleanup on curve separation error handling
2018-11-02 14:12:20 -03:00
Dalai Felinto
3335618489
Multi-Objects: CURVE_OT_make_segment
...
And another go at a more complete error handling.
I couldn't test all the error throwing cases but hopefully it is all
working as expected.
2018-11-02 14:12:20 -03:00
Dalai Felinto
b5a18c1aac
Multi-Objects: CURVE_OT_reveal
2018-11-02 14:12:20 -03:00
Dalai Felinto
597d0ce93c
Multi-Objects: CURVE_OT_hide
2018-11-02 14:12:20 -03:00
Dalai Felinto
3e55b3c6d0
Multi-Objects: CURVE_OT_switch_direction
2018-11-02 14:12:20 -03:00
Dalai Felinto
14344de261
Multi-Objects: CURVE_OT_tilt_clear
2018-11-02 14:12:20 -03:00
Dalai Felinto
3d4fd6ce1e
Multi-Objects: CURVE_OT_handle_type_set
2018-11-02 14:12:20 -03:00
Dalai Felinto
500ebf7348
Multi-Objects: CURVE_OT_normals_make_consistent
2018-11-02 12:37:56 -03:00
Dalai Felinto
4135c7786e
Multi-Objects: CURVE_OT_separate
...
This is also a first take on trying to handle errors for partial
succeeded operators. Handling it all manually for now.
For the remaining operators I will use changed_multi to get over with
multi-objects. But we can handle their errors in a separate pass.
2018-11-02 12:16:59 -03:00
2959e4c72c
Multi-Object-Mode: Edit curve draw (deselect all)
...
D3887 by @zazizizou
2018-11-02 08:31:36 +11:00
93b99306d8
Multi-Object-Mode: Edit curve toggle cyclic
...
D3882 by @zazizizou
2018-11-02 08:26:11 +11:00
bafd1b6d92
Multi-Object-Mode : Edit Curve Decimate
...
D3309 by @thornydre
2018-10-31 15:40:01 +11:00
1fb9fcb333
Cleanup: indentation
2018-10-31 14:43:25 +11:00
Dalai Felinto
e9980e5a75
Multi-Objects: CURVE_OT_split
2018-10-30 18:59:43 -03:00
Dalai Felinto
46bf079b7f
Fix error checking on curve duplication
2018-10-30 18:59:43 -03:00
Dalai Felinto
5a156fd109
Cleanup style :|
...
So much for saving time by copying existing patches from phabricator.
2018-10-30 18:48:21 -03:00
Dalai Felinto
b9d5888728
Multi-Objects: CURVE_OT_duplicate
2018-10-30 18:31:27 -03:00
Dalai Felinto
993f4d4827
Multi-Objects: CURVE_OT_extrude
2018-10-30 17:53:52 -03:00
Dalai Felinto
258ad21cf2
Multi-Objects: CURVE_OT_spin
2018-10-30 17:37:45 -03:00
Dalai Felinto
d7c6013d01
Multi-Objects: CURVE_OT_dissolve_verts
2018-10-30 17:07:32 -03:00
df613a52e6
Multi-Objects: CURVE_OT_de_select_last
...
Reviewers: dfelinto
https://developer.blender.org/D3841
2018-10-30 16:22:55 -03:00
9d9d44dbcb
Multi-Objects: CURVE_OT_de_select_first
...
Reviewers: dfelinto
https://developer.blender.org/D3839
2018-10-30 16:22:55 -03:00
Dalai Felinto
47afabbb42
Multi-Objects: CURVE_OT_select_nth
...
Based on D3407 by Daniel Griffin.
2018-10-30 16:22:55 -03:00
0973ea5132
Multi-Object EditMode: curve delete
...
D3859 by @zazizizou
2018-10-30 14:14:03 +11:00
95150b8414
Multi-Object EditMode: curve select next/prev
...
D3842 & D3843 by @zazizizou
2018-10-29 13:41:44 +11:00
45aa812fb3
Multi-Object EditMode: curve select more/less
...
D3844 by @zazizizou with support for select-less
2018-10-29 13:25:04 +11:00
Dalai Felinto
6479e800bc
Multi-Objects: Curve - select pick, linked and short path
...
I'm following mesh editing to decide when to switch active object, or
deselect the other objects. I hope we can keep this all consistent in
the end.
2018-10-26 20:01:19 -03:00
c06333d77b
Object Join: use 'selected_editable_objects'
...
Was using 'selected_editable_bases', which used to save a lookup.
This is no longer the case and complicates access from Python
which cant yet easily access Bases.
2018-10-01 16:45:57 +10:00
3a09ff77a1
Fix T56879: Blender2.8 Crash when Editing Text on Curve.
...
Moving cursor in 3D text edit mode calls `BKE_vfont_to_curve_ex()`,
which expects to work with evaluated data (curve cache runtime etc.).
2018-09-30 21:37:32 +02:00
58adc58661
Merge branch 'master' into blender2.8
2018-09-27 15:49:59 +02:00
a247b53084
Spelling fixes in comments and descriptions, patch by luzpaz.
...
Differential Revision: https://developer.blender.org/D3732
2018-09-27 15:36:35 +02:00
311db0e9f0
Edit Curves: Fix warnings due to recent changes
2018-09-25 23:04:41 +02:00
2cff9b4cb6
Curves: Move draw options to overlays
...
This commit add one regression: it is impossible to currently hide handles
in the viewport. But this should be fixed in another commit.
2018-09-25 22:51:54 +02:00
Roel Koster
3816592fc6
Fix broken shift + A menu in curve edit mode.
...
Differential Revision: https://developer.blender.org/D3699
2018-09-25 14:55:26 +02:00
1278890611
Put the Radius property of Curve points under shape key control.
...
Since shape keys are stored as raw floating point data, this
unfortunately requires changes to all code that works with it.
An additional complication is that bezier and nurbs control
points have different entry size, and can be mixed in the same
object (and hence shape key buffer).
Shape key entries are changed from:
bezier: float v1[3], v2[3], v3[3], tilt, pad, pad;
nurbs: float vec[3], tilt;
To:
bezier: float v1[3], v2[3], v3[3], tilt, radius, pad;
nurbs: float vec[3], tilt, radius, pad;
The official shape key element size is changed to 3 floats,
with 4 elements for bezier nodes, and 2 for nurbs. This also
means that the element count is not equal to the vertex count
anymore.
While searching for all curve Shape Key code, I also found that
BKE_curve_transform_ex and BKE_curve_translate were broken. This
can be seen by trying to change the Origin of a Curve with keys.
Reviewers: campbellbarton, sergey
Differential Revision: https://developer.blender.org/D3676
2018-09-20 11:52:42 +03:00
9dac8633d6
Merge branch 'master' into blender2.8
2018-09-20 12:51:16 +10:00
1cc9022eb5
Cleanup: use win_to_3d_on_plane for curve drawing
2018-09-20 12:45:07 +10:00
8377febcb7
Merge branch 'master' into blender2.8
2018-09-20 12:06:53 +10:00
1a2e41a0f2
Cleanup: renaming missed from merge
2018-09-20 12:05:10 +10:00
c9df0ea147
3D View: add a simple un-clipped win_to_ray
2018-09-20 12:00:02 +10:00
de32dc6b27
Cleanup: rename 3D view ray calculation functions
...
Using near far and optionally clipping planes is
involved and not needed in many cases.
Rename so a simpler version of this function can be added.
2018-09-20 11:47:17 +10:00
a1dda992c0
UI: disable register for insert text
...
Hides redo panel.
2018-09-11 09:20:02 +10:00
Dalai Felinto
b94d34915f
Textbox removal and creation should update text data
2018-09-10 13:41:56 -03:00
fc115e1ab2
Cleanup: remove legacy layer and dupli code.
2018-09-04 16:11:27 +02:00
8c74462f18
Cleanup: move select all/none/invert into template
2018-09-02 21:25:14 +10:00
7c6136b35c
Merge branch 'master' into blender2.8
2018-08-31 13:40:10 +10:00
18d135d05c
Cleanup: rename WM_keymap_find -> WM_keymap_ensure
2018-08-31 13:36:46 +10:00
Dalai Felinto
7527f2317a
Fix Font object: text selection and cursor not updating
2018-08-30 17:49:05 -03:00