Age | Commit message (Collapse) | Author |
|
|
|
this fixes but [#30461] where the same vertex was added to some faces twice.
Previous code rebuilt all faces around the split edges, replace this with much simpler code that uses existing bmesh API for splitting.
This also gives a performance boost to the modifier (over 30x faster in the bug-report file).
|
|
* C: BM_vert_separate(...)
* py: bmesh.utils.vert_separate(vert, edges)
This splits off regions around the vertex, splitting on connected edges passed in a sequence.
also made minor changes
- rename python api functions _rip to _separate
- fixed bmesh iterator being iterable its self (some parts of python expect this)
- fix memory leak in bmesh python api.
|
|
* bmesh.utils.face_vert_rip(f, v)
* bmesh.utils.loop_rip(l)
|
|
scons).
|
|
when rotating multiple edges.
Now create the rotate edge in advance and copy its customdata (before joining the faces).
This commit also fixes an annoyance where tryangulating faces could create duplicate edges.
|
|
macros with static functions.
|
|
coordinates.
This will be used in soon-to-be-commited knife tool rewrite.
Interpolates using the original face.
Also fixed or improved a couple of comments.
|
|
|
|
On a user level, edge rotate now works better with multiple edges selected, it wont make zero area faces or rotate edges into existing ones.
With a single edge selected - rotate is less strict and will allow ugly resulting faces but still checks on duplicate edges.
API:
* BM_edge_rotate now takes a flag, to optionally...
** check for existing edge
** splice edge (rotate and merge)
** check for degenerate resulting faces (overlapping geometry, zero area)
** beauty - only rotate to a better fit.
... this allows it to still be used as a low level API function since all checks can be skipped.
* BM_edge_rotate() now works a bit different, it find the new edge rotation before joining the faces - exposed by BM_edge_rotate_calc().
* Added api call bmesh_radial_faceloop_find_vert() - Radial Find a Vertex Loop in Face
|
|
|
|
then returning NULL.
|
|
|
|
just access l->radial_next
|
|
in bmo_extrude_face_region_exec() in some cases.
|
|
|
|
|
|
|
|
- apply some rules for function naming conventions, added to main bmesh doc in bmesh.h.
- remove unused function BM_loops_to_corners().
|
|
Some function comments were in headers, some in the C files, some in both.
Moved function comments from headers into the C files.
|
|
- bmesh_newcore.c -> bmesh_core.c.
- add bmesh_interp header.
|