bfb9cefccb
Added options for how bevel amount is measured.
...
Now there is an 'Offset Type' dropdown on tool
shelf with types:
Offset - current method, offset of new edge
from old along sliding face
Width - width of new bevel face (if segments=1)
Depth - amount a chamfering plane moves down
from original edge
Percent - percent of way sliding edges move
along their adjacent edges
The different options mainly are useful when
beveling more than one edge at once.
Leaving as a TODO to put these in the modifier,
as doing that has more permanent effects so
want to let users shake out problems with this
first.
2013-11-10 12:31:57 +00:00
ec32964194
code cleanup: warnings
2013-11-03 05:19:55 +00:00
Dalai Felinto
a7b44c82e5
Triangulate Modifier: using different ngon and quad methods
...
Quads: Beauty, Fixed, Fixed Alternate, Shortest Diagonal
Ngons: Beauty, Scanfill
* Shortest Diagonal is the default method in the modifier (popular
elsewhere), but beauty is the default in Ctrl+T).
* Remove the need for output slot and beauty operator to be called
after Clt+T
Patch with collaborations and reviewed by Campbell Barton
2013-10-29 02:42:51 +00:00
7c8c49a34a
style cleanup
2013-10-21 23:35:08 +00:00
f12ac5b23f
fix [ #37100 ] Segfault when I rotate an edge
2013-10-16 05:24:55 +00:00
Dalai Felinto
859dfccb58
beautify: passing edge/face flags as arguments
...
no functional change, just preparing the ground for the beautify in
triangulate modifier changes.
2013-10-16 03:24:50 +00:00
Dalai Felinto
fe93d4a3d8
split operators/bmo_beautify.c into tools/bmesh_beautify.c
...
This is a proper design if we want to use the beautify routine elsewhere
(e.g., in the triangulate modifier)
2013-10-16 03:24:38 +00:00
Dalai Felinto
54be5f2cf5
fix [ #37058 ] 2.69 RC1: Symmetrize directions are all reverse
2013-10-13 05:45:29 +00:00
afab39b9d6
code cleanup: use const's for static arrays
2013-10-10 20:22:17 +00:00
590f58d455
code cleanup: redundant includes and add minor comments.
2013-10-08 20:18:38 +00:00
51f7f82a42
fix crash in editmesh edge-dissolve, when 2 faces shared multiple edges, freed edges would be checked.
2013-10-03 15:29:08 +00:00
6b2e563924
yet another instance dissolve deletes verts it loops over.
2013-10-03 10:50:03 +00:00
6d1dba7c37
overlapping faces made join-triangles fail, check for this case and silently ignore them.
2013-10-03 10:29:53 +00:00
253e9fb041
addition to r60523 missed using BM_ITER_MESH_MUTABLE in one place.
2013-10-03 08:02:32 +00:00
5b5bc63396
fix [ #36923 ] Merge / Delete vertices crashes for some meshes
...
add BM_ITER_MESH_MUTABLE which steps before entering the for() loop body and prevents the assert from complaining about removing mesh data while iterating as well as the crash.
this was done in quite a few areas, more may turn up.
2013-10-03 07:06:56 +00:00
0959482acb
fix [ #36913 ] GHASH_FLAG_ALLOW_DUPES assert and crash in Edge Collapse
2013-10-02 04:12:06 +00:00
b21b24573d
lots of operator descriptions were incorrectly copy/pasted.
...
update some descriptions, others were removed and operators tagged as internal.
add a script to detect duplicate operator descriptions.
2013-09-30 05:50:41 +00:00
9096b3a14e
fix [ #36211 ] bridge edge loops joining vertecies that are far away
...
for bridge use a different beautify method when edge loops have non-matching loop count (simple face-angle comparison).
2013-09-17 23:23:32 +00:00
dd628ab4ed
comments and more logical var names for bm_edge_calc_rotate_beauty(), (make it easier to see whats going on)
2013-09-17 22:48:08 +00:00
ec2464ac5f
code cleanup: unnecessary shadowing and some minor pep8 edits.
2013-09-12 19:51:31 +00:00
39f40250ed
bmesh wireframe operator now adds crease customdata when the crease option is enabled.
2013-09-12 04:02:31 +00:00
92d94ccb08
misc minor changes
...
- make cmake osx use of -ftemplate-depth match scons.
- use array size within sizeof(), more compact.
- replace AT with __func__ where the function is unique enough.
- BLI_box_pack_2D -> 2d to match other functions.
- rename new mesh normal calculation to mesh.calc_normals_split()
2013-09-10 19:23:39 +00:00
00bd7da674
correct error in recent changes for building with openmp.
...
rename DM_OMP_LIMIT to BKE_MESH_OMP_LIMIT and set to 0 when in debug mode, same for BM_OMP_LIMIT.
2013-09-09 05:42:26 +00:00
108a4c41c4
code cleanup: warnings and redundant checks.
2013-09-08 20:25:31 +00:00
3527d2fb27
code cleanup: quiet warnings
2013-09-08 06:05:42 +00:00
4f369c1e2d
use strict flags for gridfill, use unsigned ints.
2013-09-07 08:41:29 +00:00
0423d2b252
changes to grid fill
...
- use 4 weights for vertex customdata blending (was previously only using 2)
- option for simple blending, which blends locations using weights too and doesn't attempt to maintain the shape,
useful for flat surfaces or times when keeping the shape gives odd results.
2013-09-07 08:13:39 +00:00
63ade11564
grid-fill support for customdata, so filled areas have UV's, vertex colors etc interpolated from the boundary.
...
also support cases where only some of the boundary edges have faces to interpolate from.
2013-09-06 06:48:17 +00:00
7a38fe97fd
sorting utility functions for simple cases - sorting pointers by float for example.
2013-09-05 22:24:12 +00:00
3b72f1824c
rename positive_mod to mod_i, make it work with nagative numbers (matching pythons modulo), and use in a few more places.
...
allow mesh-checker-deselect to have a negative offset.
2013-09-05 20:54:32 +00:00
2e0422b17f
add function for rotating linked list so at item is last.
2013-09-05 11:40:38 +00:00
96c668b1dd
add positive_mod() utility function.
2013-09-05 10:12:00 +00:00
0994e7f96f
move timeit macros into their own include, since they are only used for testing and unrelated to PIL_time.h typical use.
2013-09-03 21:22:43 +00:00
01a2634d61
fix [ #36412 ] Pivot of active element switches to last selected face after duplicating vertices.
2013-09-02 04:39:48 +00:00
54310b8086
bmesh: internal api change, remove BMOElemMapping, its not needed since the values can be stored in the ghash directly.
...
saves 24 bytes per element (per vertex/edge/face on a 64bit system), for bmesh operators.
2013-09-02 03:13:51 +00:00
75383a79f6
array modifier was adding vertices to the 'targetmap' multiple times.
...
this is supported by weldop but would prefer not to allow multiple keys in the map.
2013-08-27 23:32:11 +00:00
377475f979
remove doubles: source/target can be swapped, check both flags.
2013-08-27 23:23:19 +00:00
d5469dd5c2
mesh remove doubles was adding verts into the weld_verts.targetmap multiple times (new paranoid asserts find this stuff).
2013-08-27 22:38:55 +00:00
bbce51d116
replace hashes with sets where possible.
2013-08-25 20:03:45 +00:00
81096bab0c
correct error in recent commit triangle-fill-dissolve, need to check if the edges face is removed (happens in rare cases).
2013-08-23 11:28:33 +00:00
111b365c58
_another_ fix for recently added bisect operator, looping over mixed geometry could read freed memory when vertices were removed.
2013-08-23 11:11:59 +00:00
98bb2197a2
add dissolve option to triangle fill operator, running dissolve after scanfill isn't so simple because of errors if one edge can't merge.
2013-08-23 11:10:46 +00:00
59b082dc27
fix for error in recetly added bisect operator, in rare cases it could attempt to remove vertices twice.
2013-08-23 10:19:58 +00:00
5b5cae86b7
optiona for bmesh triangle fill operator to take a normal argument
2013-08-23 10:12:09 +00:00
6f4b79d5af
edits to new symmetrize tool
...
- snap axis-aligned verts to the center.
- expose the threshold for detecting if a vertex is on the axis.
2013-08-23 05:32:43 +00:00
6cba2b8d73
move bmesh tools into their own include,
...
changes to tool args would rebuild far too many files and these are mainly by modifiers outside of bmesh.
2013-08-23 04:22:07 +00:00
da7af1e271
correct own error in r59365, reported as [ #36536 ] Extrusion detaches faces
2013-08-22 18:52:34 +00:00
c4e1d40022
replace symmetrize code with calls to bmesh operators.
...
calls: bisect, duplicate, scale, flip, weld.
resolves report [#36475 ] Symmetrise does not keep uv/weight
also fixes issues with faces that cross the axis more then once.
2013-08-22 18:02:36 +00:00
e97f979f73
new bmesh operator bisect_plane, cuts a mesh in half, takes a user defined plane as an argument, handles concave ngons which need multiple cuts.
2013-08-22 17:56:08 +00:00
c1cc9f3376
bmesh duplicate operator: add vertmap output slot.
2013-08-22 17:32:41 +00:00