Commit Graph

59 Commits

Author SHA1 Message Date
c6f07c651e rename defines to upper case. 2012-02-06 22:57:25 +00:00
46b1ad99d3 Add ability to constrain knife cut angle to 0, 45, or 90 degrees
Notes:
- uses 'c' as toggle key in and out of angle snapping
 (aka constrain) mode
- when in angle snapping mode, after first click, will
 constrain line to nears 0, 45, or 90 degree line
- constraint is in screen space, not model space,
 so will usually be used in axis aligned view
2012-01-04 13:43:40 +00:00
7ee3da151d Add code to make knife cut through whole mesh optionally.
Notes:
- only cuts through when the occlude geometry button is unpushed,
  else the old behavior
- doesn't add points in middle of occluded faces yet, so will not
  make partial cuts or hole cuts in occluded faces; for best
  results, start and finish cuts completely outside the mesh
- also made slight improvement to behavior when starting cut
  off the model
- a small refactor: added knife_add_to_vert_edges for code
  used a number of times
2011-12-29 13:43:59 +00:00
db6cb30941 svn merge ^/trunk/blender -r42669:42670 2011-12-16 23:50:55 +00:00
143a654e6f formatting and minor refactor of some bmesh functions.
* BM_Make_Quadtriangle --> BM_Make_Face_QuadTri_v
* BM_Make_QuadTri      --> BM_Make_Face_QuadTri
2011-12-13 06:56:10 +00:00
ce86bebfe3 knife_project_v3 can call ED_view3d_project_float directly without having its own check for ortho 2011-12-10 18:24:44 +00:00
957d9d3263 fix for own error - r42200, broke knife tool edge/triangle intersection. 2011-12-02 20:45:20 +00:00
06ea86c0a8 Allow scanfill caller to specify boundary edges and use to fix knifetool extra-face bug 2011-11-29 11:49:53 +00:00
f246672811 when comparing lengths no need to sqrt 2011-11-28 01:20:53 +00:00
3ed866d2fc svn merge -r41926:41932 ^/trunk/blender 2011-11-16 19:57:20 +00:00
9d05ccf9e8 svn merge -r41899:41926 ^/trunk/blender. also sync mempool with trunk and move BLI_mempool_alloc out of mempools header where it was inlined 2011-11-16 19:06:38 +00:00
da849bbfc0 prepare for flagging the bmesh has having invalid index values, so we can skip looping over all elements if its already valid.
- went over every BM_SetIndex call and added comments about its use, if its setting dirty values or correct ones.
- replace loops over all elements _just_ to set index values, with a new function, BM_ElemIndex_Ensure(...), this will eventually only initialize values when they are dirty.
2011-11-16 12:38:40 +00:00
dfe90e54cd set the index on newly added vert/edge/faces
added BM_ElemIndex_Ensure(...), not used yet.
2011-11-16 06:17:56 +00:00
a1e95e2e18 replace as many uses of BM_Get/SetIndex as possible with tagging with a temp flag, some uses need index values to be set, so this will need more effort to replace (crazy space and solidify for eg). 2011-11-01 12:51:38 +00:00
12ace958f5 Miscellaneous warning fixes (mostly unused local vars) and trivial cleanups 2011-10-31 00:44:12 +00:00
2e0d838bc9 Fix bugs to get X-Mirror editing functionality working again 2011-10-25 16:17:26 +00:00
7d4d44bb1f Trial fix for knife cut intermediate point snapping: snap intermediate points (for edge intersections between clicks in knife tool) to midpoints or endpoints, depending on which is closest 2011-10-20 13:41:52 +00:00
9acb183945 Fix for a memory corruption bug in knife tool cleanup 2011-10-18 12:54:23 +00:00
60713a1d61 - Knife tool would switch the knife line to 0,0,0 when not over any geometry, this felt glitchy and while drawing in free space isn't supported 0,0,0 can easily be free space too. So draw a line to the mouse cursor.
- knife tool was missing calls to BLI_array_free()

- add assert for bug [#28960] where dissolve can cause invalid bmesh.
2011-10-18 08:39:26 +00:00
4d1e122d7b BMesh branch-specific warning fixes for MSVC 2010 warnings 2011-09-26 05:35:57 +00:00
1f12740a82 make error prints more helpful & correct some comments for rip code. 2011-09-24 12:13:13 +00:00
fa206e2c72 Fix knife midpoint snapping when previous point was a vertex; also reduced snap radius to approximately match crosshairs. 2011-09-17 12:31:22 +00:00
bf71aa3626 use BM_Make_Vert example argument rather then calling inline, was also copying vertex normals twice in quite a few places. 2011-09-12 05:24:45 +00:00
fa59b80189 move smallhash into its own C file, was inlineing fairly large functions. 2011-09-09 02:52:20 +00:00
ecb32d9148 quiet warnings 2011-08-31 05:11:12 +00:00
3e4bf6d4ad =bmesh= knife tool applies to modifier cage now, also fixed some bugs in it 2011-08-30 01:59:33 +00:00
fe98769877 Cleaned up unused variables 2011-08-25 16:47:47 +00:00
6f08f18d27 fix edge tracking in knife tool 2011-08-10 12:56:51 +00:00
85b11ea9d2 Fixed knifetool problem where it wouldn't track positions on faces in ortho mode 2011-08-01 11:43:54 +00:00
671cb93f1b svn merge -r36801:36840 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-05-24 04:35:21 +00:00
88f4087a57 svn merge -r36725:36801 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-05-20 16:52:10 +00:00
068c627013 remove unused vars 2011-05-13 13:17:30 +00:00
1d8fa52883 rename BMINDEX_GET/SET to BM_GetIndex/BM_SetIndex 2011-05-13 10:49:26 +00:00
e636893b1b =bmesh= fixed knifetool mem leak 2011-05-12 18:46:21 +00:00
1e90add66c more syncing with trunk. 2011-05-11 09:31:00 +00:00
cd55aeaf6d set many vars & functions as static,
also commented invalid pin theme alpha assignment so bmesh branch builds with -Werror
2011-05-11 02:14:43 +00:00
422b24f2f2 =bmesh= fixed prop crasher and knifetool modal map typo 2011-05-09 22:05:07 +00:00
7798666091 =bmesh=
added modal keymap for knife tool.
I'm not sure how to handle the panning
pass-through, it's still hardcoded to
happen on MIDDLEMOUSE.
2011-05-09 21:38:55 +00:00
6acd2f1138 =bmesh= undo loopcut commit, for some reason the recent merge didn't catch it 2011-05-09 20:43:05 +00:00
5ba0c2c049 tag unused arguments, quiet some warnings 2011-05-09 14:32:55 +00:00
5a2a3d7d82 more syncing with trunk, also cleared many warnings with gcc4.6 2011-05-09 04:06:48 +00:00
13d8d63cf4 =bmesh=
Holding shift in knife mode will turn
off edge/vert snapping for original
geometry.  The snapping threshold for 
knife cuts is also halved, for additional
precision.
2011-05-01 04:40:59 +00:00
e5d3923a61 edge slide works in ortho now 2011-04-24 07:45:24 +00:00
133a1c2699 =bmesh= fixed edge split modifier, and a bug in knifetool reported by letterrip. also brought back beautify-fill. 2011-04-22 23:37:58 +00:00
489eaaa46d =bmesh= build modifier works now, also made scanfill thread-safe 2011-04-16 23:58:49 +00:00
c98148a963 =bmesh= merge from trunk at r36153 2011-04-15 01:19:13 +00:00
1c56255ca7 =bmesh=
Edge slide now handles facedata (e.g. sliding within uv
space), including multires.
2011-04-13 21:48:16 +00:00
8d6657e562 =bmesh= fixed some minor bugs with bevel/knife creating duplicate/overlapping faces 2011-04-13 03:56:14 +00:00
4d7de0796b =bmesh=
Knife tool now works on multires data, it's also
a tad bit faster now.
2011-04-13 00:35:48 +00:00
0ce2c5a385 forgot to remove the old function 2011-04-11 01:40:12 +00:00