3a3f80673c
Cleanup: minor corrections
2015-04-22 00:16:26 +10:00
e3a6440e7a
BMesh: mesh-data picking, general improvements
...
Generalize logic for vert/edge/face selection:
- index cycling.
- selection bias with mixed modes.
Details:
- Edges now support index cycling (as verts/faces did already)
- Cycling over near elements is now only enabled when the mouse position remains the same.
- No longer do 2 selection passes to perform index cycling.
Fixes:
- Edges behind the view could be selected (surprising nobody reported!)
- Selection bias now only changes the element that gets picked without interning the return distance
(was buggy with mixed modes).
2015-04-21 21:25:43 +10:00
62e149881a
Fixes for backbuf selection logic
...
- Fix ED_view3d_backbuf_sample_rect, r_dist was set completely wrong.
- Avoid duplicate calculations picking the nearest edge.
- Bias against picking selected edges is now optional.
- Remove unused callback reading the backbuf.
- Remove unused strict option picking vertices.
2015-04-21 04:50:39 +10:00
aa880bb815
Cleanup: use ED_view3d_backbuf_* prefix
2015-04-21 03:19:27 +10:00
d57a93a7cb
Fix T44383: Select face fails in some positions
...
When mixing vert/edge/face with select-visible,
face selection could fail when not close enough to the center.
This also fixes a bug where the bias for verts over edges would
prefer faces over edges too, making edges harder to pick.
Mixing edge with other selection modes works more predictably now.
2015-04-21 03:10:32 +10:00
0626d27bf6
Editmesh select nearest fixes
...
- distance from edge check wasn't clamping 0-1
- vertex bias wasn't taking pixelsize into account.
- index & pass counter were floats
Also some improvements
- use BMesh lookup tables when available.
- use structs to avoid issues getting out of sync.
2015-04-21 01:50:21 +10:00
60e8e20132
Cleanup: use macro for common view3d zbuf check
2015-04-21 01:50:20 +10:00
57d9badc21
Cleanup: use bool /w flag checks
2015-04-21 01:50:20 +10:00
690b90f1e2
BMesh: minor optimization counting adjacent data
...
add BM_***_count_is_over(), _count_is_equal()
Useful if we only want to know if the count is a smaller value.
2015-04-12 17:38:14 +10:00
1dd1d286c6
Select nth option to skip steps
...
Patch T43752 @codemanx , added matching curve option.
2015-03-19 04:40:43 +11:00
aab4f2b762
cleanup: redundant casts & const cast correctness
2015-01-01 23:42:28 +11:00
c79c48cc93
Fix T40930: Add a new option to select faces by smooth/flat shading.
...
Org code by robschia (Roberto Schiavone), first review by campbellbarton (Campbell Barton),
final review and minor changes by mont29 (Bastien Montagne).
Reviewers: cambellbarton, mont29
Subscribers: mont29, campbellbarton
Maniphest Tasks: T40930
Differential Revision: https://developer.blender.org/D638
2014-12-28 19:08:43 +01:00
cadcb12292
Fix leak in select-similar regions
2014-12-28 16:00:08 +11:00
b7d053beaa
Cleanup: warnings & space
2014-11-30 19:28:59 +01:00
bcbbc66795
Cleanup: unused headers
2014-11-28 15:52:30 +01:00
a081a4817c
Editmesh: select more/less can now step over adjacent faces
...
This keeps a square shaped selection when using grid topology.
2014-11-06 15:35:46 +01:00
2f4e70702c
BMesh: select similar regions
...
Select operator that takes multiple selected face regions and
selects any number of matching regions (when they have distinguishing features to isolate them).
UI access next.
2014-09-26 23:06:20 +10:00
00cb9e5f1c
Editmesh: Add options for selecting manifold
...
Manifold was defined as any edges not using 2 faces,
however its useful to have some options here.
You can now select between Wire/Boundary/Multi-Face/Non-Contiguous/Verts
Note the Non-Contiguous option is new,
it selects edges between faces pointing in different directions.
2014-07-19 21:25:53 +10:00
bf462149a6
BLI_bitmap: rename macros
...
- BLI_BITMAP_SET -> BLI_BITMAP_ENABLE
- BLI_BITMAP_CLEAR -> BLI_BITMAP_DISABLE
- BLI_BITMAP_GET -> BLI_BITMAP_TEST
- BLI_BITMAP_MODIFY -> BLI_BITMAP_SET
2014-06-14 00:47:12 +10:00
9db947df41
Editmesh: Replace SmallHash with GSet for MESH_OT_loop_to_region
...
There no reason to assume hash will be small in this case
2014-06-14 00:47:12 +10:00
4e13616b04
Checker Deselect: keep active item selected by default
2014-05-23 20:50:27 +10:00
bec8cee7cf
Fix T40324: Checker deselect fails for edge-rings
2014-05-23 20:50:27 +10:00
7e78322eef
BMesh Walker: rename BMW_SHELL -> BMW_VERT_SHELL
2014-05-23 20:50:27 +10:00
07ffd9c790
Fix T40309: Select inner region 'bigger' failed with equal regions
2014-05-22 14:58:34 +10:00
4ca67869cc
Code cleanup: remove unused includes
...
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-05-01 04:47:51 +10:00
a15b3c4d11
Code cleanup: use bool
2014-04-11 11:33:29 +10:00
617557b08e
Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT define
2014-04-01 15:22:28 +11:00
caf8684b50
EditMesh: Support contracting the selection as well as extending
...
This allows for holding ctrl while switching from face->edge modes to
select an edge-ring.
2014-03-17 00:25:34 +11:00
57dba73917
View3d: take pixelsize into account for selection distance
2014-03-11 15:34:19 +11:00
276ef3b3b5
Editmesh: Toggle between all edge-loop boundaries when selecting
...
Now Alt+RMB,RMB will select all connected boundaries.
There are times when you just want to select an entire boundary loop
ignoring face topology, previously there was no way to do this.
2014-03-07 10:39:31 +11:00
a7a7a032a6
Mesh: loopselect return cancelled when no selection made
...
also un-indent main function body.
2014-03-07 10:39:30 +11:00
081a3412a9
Paint API: add BKE_paint_select_elem_test: to check on paint selection
2014-02-26 16:00:54 +11:00
77290fccd5
Fix random select in edge/face mode
...
patch D336 from Henrik Aarnio
2014-02-21 08:51:30 +11:00
b3afbcab8f
ListBase API: add utility api funcs for clearing and checking empty
2014-02-08 06:24:05 +11:00
42b68c2b1d
BMesh: optimize loop_find_regions, reserve array size
2014-02-02 17:41:59 +11:00
7ae1949517
Select Random: add option to de-select
...
also made metaball operator behave like the others.
Path originally from Walid Shouman, with own edits.
2014-01-13 20:39:12 +11:00
6734936c13
RNA API: use bool's for enum itemf callbacks.
2014-01-04 18:10:01 +11:00
63caaa2b12
Code Cleanup: rename vars for detecting change to be more consistent
...
rename change/is_change/is_changed/modified -> changed
also use bools over int/short/char and once accidental float.
2013-11-26 06:39:14 +11:00
dee671276d
rename BM_vert_at_index -> BM_vert_at_index_find (since this searches the mempool).
...
needed for other changes - coming.
2013-10-27 10:01:35 +00:00
3f5be1ef0a
fix for select linked walking over the same faces multiple times. (caused gset assertion).
2013-10-10 23:18:37 +00:00
03602dc158
use BLI_bitmap for editmesh selection buffer to save some memory.
2013-10-10 22:30:16 +00:00
5dc9db3533
fix for lasso failing/glitches on overlapping lines, replace scanfill with 2d pixel filling for drawing and selection.
2013-10-04 15:02:05 +00:00
4cb4dc8432
remove assert recently added to EDBM_backbuf_check and explain odd logic.
2013-10-03 07:02:52 +00:00
d6a52c67d5
fix [ #36861 ] In face select masking circle select selects all when out of focus.
2013-09-30 07:58:38 +00:00
3b72f1824c
rename positive_mod to mod_i, make it work with nagative numbers (matching pythons modulo), and use in a few more places.
...
allow mesh-checker-deselect to have a negative offset.
2013-09-05 20:54:32 +00:00
fa3481cf07
correct own error in recent linked stack edits.
2013-08-18 04:06:49 +00:00
5fafc222f0
style cleanup
2013-08-17 08:21:40 +00:00
d7cc2be2b7
add linklist stack macros, use where over allocating an array was previously done.
2013-08-17 05:33:55 +00:00
72f2917032
bmesh: skip error checks when building in release mode (minor speedup),
...
also more strict use of BLI_array_declare(), only allow after array is declared.
2013-07-28 09:05:27 +00:00
cdac157f4c
code cleanup: use iterator macros, and replace BM_LOOPS_OF_FACE with direct loop access when converting a bmesh to a mesh.
2013-07-24 18:38:55 +00:00