71c11dbb02
Fix T40252: Knife snapping ignores axis-constraint
2014-05-20 13:53:52 +10:00
46bd759964
Code cleanup: rename BM_face_legal_splits -> BM_face_splits_check_legal
2014-05-13 17:48:25 +10:00
7660218202
Correct fix for knife interior use, distance needed to be in object-space
2014-05-06 09:32:06 +10:00
d2920e9876
Knife too: was using a ray-cast direction scaled down by the knife epsilon
2014-05-06 09:02:16 +10:00
cd9aed7059
Fix T38623: Knife tool completely failing on interior geometry
2014-05-06 08:35:43 +10:00
d7d2e71a03
Correct some errors in auto-cleanup
2014-04-27 22:02:59 +10:00
c67bd49e56
Code cleanup: use 'const' for arrays (editors)
2014-04-27 00:25:15 +10:00
f2f3ef8692
Fix Knife bug T39617: midpoint snap should affect intermediate points.
...
This reverts to the 2.69 behavior, where the snap-to-midpoint option
affected the intermediate crossed edges as well as the endpoints.
2014-04-16 14:19:36 -04:00
412826a504
Mempool: delay allocating an initial chunk, its not always used
2014-04-08 12:58:56 +10:00
a91247c2b4
Code cleanup: unreachable break/return
2014-03-19 12:47:09 +11:00
ec4e12d9a2
Code cleanup: comments and typos
2014-03-18 05:40:18 +11:00
c1be7e12ee
Fix T37510 Knife missed cuts on small faces.
...
For very thin faces, knife sometimes missed cutting a few.
Problem was that a test for edges being totally inside a face
was being applied in inappropriate circumstances. An assumed
invariant about the knife hit structure is not true when
actually in the middle of making cuts.
Also make a 'big epsilon' a little smaller, though don't think
that was the problem in this bug.
2014-03-06 10:55:12 -05:00
13ea967cce
Code cleanup: correct abs use and quiet warnings
2014-03-01 14:26:18 +11:00
a815e04f72
Fix T38834: Knife constraint is offset after moving the view
2014-02-27 13:28:25 +11:00
b3afbcab8f
ListBase API: add utility api funcs for clearing and checking empty
2014-02-08 06:24:05 +11:00
fed1b8b16d
Code cleanup: suffix vars to make obvious they are squared
2014-02-03 02:46:45 +11:00
c4345a808c
Smallhash: add reserve option to avoid resizing when size is known
2014-02-02 17:08:26 +11:00
04a902965e
BMesh optimize face splitting by taking loops rather then verts
...
- add BM_vert_pair_share_face
- add BM_loop_is_adjacent
- remove BM_verts_connect
2013-12-24 11:13:58 +11:00
c1c26c36f6
Style Cleanup: remove preprocessor indentation (updated wiki style guide too)
2013-12-22 14:12:19 +11:00
93b24b91a9
Knife Tool: incorrect sized vector args (harmless but misleading)
2013-12-03 09:10:03 +11:00
5da703e915
BMesh/Mesh: replace scanfill with polyfill
2013-11-30 22:13:52 +11:00
84334bde01
Fix 37571: Knife Select should be disabled when no faces are selected
...
also check a similar case for bisect
2013-11-26 09:44:08 +11:00
238d2f962d
BMesh Refactor: BKE_bmbvh_new can now be created without an EditMesh.
...
This adds BM_bmesh_calc_tessellation() so we can get triangles from a
bmesh without having to have an editmesh available.
2013-11-18 18:25:47 +11:00
0d1a499366
knife tool: Remove unused 'extend' variable
2013-11-08 18:01:07 +00:00
b144f15579
knife tool: Clean up line hits when starting a new cut
...
Fixes intersection points of the previous cut still being drawn when
starting a new cut.
2013-11-08 18:01:05 +00:00
3143536b08
Fix knife bug exposed by valgrind.
...
Was reading cage coordinate from those of existing
BMVerts even for newly created verts that don't
have cage coordinates there.
2013-11-06 15:27:19 +00:00
538a6ed57a
Rewrote a lot of knife tool. Now allows cut-through
...
to make new vertices in the middle of faces.
This also fixes knife bugs:
#36678 , #35945 , #35943 , #35387 , #35045 , #35002 .
2013-11-05 16:24:00 +00:00
e8c54b682a
Add 'cut-through' option for Knife Project operator.
...
If enabled, it makes knife project act as the
cut-through (Shift-K) version of knife.
This option will soon be more useful when a better
cut-though Knife change is submitted, allowing
this to work for cuts within faces in addition
to cuts across them.
2013-11-01 11:42:11 +00:00
7267221715
remove return argument from wmOperatorType->cancel, was only ever returning OPERATOR_CANCELLED.
2013-10-30 23:08:53 +00: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
eabf7ab335
code cleanup: utility function for getting a bool as a string.
2013-10-13 00:32:31 +00:00
e220d3228f
add MEM_SIZE_OPTIMAL to avoid memory fragmentation & waste lost to slop-space.
2013-10-10 18:18:13 +00:00
ec4a7fcad1
fix for lasso selection (in non-zbuf mode) when the line intersected its self.
...
isect_point_poly_v2() - add argument to check overlapping areas.
2013-10-04 10:48:24 +00:00
1fa59cdf4d
allow knife-project to use sub-pixel length edges.
2013-10-01 15:52:29 +00:00
f06b440d63
quiet warnings (converting pointer to boolean)
2013-09-26 10:35:41 +00:00
8bbe81db4d
knife was projecting vertex locations to the screen when it wasnt needed.
2013-09-25 11:38:30 +00:00
8c7eb60ba0
fix [ #36780 ] Knife Project broken
...
was regression in r59665 (fix for [#35002 ]).
now when checking a segment that lies on the same plane as the triangle intersects,
clip the segment by the triangle bounds so we know the points remain inside the triangle.
2013-09-25 08:23:31 +00:00
7d7adf4488
Prevent assert failure in knife.
...
It seems sometimes a knife edge with the same
vertex on both ends was created sometimes.
2013-09-19 13:35:43 +00:00
67fa1a57ba
Fix potential crash in knife.
...
A crash was reported but without info to reproduce.
This is a likely crash introduced by previous fix
to allow linehits to snap to vertices.
The function to find connected linehits can't
assume all linehits have edges any more.
2013-09-19 12:47:35 +00:00
Dalai Felinto
7fa2d32de3
bugfix: [ #34663 ] Cannot rotate view while using Knife tool with Maya preset
...
fix as suggested by Ton Roosendaal in tracker:
"the knife tool has a "MODE_PANNING" state, it could be nice to set this
in the modal map as well, to define the shortcut(s) that have to be passed on."
2013-09-17 20:35:17 +00:00
Dalai Felinto
5aeade4c60
add support for trackpad navigation while in knife operator
...
I caught this while looking at:
[#34663 ] Cannot rotate view while using Knife tool with Maya preset
(though it's not the original report).
I'll look at the other operators, there are probably a few in the same
situation as knife.
2013-09-17 15:20:44 +00:00
35cd649c66
rename cursor setting functions to make modal set/restore more clearly related functions.
2013-09-06 22:34:29 +00:00
29efa96940
style cleanup
2013-09-04 03:30:41 +00:00
aa3bea133a
Fix a possible bug in knife detected by coverity.
...
A selection copy may have been passed a null pointer.
Also quieted a couple other complaints by coverity.
2013-09-03 11:37:47 +00:00
e8605f9df9
quiet compiler warnings
2013-08-30 16:52:54 +00:00
86f8470a5d
Some knife fixes. Avoids duplicating verts; better handling of cut-through ortho.
...
Now cut lines detect vertices that they pass (almost) exactly over
and snap to them, to avoid making verts vert close to other ones.
Added radius arg to BKE_bmbvh_ray_cast so that can detect an obscuring
face when the ray might otherwise go exactly between two triangles.
Needed an isect_line_tri_epsilon function for similar reason.
Fixes last part of bug #35002 . Other knife bugs still present but
getting this commit in now before continuing bug fixing.
2013-08-30 16:34:44 +00:00
8937a8b839
use BM_CREATE_NOP arg rather then zero, with pointer and bool args in either side in some cases it gets a bit confusing.
...
also correct edge-rotate where bool->flag conversion worked by accident.
2013-08-21 05:39:46 +00:00
5fafc222f0
style cleanup
2013-08-17 08:21:40 +00:00
fd14c344e0
switch arg order for BM_elem_select_copy(), would like to make this constant for all bmesh functions eventually.
2013-08-13 00:35:23 +00:00
4982f200fa
move alloca define into its own header since its not related to BLI_array
2013-07-28 10:38:25 +00:00