2d1cce8331
Cleanup: make format after SortedIncludes change
2020-03-19 09:33:58 +01:00
e12c08e8d1
ClangFormat: apply to source, most of intern
...
Apply clang format as proposed in T53211.
For details on usage and instructions for migrating branches
without conflicts, see:
https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-17 06:21:24 +02:00
Ish Bosamiya
da5b6ed75b
Modifiers: add minimum number of vertices to triangulate modifier.
...
This lets you only triangulate n-gons when setting the number to 5 or more.
Differential Revision: https://developer.blender.org/D4367
2019-03-22 18:11:14 +01:00
de13d0a80c
doxygen: add newline after \file
...
While \file doesn't need an argument, it can't have another doxy
command after it.
2019-02-18 08:22:12 +11:00
eef4077f18
Cleanup: remove redundant doxygen \file argument
...
Move \ingroup onto same line to be more compact and
make it clear the file is in the group.
2019-02-06 15:45:22 +11:00
65ec7ec524
Cleanup: remove redundant, invalid info from headers
...
BF-admins agree to remove header information that isn't useful,
to reduce noise.
- BEGIN/END license blocks
Developers should add non license comments as separate comment blocks.
No need for separator text.
- Contributors
This is often invalid, outdated or misleading
especially when splitting files.
It's more useful to git-blame to find out who has developed the code.
See P901 for script to perform these edits.
2019-02-02 01:36:28 +11:00
5c3953010d
Cleanup: spelling
2018-12-19 10:18:15 +11:00
854db8951b
Cleanup: strip trailing space in bmesh module
2018-06-04 08:49:47 +02:00
76ece90d4a
Fix T55093: Bisect + fill crash
2018-05-22 17:23:25 +02:00
ccdacf1c9b
Cleanup: use '_len' instead of '_size' w/ BLI API
...
- When returning the number of items in a collection use BLI_*_len()
- Keep _size() for size in bytes.
- Keep _count() for data structures that don't store length
(hint this isn't a simple getter).
See P611 to apply instead of manually resolving conflicts.
2018-02-15 23:39:08 +11:00
89120cd241
bmesh: use 'uint' instead of 'unsigned int'
...
no functional changes.
2017-05-06 14:19:08 +10:00
7fd2efa507
BMesh: Minor improvement to face-join
...
Pass in loops instead of edge & faces.
Nearly all callers have the loop-pairs to pass in.
2016-11-12 10:30:32 +11:00
0a026033ae
BMesh: make toolflags optional
...
Saves 8 bytes per vert/edge/face.
Gives overall ~20-25% memory saving for dyntopo sculpting
and modifiers that use BMesh.
2016-07-01 19:29:22 +10:00
bcde045b32
Fix T48667: Bisect-fill crash
...
BMO iterator would loop over removed faces.
Recent changes to mempool FREEWORD size exposed this bug.
2016-06-17 21:45:56 +10:00
daa90de3fd
Cleanup: shadowing (bmesh)
2015-11-23 17:40:10 +11:00
0f769afe07
Fix T46692: Triangulate creates duplicate faces
...
Caused a crash in dyntopo.
2015-11-06 01:13:23 +11:00
67ec0ef277
Editmesh: report a warning when fill fails
...
also prevent assert with zero normal
2014-11-05 14:21:18 +01:00
cb5ec7f743
Fix use-after free (own error)
2014-11-04 09:48:41 +01:00
afa6d4e21f
Fix T41523: Mesh triangle fill creates flipped faces
...
Calculate projection normal using edge-pairs
2014-08-21 15:07:07 +10:00
1706182be4
Fix for BMesh fill using arbitrary face-flipping
...
Use winding of existing boundary edges.
Filling Suzzane's eyes gave different face winding.
2014-08-21 13:08:13 +10:00
eaf7d6b7c0
BMesh: fill - replace SmallHash with GHash
2014-08-21 13:08:13 +10:00
90e1746d89
BMesh: correct flag use
...
Allowed fill to make duplicate faces
2014-08-21 13:08:13 +10:00
ae8327dbf3
Mask: add option to detect self intersections
2014-02-13 19:12:28 +11:00
8b1731e13d
Scanfill: skip checks for loose edges when they can't occur
...
Only editmesh needs this, text, curves, masks - can all skip this check
2014-02-04 02:57:27 +11:00
b4ae05e4db
BMesh: optimize lookups for triangle fill
2014-02-02 17:09:38 +11:00
c4345a808c
Smallhash: add reserve option to avoid resizing when size is known
2014-02-02 17:08:26 +11: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
590f58d455
code cleanup: redundant includes and add minor comments.
2013-10-08 20:18:38 +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
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
5b5cae86b7
optiona for bmesh triangle fill operator to take a normal argument
2013-08-23 10:12:09 +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
b1f4e2b4db
code comments: bmesh operator doxy header descriptions.
2013-03-30 08:54:50 +00:00
6f9f1399a0
code cleanup: operator headers
2013-03-25 22:40:11 +00:00
be780cb4a6
code cleanup: move beautify into its own file (more changes coming)
2013-03-25 22:04:12 +00:00
1b4c9e1ad4
beautify fill: skip testing invalid cases (2 triangles that _don't_ have 4 unique verts between them).
2013-03-25 04:48:30 +00:00
b6a60fc6b8
revert own commit, caused regression - hanging on triangulation [ #34214 ].
...
Postponing further changes for now, too risky before release when unexpected cases can cause eternal loop.
2013-02-13 03:20:30 +00:00
555bcc3298
add beauty option for triangle fill since you might want to use the initial scanfill result.
2013-02-09 15:49:20 +00:00
5e05d67436
improve beauty-fill tool for non-flat triangles.
...
Project the triangle pair into 2d coords before measuring.
before/after - http://www.graphicall.org/ftp/ideasman42/beauty_fill_fix.png
2013-02-09 08:16:13 +00:00
c30fb009cc
problem with own changes to triabgulate: calling beauty fill directly would re-allocate the faces which mean't triangulates output slots pointers became invalid. (noticed when using from py api)
2013-02-06 15:57:12 +00:00
e7cead0994
own recent change to triangulate bmesh operator stopped filling in mapping slot 'face_map.out', not used by blender its self but useful for scripts, enable this again.
2013-02-05 11:30:50 +00:00
c649107499
when triangulating ngons, use beauty option to rotate edges. gives much nicer results and means you can preserve original edges without triangulating ngons one at a time
2013-02-03 08:07:14 +00:00
37489d71c7
Triangulate modifier no longer uses bmesh operator api call, instead add a BM_mesh_triangulate() function. Gives ~2x speedup in my tests on an optimized build.
2013-01-29 10:31:05 +00:00
b27854bd47
use booleans for bmesh api.
2013-01-14 16:42:43 +00:00
983e5fe5f1
fix for own mistake in recent changes to scanfill, bmo_triangle_fill_exec() (alt+f), was missing BLI_SCANFILL_CALC_HOLES argument.
...
reported as [#33819 ]
2013-01-10 14:28:06 +00:00
8ecce451ab
bmesh operator naming - use clearer names for args eg: (mat -> matrix, use_singleedge -> use_single_edge)
...
also remove duplicate docs for operator arg formatting.
2012-11-28 00:16:06 +00:00
f9e339ef00
fix/workaround [ #33281 ] script goes into not responding
...
scanfill remove-doubles pass assumes ordered edges (as with curves), otherwise it can hang.
workaround this problem by skipping removing-doubles for mesh ngons, since this isnt such a common case as it is with curves and we can just not support it.
2012-11-26 23:18:04 +00:00
3d64381e4d
use more rigid type checking for bmesh slot subtypes.
2012-11-26 03:16:29 +00:00
ebaf1306b8
bmesh operator api:
...
avoid per vert/edge/face string lookups in BMO_slot_map_* functions --- used in array modifier, subdivide, remove doubles and other tools.
2012-11-20 13:29:27 +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