Commit Graph

399 Commits

Author SHA1 Message Date
cf6994b910 code cleanup: spelling,
also initialize bmesh-bevel settings struct to zero to avoid possible uninitialized memory later.
2012-11-12 07:33:01 +00:00
0bfc92ff8e BM_iter_as_arrayN() can now take an optional existing array argument, useful to avoid many small malloc's by passing a fixes size stack variable instead.
Will give some speedup to edge-split modifier and bevel.
2012-11-12 05:53:43 +00:00
d22c5d4341 update to python api Gotcha docs to reflect changes to the api. also add a section about modifying linked library data. 2012-11-12 03:23:47 +00:00
89845f280f fix [#33142] Ctrl LMB higher selection mode in edit mode sometimes selects extra elements 2012-11-11 23:33:59 +00:00
6cdb555e6e bmesh refactor - rename some of the BM_****_share_****_count() functions to BM_***_share_check()
some of these were only returning a boolean, others returned a count even though only a boolean was needed.

split some of the functions in two as well where check/count are both needed.
2012-11-09 14:52:05 +00:00
2bb174cfa4 style cleanup: indentation 2012-11-09 09:33:28 +00:00
eff734203f add fallbacks for BM_vert_calc_shell_factor() and BM_vert_calc_mean_tagged_edge_length() to avoid divide by zero when a vertex has no connected geometry.
also style cleanup.
2012-11-09 08:28:14 +00:00
da4441f7c5 Merge gsoc Bevel (with rounding) into trunk. 2012-11-08 15:12:21 +00:00
ae06e2cf9b fix [#33000] bmesh.ops.create_* either crash blender or do nothing 2012-11-08 10:32:11 +00:00
09cce17d84 decimator - merge flags when collapsing edges / verts, so seams and edges draw flags are kept. 2012-11-08 07:06:08 +00:00
617a73c573 code cleanup: unused defines & some formatting. 2012-11-08 06:46:10 +00:00
c0fb605a04 fix [#26472] Decimate overlaps polygons 2012-11-07 22:39:47 +00:00
620a78c106 decimate - degenerate edges are now added back into the heap (with an dummy cost), so when surrounding geometry may be modified and the previously degenerate edge re-evaluated after.
The C++ LOD decimator did this too.
2012-11-07 22:28:50 +00:00
f727448e10 fix [#33106] Decimate modifier/collapse give bad result
FLT_EPSILON was too small to use when checking if the edge collapse result is an error.

add invert_m3_m3_ex(), invert_m3_ex() functiosn which take an epsilon to check the determinant, saves calculating it twice per edge collapse.
2012-11-07 09:28:59 +00:00
efc44d0c4d decimator - interpolate vertex normals rather then re-calculating them. faster and means degenerate faces wont explode. 2012-11-07 07:16:28 +00:00
be367890f7 decimator - no need to check abs() on normal length. 2012-11-07 06:28:46 +00:00
964f29797b avoid using BLI_array for remove double helper function - bmesh_find_doubles_common(), was growing and array one at a time (with re-allocs), when the size is known. 2012-11-05 14:39:49 +00:00
9b948717b0 code cleanup: float <> double conversion. 2012-11-03 18:23:30 +00:00
bd574fe2a2 fix for own error - vertex custom-data flag wasnt working with the decimator 2012-11-01 06:38:25 +00:00
12ed0c64bc make use customdata typeoffset more, add an assert to ensure its to date. 2012-10-31 09:50:24 +00:00
a1856a38f6 minor improvement to vector api use, replace add, multiply by 0.5 with mid_v3_v3v3 2012-10-30 14:22:49 +00:00
330c0178ce add the option to select Equal/Greater/Less when selecting similar.
Recently addons were submitted for review and this was the only advantage they had over blenders existing internal
select-similar tool.
2012-10-30 07:29:17 +00:00
b5e8e8da6f add option to select face by matching number of sides. 2012-10-30 06:43:30 +00:00
3d7104c37a correct assertion 2012-10-30 06:25:23 +00:00
eb69d1c1ae style cleanup: also quiet harmless compiler warning. 2012-10-29 15:43:54 +00:00
74c60dc5bf fix [#32998] Decimate modifier - Planar
error in recent decimator upgrade, missing NULL check.
2012-10-29 05:31:40 +00:00
656b884387 fix for extruding edges giving incorrect (swapped) loop data for new faces. 2012-10-28 16:17:20 +00:00
0c6a0b293f style cleanup 2012-10-28 15:23:16 +00:00
ec67334e25 A few more BMesh errors messages translated, and "automated" translation for modifers too! 2012-10-27 11:12:09 +00:00
bf4be941fc fix for filled rip copying loop customdata (fix in BM_edge_other_loop broke it)
also assert when customdata can't be copied because of invalid args.
2012-10-27 01:33:33 +00:00
c9dade4fe0 Big i18n commit: add "reports" from bmesh/readfile/tracking/dynapaint (and a few others), and another bunch of UI messages tweaks/fixes, as well as some BKE_report()<->BKE_reportf()... 2012-10-26 17:32:50 +00:00
2d39533da8 add a function for merging 2 bmesh element flags into a 3rd item. 2012-10-26 06:19:49 +00:00
e5a31eff37 code cleanup: use squared length for comparisons and is_zero_v# rather then checking length == 0. 2012-10-25 23:04:33 +00:00
e0a4ca00ac fix (own issue with recent addition) [#32966] wireframe shading doesn't work right with decimator unsubdivide mode 2012-10-25 15:11:02 +00:00
95ddd19d13 fix for build error in own commit with non gcc compilers. (and remove invalid comment) 2012-10-25 07:53:11 +00:00
3ce334e188 Merge GSoC project from branch: Laplacian Smooth (Operator & Modifier)
by Alexander Pinzon Fernandez (apinzonf)

Supported by Google Summer of Code 2012

Project Documentation:
http://wiki.blender.org/index.php/User:Apinzonf

Manual Page:
http://wiki.blender.org/index.php/User:Apinzonf/Doc:2.6/Manual/Modifiers/Deform/Laplacian_Smooth
2012-10-24 10:39:11 +00:00
2de2acc681 add CDDM_from_bmesh(), avoids using BMEditMesh in modifiers. 2012-10-24 07:24:11 +00:00
1dadd3b7c6 Partially replace convex hull implementation with Bullet implementation
* Bullet's convex hull implementation is significantly more robust
  than the one I implemented, as well as being faster.

* This fixes bug [#32864] "Convex Hull fails in some cases."
  projects.blender.org/tracker/?func=detail&aid=32864&group_id=9&atid=498

  That bug, and others like it, relate to the poor handling of
  co-planar surfaces in the input. Pretty much any model that is
  simple-subdivided a few times gave very bad results before, Bullet's
  implementation handles this much better.

* In order to ensure a smooth transition, the Bullet output is
  translated into the existing HullTriangle hash structure. This makes
  it easy to ensure that the existing slot output stays the same; the
  interactions between the slots are somewhat complicated, detangling
  is a TODO.

* Reviewed by Brecht:
  https://codereview.appspot.com/6741063
2012-10-23 23:54:15 +00:00
f70d2c65d8 rename api functions...
- minf, maxf, mini, maxi --> min_ff, max_ff, min_ii, max_ii
2012-10-23 13:28:22 +00:00
13940cc78e fix for issues in new decimator
- when an edge exists across a quad, dont attempt to triangulate it. (such a case isn't so common anyway)
- silly mistake when checking if anything needed to be done in the modifier, percent was being checked for 1.0 even when not used.
2012-10-23 06:37:58 +00:00
a82af0d220 add option to planar decimator to collapse all verts that define face boundries (verts that 2 faces share and have 2 edge users).
avoids ugly stepping between faces when applying on curves surfaces. (but less useful for architectural style models)
2012-10-23 06:13:56 +00:00
c297605665 fix for edge collapse decimator re-combining triangles that make degenerate quads. 2012-10-23 05:48:21 +00:00
1ea210a8dc add option for decimate-collapse to keep triangulated geometry (normally quads stay as quads when not collapsed). 2012-10-23 05:30:10 +00:00
bbe0deb8af add limited dissolve as a decimation type to the decimate modifier. 2012-10-23 05:20:02 +00:00
0636886715 add un-subdivude as an optional method for the decimate modifier, gives more even geometry & nicer results in some cases. 2012-10-23 04:26:39 +00:00
1767b65846 style cleanup: also rename bmesh_decimate.c --> bmesh_decimate_collapse.c 2012-10-23 03:38:26 +00:00
c6b4494727 decimator - small optimization on check for degenerate edges. 2012-10-22 17:33:11 +00:00
23baf8c9c3 code cleanup: check defgroup_name_index() return value != -1, rather then checking >= 0.
also remove unused bmesh decimator code.
2012-10-22 17:19:05 +00:00
3526ae9805 add vertex group option to decimate modifier, handy if you want to pin some parts of the geometry. 2012-10-22 15:39:06 +00:00
ddc2dbc2a4 style cleanup 2012-10-22 08:15:51 +00:00