Age | Commit message (Collapse) | Author |
|
No functional changes
|
|
This replaces header include guards with `#pragma once`.
A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`),
because they are used in other places.
This patch has been generated by P1561 followed by `make format`.
Differential Revision: https://developer.blender.org/D8466
|
|
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
|
|
While \file doesn't need an argument, it can't have another doxy
command after it.
|
|
Move \ingroup onto same line to be more compact and
make it clear the file is in the group.
|
|
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.
|
|
Need to use the 'use_partial_connect' option in island connect,
so changed signatures of various functions to pass that into and
then down from BM_mesh_intersect (making true for intersect, false
for boolean).
Then fix bm_face_split_edgenet_partial_connect to work when
input edges are not necessarily wire, but at least not in the
face they are being connected in. That caused generalization
of core BM_vert_separate_hflag_wire (which is only used in
this one place in all Blender).
|
|
Use expanded names for bmesh primitive operations
(urmv jvke semv jfke).
Use 'bmesh_kernel_' prefix,
these functions aren't intended for wide use so favor readability.
Remove BM_face_vert_separate,
it wasn't used and only skipped step of finding correct loop of face.
|
|
Reverse loops in-place.
|
|
Symmetrize was unusable with multi-res data,
add an option for the bmesh operator not to flip the multi-res depth.
|
|
|
|
Removes edges/verts that become unused.
|
|
Existing collapse functions were strict regarding the number of verts sharing an edge.
BM_edge_collapse allows any edge to be passed in without first having to manipulate geometry.
|
|
Move check for degenerate faces from BM_vert_collapse_faces into bmesh_jekv.
|
|
|
|
Splitting edges could give duplicates.
|
|
|
|
New utility function to handle splitting off multiple loops from a face at once.
|
|
|
|
checks if splicing verts creates duplicate edges
|
|
|
|
- add BM_vert_pair_share_face
- add BM_loop_is_adjacent
- remove BM_verts_connect
|
|
|
|
The ear loop method is potentially too slow (OˆN).
We are not using the 'beauty' option at the moment.
I'll incorporate that next.
(and later specific methods for quad splitting)
Patch done in collaboration (and reviewed by) with Campbell Barton.
|
|
vertex and edge),
also replace BM_face_create_quad_tri_v with BM_face_create_verts
|
|
add BM_face_create_verts wrapper for BM_face_create which creates its own edge array.
|
|
|
|
|
|
only need to check if the edge is boundary or not. will speedup edgesplit modifier a little.
|
|
being applied (because of added vertices),
now, instead of making hidden copies of faces, the faces are copied into a temp bmesh.
also remove a hash that was being created and not used (old code).
|
|
|
|
|
|
Thanks for Sergey for finding the bug & patching, This fix works a bit differently.
Theres no need to allocate the customdata in the first place - since its written into. So add a flag for vert/edge/face/loop creation functions so they can skip customdata creation.
|
|
(this iterator is used everywhere).
also rename vars in the struct.
|
|
loop over edges and join them without having to check if they have been removed.
|
|
fix hole when 2+ faces a vert but no edges (would make a hole), now splice the verts back together.
|
|
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)
|
|
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.
|
|
|
|
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
|
|
added some missing functions too - which are not used yep but should be there for api completeness.
* CDDM_set_mloop
* CDDM_set_mpoly
* BLI_mempool_count
|
|
Some function comments were in headers, some in the C files, some in both.
Moved function comments from headers into the C files.
|