Commit Graph

133 Commits

Author SHA1 Message Date
Campbell Barton
f5bb4635c6 fix [#30852] Wrong Material ID applied for the new faces 2012-04-09 05:17:07 +00:00
Campbell Barton
4fc6ef1cf5 style cleanup: pep8 some C/style 2012-04-08 08:09:37 +00:00
Campbell Barton
c1e475e527 code cleanup:
- remove unused vars
- no need to hard code version number for collada.
- cleanup some typos in comments.
- movieclip_calc_length was passing arg which should be unsigned to BLI_stringdec()
2012-04-08 07:34:09 +00:00
Francisco De La Cruz
cbd95d8159 Fix [#30855] Vertex Slide not using the active vertex
Now uses the last selected vertex. 
Also, snapping thresholds are now dynamic and the tool's operation should be more consistent with multiple edges selected on invocation.
2012-04-07 19:53:39 +00:00
Campbell Barton
99aaf0812c fix for vertex slide not taking object transformation into account.
also make the shortcut 'Shift+V'
2012-04-07 13:42:00 +00:00
Campbell Barton
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
Francisco De La Cruz
6482351ed9 Added Vertex Slide: Slides a vertex along a selected and connected edge (Shift+Ctrl+V)
-
BMop: "vertslide vert=%e edge=%hfev distance_t=%f"
2012-04-07 03:15:20 +00:00
Campbell Barton
11a4dab32b bmesh minor change - avoid increasing array sizes one by one and use iterator macros. 2012-04-06 11:50:16 +00:00
Campbell Barton
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
Bastien Montagne
b68dde68b5 Small improvement to bmo icosphere primitive: instead of calling n times the subdivide bmo with one cut, call it once, with the right number of cuts (which is (2^(n-1)) - 1). 2012-04-05 06:47:14 +00:00
Campbell Barton
784beb4338 adjust limited dissolve to take face angle into account when dissolving vertices between manifold edges.
stops artifact with zig-zag patterns between _almost_ planer faces.
2012-04-05 01:20:32 +00:00
Campbell Barton
4f2fb41fb6 fix [#30809] Limited dissolve leaves edges behind 2012-04-04 15:10:20 +00:00
Campbell Barton
1635d8e873 add option not to delete edges/verts when joining faces, needed so we can loop over edges and join them without having to check if they have been removed. 2012-04-04 14:48:10 +00:00
Campbell Barton
817a96f243 fix [#30735] bmesh: loop-cut cuts faces isolated by hidden faces 2012-04-03 06:12:04 +00:00
Campbell Barton
be0d4f8e45 BM_mesh_esubdivideflag was adjusting the totedgesel variable when this is handled by selection functions. 2012-04-03 06:05:43 +00:00
Campbell Barton
7d9f0232df adding back boundary inset support. was disabled because at one point it was unstable. 2012-04-02 08:58:26 +00:00
Campbell Barton
d2d2b8c2f2 code cleanup: replace inline axis angle conversion with axis_angle_to_mat3() 2012-04-02 06:43:16 +00:00
Campbell Barton
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
Campbell Barton
56c127e721 fix - extrude could create hidden faces when the only connected face to an edge was hidden, the hidden setting would be copied to the newly created face. 2012-04-02 03:51:16 +00:00
Campbell Barton
6c4d675759 style cleanup 2012-04-02 01:57:56 +00:00
Nicholas Bishop
52f1f292f7 Reverting some style changes from r45305.
See discussion here:
http://lists.blender.org/pipermail/bf-committers/2012-April/036098.html
2012-04-01 15:25:07 +00:00
Nicholas Bishop
6904d9727e Minor code cleanups for bmo_dupe.c. 2012-03-31 12:29:17 +00:00
Nicholas Bishop
c7aed8b2af For BMesh functions that test flags, add enabled/disabled variants. 2012-03-30 17:30:49 +00:00
Campbell Barton
f87c5b3453 fix [#30715] bmesh: select linked not ignoring hidden verts/edges/faces
add optional flag to ignore hidden elements.
also remove loop mask flag - since it wasnt used and vert/edge/face is enough.
2012-03-29 13:09:07 +00:00
Nicholas Bishop
b8bb3f2e3c Partial fix for array modifier vertex merge (bug 30195).
Two fixes:

* The find-doubles operator was overriding the "dirty" element
  indices, so vertices were not being mapped correctly.

* In some cases a vertex can be set to merge with a vertex that is
  also set to be merged, so added a loop to find the first unmerged
  vert in this case.

Not yet working is the "First Last" merge option.

Also made some cleanups and added comments in the array/remove doubles
code.
2012-03-28 22:03:46 +00:00
Campbell Barton
8aa42f309c print error if rip does nothing (rather then grabbing the unripped verts as it did before) 2012-03-28 08:00:58 +00:00
Campbell Barton
52984c2772 fix [#30701] bmesh: segfault when ripping partially connected vertices 2012-03-28 05:20:48 +00:00
Campbell Barton
046eb6531c fix [#30685] Solidify tool behaves like Shrink/Fatten (editmesh functionality stuff)
solidify had a limit imposed on how far vertices could move which didnt work well, removed (the modifier doesnt do this).

also missed freeing 2 arrays.
2012-03-27 23:23:47 +00:00
Nicholas Bishop
f71f09d714 Partial fix for bug 30695, "Array broke crease, weird visibility and slowdown"
* Array modifier creates BMesh from DM; add missing CD_CREASE layer
  for edge creases.

* With a modifier stack like mirror+subsurf+array, face normals were
  wrong. Fix by removing CD_NORMAL layer from CCGDM output. Previously
  the elements in this layer were simply copied, so they did not
  reflect subdivision correctly.

* Minor style fixes in bmo_dupe.c.

Issues not yet addressed:

* Subsurf's optimal draw setting for hiding subdivision edges is not
  respected by the array output.

* Slowdown issue; array modifier is much slower than in 2.62.
2012-03-27 12:34:00 +00:00
Nicholas Bishop
9c9745ef30 Fix more truncated comments. 2012-03-27 11:03:10 +00:00
Nicholas Bishop
1e7bcece44 Fix bug 30696, circular mesh objects had wrong orientation.
Behavior now matches 2.62, circle, cone, and cylinder get first vertex
at 0 degrees.

Also fixed range for vertex property of add-cone and add-cylinder
operators, changed minumum from two to three.
2012-03-27 10:28:06 +00:00
Nicholas Bishop
6420dc23fd Fix bug 29123, subdivide smooth distorts shape with numcuts > 1.
Three fixes:

* When smoothing a coord, the original position should be based off
  the unsmoothed subdivision (i.e. the vertex coord rather than the
  smoothed position in the shapekey)

* The normal of new vertices created by edge split must be updated
  (used the same interpolation as pre-bmesh here)

* The vertices created inside the subdivided face should use the
  subdivided coords from edges, so copy the shapekey coords back to
  vertex coords after subdividing edges
2012-03-27 09:24:00 +00:00
Campbell Barton
2743f2bb3f fix [#30257] bmesh: Rip "V" don't work on end vertex
added option to edgesplit bmesh operator to take tagged vertices as well so an edge at a boundary can split without splitting off the boundary vertex.

the behavior/speed of the edge split modifier and tool remainss the same, this is only used for rip.
2012-03-26 12:02:41 +00:00
Nicholas Bishop
337be23cea Fix bug #30673, "Crash: Bridge a pair of edges."
Fix edge case for clamp_index() with any negative 'x' that is a
multiple of 'len', was returning 'len' which is invalid index.

Maybe the expression can be simplified back to a one-liner?
2012-03-25 18:19:40 +00:00
Campbell Barton
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
Campbell Barton
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
Campbell Barton
81d8f17843 style cleanup: pep8, indentation 2012-03-24 07:36:32 +00:00
Campbell Barton
ab4a2aaf4a style cleanup: follow style guide for formatting of if/for/while loops, and else if's 2012-03-24 06:38:07 +00:00
Campbell Barton
3c11379e26 code cleanup: move bmesh inline funcs to headers (avoids compiling the C files). 2012-03-24 01:24:58 +00:00
Campbell Barton
7044d80639 code cleanup: remove BMesh * args from query functions which don't need it 2012-03-22 07:53:11 +00:00
Campbell Barton
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
Campbell Barton
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
Campbell Barton
d76c05cd36 style cleanup: bmesh 2012-03-21 09:10:08 +00:00
Brecht Van Lommel
e89642ef99 Fix #30600: extrude in vertex select mode did not copy attributes like smooth/flat
flag from adjacent face. It did work for edge select mode, now uses same code.
2012-03-20 17:02:03 +00:00
Campbell Barton
9dd0c4c232 rename define BM_INLINE -> BLI_INLINE to avoid confusion with bmesh defines. 2012-03-20 08:42:26 +00:00
Campbell Barton
be116242d4 style cleanup 2012-03-20 04:27:14 +00:00
Campbell Barton
e6834fcf85 bmesh inset: outset option 2012-03-19 21:40:17 +00:00
Campbell Barton
d91deb9e97 bmesh inset:
option to inset boundaries.
2012-03-19 21:27:24 +00:00
Campbell Barton
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
Campbell Barton
543bf45ef0 style cleanup: + some spelling errors for inset 2012-03-19 08:49:49 +00:00