1ca5de1b51
speedup for ngon tessellation, check if the angle is an improvement before doing the full intersection check.
...
with 500 verts gives approx 2x speedup.
2013-09-19 07:58:47 +00:00
ac0a2ef274
minor edits to poly_find_ear() bmesh function, no functional changes.
2013-09-19 07:40:41 +00:00
0ac194687e
style cleanup
2013-09-18 00:07:17 +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
8beb565c59
code cleanup: headers - doxy comments.
2013-09-12 03:02:50 +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
648f2102d8
update bmesh doxy docs, remove double-promotion warnings in remove-strict-flags cmake macro.
2013-09-08 06:55:58 +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
6fdb2ed861
bmesh utility functions BM_face_as_array_loop_tri, BM_face_as_array_loop_quad
...
also set attributes for the header and remove debug print in mask.c
2013-09-06 06:27:22 +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
f6b37f34ec
code cleanup:
...
- add missing headers from cmake (own omission)
- quiet rna_test.c unused define warnings.
- minor style edits
- spelling corrections and ignore all uppercase words with spell checking script.
2013-09-05 19:56:49 +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
2dc988df8c
reorder BLI_strict_flags.h include so its not conflicting with stdio.h on apple.
2013-09-03 04:39:12 +00:00
15039b14ff
Make strict compiler happy for release builds.
2013-09-02 17:24:56 +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
35b61a7512
Move GCC attributes into a centraized defines
...
Instead of having ifdef __GNUC__ all over the headers
to use special compiler's hints use a special file where
all things like this are concentrated.
Makes code easier to follow and allows to manage special
attributes in more efficient way.
Thanks Campbell for review!
2013-09-01 15:01:15 +00:00
2924a02a35
move strict compiler checks into a header so its easier to manage in one place (pragmas were copied around).
...
also enable more strict warnings for BLF (which had some incorrect casts).
2013-09-01 00:46:04 +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
b7a3a3894e
internal bmesh operator change, always initialize ghash for mapping slots, save having many checks.
2013-08-27 22:13:11 +00:00
11703b4955
style cleanup
2013-08-27 21:30:33 +00:00
8ef934c73f
ghash/bli-listbase edits, rename BLI_ghash_pop -> BLI_ghash_popkey (since it takes a key as an arg and isnt popping any element from the hash as you might expect).
...
add BLI_pophead/tail, since getting the first element from a list and removing it is a common task.
2013-08-26 23:37:08 +00:00
bbce51d116
replace hashes with sets where possible.
2013-08-25 20:03:45 +00:00
7c65015ab8
use ints for ghash/edgehash flags, since its allocated theres not much point to try save a few bytes here.
2013-08-24 20:16:14 +00:00
09a52f18b6
ghash: reserve size when its known or can be guessed close enough.
...
also avoid allocs per node in pbvh_bmesh_node_limit_ensure()
2013-08-24 17:33:47 +00:00
1e2ceabbe1
correct error in face walker (was inserting into the wrong ghash which was immediately freed after)
2013-08-24 16:43:09 +00:00
620d674b85
fix error in recently added symmetrize rewrite, verts already on the aligned to the mirror-plane would not be welded.
2013-08-23 13:27:44 +00:00
d6b9fb36d8
fix leak in BM_face_split() with multires if the split failed.
...
also remove redundant normal copy.
only triangulate the mesh if its needed when enabling dyntopo.
2013-08-23 13:00:43 +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
77fa1aaab5
modify closest_to_plane_v3 not to use point-normal form.
2013-08-23 05:15:12 +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