Commit Graph

95 Commits

Author SHA1 Message Date
e2a37db1d1 fix own mistake in recent inset-interpolation option, some faces were not interpolating. 2013-04-11 00:23:09 +00:00
c68ae745b6 interpolate verts as well as loops for inset.
- add vertex option to BM_face_interp_from_face, also expose via python.
2013-04-10 23:25:44 +00:00
858ff6b696 Fix for [#34898] Typo in error message of mathutils.Vector
* Also fixed some more cases of "more then" -> "more than".
2013-04-07 15:09:06 +00:00
b1ac23c5bd Mesh Tool,
inset interpolation now works for 'inset_region', enabled by default.

Example:
http://www.graphicall.org/ftp/ideasman42/inset_interpolation_new.png
2013-04-07 11:41:37 +00:00
36cc2fd6da mesh inset tool - option to interpolate UV's vcols etc, on by default since this is almost always what you'd want.
currently only working for inset-individual, inset-region coming next.
2013-04-07 05:13:00 +00:00
6f1f897d34 simplify inset loop-customdata-copying, no real benefit in using adjacent faces as customdata source. 2013-04-07 03:24:30 +00:00
6774e727a2 remove error checks for inset, adding a faces in this instance wont fail (or if it does - theres a bug elsewhere). 2013-04-07 01:18:52 +00:00
bb81923c3e bmesh operator rename inset -> inset_region 2013-04-05 22:56:01 +00:00
8fd42b2aae patch [#34886] BMesh Individual Face Inset
from Francisco De La Cruz (xercesblue) with some simplifications to the patch.
2013-04-05 22:21:14 +00:00
b1f4e2b4db code comments: bmesh operator doxy header descriptions. 2013-03-30 08:54:50 +00:00
b27854bd47 use booleans for bmesh api. 2013-01-14 16:42:43 +00:00
07ccd3ee3f fix [#33029] Applying modifier leaks memory
Thanks for Sergey for finding the bug & patching, This fix works a bit differently.
Theres no need to allocate the customdata in the first place - since its written into. So add a flag for vert/edge/face/loop creation functions so they can skip customdata creation.
2012-11-29 16:26:39 +00:00
0446e2571f fix for inset getting bad UV's/VCols at face boundaries. 2012-11-23 05:49:00 +00:00
dbdc76c9d0 code cleanup: make bmesh operator names more consistant since python has access to these as input arguments and return values.
all output values currently have ".out" suffix, this may go in the future, but for now it makes it clear in C code what are inputs and outputs.
2012-11-20 05:50:19 +00:00
48639af5f8 use input and output slots for bmesh operators, needed for the python api to get return values. 2012-11-19 14:58:31 +00:00
5ecff7a240 Fix #32329: inset produces incorrect result, epsilon was too small to handle
floating point error.
2012-08-31 16:10:13 +00:00
32cf7fcdb1 code cleanup: spelling 2012-07-16 23:23:33 +00:00
2a1ba8c85b style cleanup: formatting and some float/double promotion 2012-05-03 19:57:24 +00:00
41a5e731a2 bmesh: new wireframe tool
- makes wireframe from faces.
- options similar to inset (even offset, relative scale)
- copies face settings and loops (uvs, vcolors)
- optionally replaces the existing geometry.
2012-04-29 10:44:00 +00:00
0daa5b0c47 bmesh: inset tool depth used bad normals for edge verts. 2012-04-26 03:40:10 +00:00
792f536b36 code cleanup: better use of BLI_array_* (grow in larger steps where possible), include BMO_iter_new in for loops. 2012-04-23 02:17:57 +00:00
16ff7e40e6 code cleanup: change C naming convention (so py and C api match), eg:
C: BM_face_calc_area(f), Py: BMFace.calc_area()
2012-04-23 01:19:50 +00:00
8765dfccf7 style cleanup: correct typos 2012-04-21 14:14:58 +00:00
e387ccdb42 bmesh inset: add depth option (make use of relative and even offset options) 2012-04-19 19:03:15 +00:00
475ecbb0ce remove BM_ITER, BM_ITER_INDEX macros, use ELEM or MESH variants only (the maceros had unused args in both cases). 2012-04-19 13:47:58 +00:00
75b869e428 style cleanup: BM_ITER / BM_ITER_INDEX / BMO_ITER 2012-04-19 11:44:12 +00:00
db2edfcfde bmesh api function: BM_edge_face_tangent()
was used by inset but make into an api function since scripts can use this too.
2012-04-19 11:25:05 +00:00
a1e6e75add fix [#30936] Face Inset gives bad UV's 2012-04-13 10:37:33 +00:00
e9358a3806 bmesh api changes:
- remove recently added BM_mesh_select_flush_strip(), functions purpose wasn't clear.
- add BM_mesh_elem_hflag_disable_test(), BM_mesh_elem_hflag_enable_test()
  to match existing BM_mesh_elem_hflag_enable/disable_all(), these take a hflag to test before editing each element.
  This replaces the need for BM_mesh_select_flush_strip().
2012-04-13 04:02:26 +00:00
8fa17c5362 code cleanup: no functional changes
- memset(..., -1) is used incorrectly even though it worked: MOD_solidify.c - thanks Halley from IRC for noticing this. use fill_vn_i() instead.
- quiet warnings in editmesh_slide.c
- cleanup comments in bmesh and some other minor comment additions.
2012-04-07 12:37:15 +00:00
58064bdfc4 code cleanup: add doxygen headers to bmesh operator files, also add own include so definitions dont get out of sync. 2012-04-06 09:21:19 +00:00
7d9f0232df adding back boundary inset support. was disabled because at one point it was unstable. 2012-04-02 08:58:26 +00:00
4253e52771 fix [#30768] Project from View UV map tool includes hidden geometry r45323
select all could select hidden faces, now BM_mesh_elem_flag_enable/disable_all takes an argument to skip hidden elements.
2012-04-02 04:45:44 +00:00
c7aed8b2af For BMesh functions that test flags, add enabled/disabled variants. 2012-03-30 17:30:49 +00:00
fffe342d87 bmesh inset: another small improvement - use the shared edge vector rather then the cross product between 2 faces if the faces infact share an edge - works best for non planer faces.
also added utility function - BM_loop_other_vert_loop
2012-03-25 14:44:48 +00:00
105c282b9f inset tool now works better when insetting around corners - the 2 faces normals are now used to calculate the inset edge vector if the faces are different and not planer. 2012-03-25 13:53:12 +00:00
7a43cd7909 fix [#30613] B-mesh - inset created invalid mesh
inset could make a quad that used the same vertex multiple times.
2012-03-21 11:31:40 +00:00
08b7e6ac14 partial fix for bug [#30613], inset creating invalid meshes, however its still possible to cause a crash with a different selection, will fix next. 2012-03-21 09:39:45 +00:00
e6834fcf85 bmesh inset: outset option 2012-03-19 21:40:17 +00:00
d91deb9e97 bmesh inset:
option to inset boundaries.
2012-03-19 21:27:24 +00:00
305da3a743 bmesh inset:
fix hole when 2+ faces a vert but no edges (would make a hole), now splice the verts back together.
2012-03-19 09:47:32 +00:00
543bf45ef0 style cleanup: + some spelling errors for inset 2012-03-19 08:49:49 +00:00
6f104aad3a code cleanup: bmesh api - make arg order consistent - htype before hflag or oflag. 2012-03-19 08:36:27 +00:00
59759b23e7 bmesh inset:
improve inset code by not allocating an array the size of edges - instead count all inset edges and allocate an array only for those.
also fixes an error where edge lengths were being compared while the verts were being placed. (now do beforehand)
2012-03-19 07:20:54 +00:00
86796252da bmesh: inset tool, access from face menu (Ctrl+F)
- Even option (like solidify even option)
- Relative option (insets based on lengths of surrounding edges)

TODO: merge tares when 2+ face corners meet but don't form a contiguous region.
2012-03-19 05:45:15 +00:00