db0e2e7347
Fix T42864 (partial): knife-project included uncut backfaces
...
When knife-project ran with cut-through disabled,
it would still try to select faces behind the cut.
Now check if the faces are obscured.
2014-12-15 15:10:49 +01:00
2329b58fd3
Fix T42864 (partial): Knife-project had too-low precision
2014-12-15 15:10:49 +01:00
17f0a01a56
Correct last commit checking knife edges
2014-12-09 20:57:37 +01:00
6fb1e1680b
Knife: cuts along existing edges are now selected
...
This means cuts along existing edges don't have gaps in the selection.
Fixes T42616
2014-12-09 19:51:08 +01:00
2efc3211ab
Knife: rename vert & edge 'draw' to 'is_cut'
...
More logical for checking if the edge is a cut into the mesh.
2014-12-09 17:24:19 +01:00
4d9f2f7e86
Knife: fix edge aligned cuts, could add redundant verts
2014-12-09 17:23:10 +01:00
781db5f8a6
Knife: test if an edge is on the face boundary
...
Was checking if an edges midpoint was inside the face,
giving random results (point-inside for an edge location).
2014-12-09 15:57:59 +01:00
171a6bb5dc
Fix T42488: Knife (selected_only + occlude) failed
2014-12-09 15:51:58 +01:00
1cb59394ae
Cleanup: use const, avoid float -> double in matrix invert
2014-11-29 17:49:38 +01:00
6dcf8ba189
Knife: fix recent drag option /w loop close
...
It would miss adding an edge when closing the loop.
2014-11-16 14:57:28 +01:00
c31f74de6b
Cleanup: use BLI_listbase_count_ex to avoid redundant looping
2014-11-16 14:23:37 +01:00
7d040d2a08
Cleanup: use BLI_listbase_*** prefix for count,sort,sort_r
2014-11-16 13:57:58 +01:00
497a26665c
Knife: double clicking now closes the loop
2014-11-16 12:59:47 +01:00
c6ab67bffc
Fix T42611: Knife fails from an edge to a vertex
2014-11-15 22:17:37 +01:00
bfa75dc990
Knife: freehand drawing while LMB held
2014-11-15 20:50:15 +01:00
1f4915e290
Cleanup: avoid alloc for each knife-project vector
2014-10-06 18:23:44 +02:00
e6828a71d7
Fix T41850: Knife fails with mesh behind view
...
Was using first vertex for depth (which could be anywhere),
now use the view-pivot.
was also copying uninitialized vector into knife_find_closest_* return values (confused debugging).
2014-09-17 00:34:48 +10:00
ba314683fb
Fix T41849: Knife fails with small lens
...
knife cursor depth could be projected behind the view with a wide angle lens.
2014-09-17 00:34:48 +10:00
3ac640b19e
Fix T41842: Knife edge-snap, incorrect offset
2014-09-16 15:43:57 +10:00
1083da4bde
Fix T41730: Knife Cut fails on concave faces
2014-09-06 18:39:59 +10:00
f7945c659b
Knife: remove redundant allocations
2014-09-06 18:39:59 +10:00
7971e441c1
Knife: no need to find the face-loops
...
Just check if verts are used in the face.
2014-09-06 11:28:06 +10:00
1dd17bed4a
Knife tool: simplify hit-depth calculation
2014-08-17 12:50:48 +10:00
f2821e392b
hint checks to re-alloc as unlikely
...
also edit comments for knife tool
2014-08-14 11:07:33 +10:00
818a036c1a
Fix T39387: Knife makes duplicate verts with subsurf
2014-08-13 15:06:38 +10:00
3529913629
Math Lib: name signed versions of dist_to_plane_v3 explicitly
...
also add unsigned versions
2014-08-13 14:34:58 +10:00
3e90d7971a
Knife tool: avoid copying vectors
2014-08-13 13:56:53 +10:00
d17643ce1e
Knife tool: cleanup threshold use, avoid sqrt
2014-08-13 08:08:18 +10:00
1510d0d441
Fix T41164: Knife creates duplicate verts
2014-08-13 08:03:31 +10:00
f9b7617104
Fix T40646: Knife project fails with clipping
2014-06-17 04:07:03 +10:00
e848cb9e48
Fix for knife when in ortho camera view
2014-06-17 04:07:03 +10:00
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