Age | Commit message (Collapse) | Author |
|
Commit 86abddc9, caused an error when the face-region included boundary edges.
Since removing the faces first, caused the edges along the boundaries to be removed.
Add support for deleting faces and internal edges, that keeps boundaries.
|
|
Calculating the winding failed when faces exist on both sides of the edge.
|
|
Separate the creation of trees from EditMesh from the creation of trees from DerivedMesh.
This was meant to simplify the API, but didn't work out so well.
`bvhtree_from_mesh_*` actually is working as `bvhtree_from_derivedmesh_*`.
This is inconsistent with the trees created from EditMesh. Since for create them does not use the DerivedMesh.
In such cases the dm is being used only to cache the tree in the struct DerivedMesh. What is immediately released once
bvhtree is being used in functions that change(tag) the DM cleaning the cache.
- Use a filter function so users of SnapObjectContext can define how edit-mesh elements are handled.
- Remove em_evil.
- bvhtree of EditMesh is now really cached in the snap functions.
- Code becomes organized and easier to maintain.
This is an important patch for future improvements in snapping functions.
|
|
Now CD_SHAPEKEY_INDEX customdata is stored in edit-mode when hooks and vertex parents are used.
This also fixes a bug where undo would loose key-index data.
Move to structs for BM_mesh_bm_to/from_me to avoid passing many argument, which mostly aren't used.
|
|
|
|
This introduces a snap-context that can be re-used for casting rays into the scene
(by operators such as walk-mode, ruler and transform code).
This can be used to cache data between calls too.
|
|
Symmetrize was unusable with multi-res data,
add an option for the bmesh operator not to flip the multi-res depth.
|
|
|
|
The issue was caused by some code accessing R from a functions which
are marked as safe for use from outside of render pipeline.
Now those functions are safe(er) for use.
|
|
This was getting very hard to follow,
- mixing input/output args.
- mixing arg order between functions.
- arg names (mode, snap_mode) rename to (snap_to, snap_select)
|
|
Imperial).
Was the case of several Mesh operators actually (and probably others, but cannot check
everything). Added `RNA_def_property_float_distance` helper, avoids having to
set PROP_DISTANCE subtype explicitly each time...
|
|
|
|
Definitions could shadow local vars.
|
|
|
|
Instead of offsetting along normals, smooth positions are now
calculated on a sphere defined by the vertices and their normals.
This removes visible seams along original edges, which were common previously.
|
|
- Add blentranslation `BLT_*` module.
- moved & split `BLF_translation.h` into (`BLT_translation.h`, `BLT_lang.h`).
- moved `BLF_*_unifont` functions from `blf_translation.c` to new source file `blf_font_i18n.c`.
|
|
Detect when there are < 3 corners & automatically calculating the span isn't useful.
|
|
Wasn't applied relative to the active vertex.
|
|
|
|
|
|
|
|
|
|
INT_/FLOAT_MAX are sometimes valid choices, but most of the time more
sensible values should be used here!
|
|
|
|
Creating triangles at endpoints is often not so good, disable by default.
|
|
|
|
Ability to quickly add 2x edge loops on either side of selected loops.
|
|
|
|
|
|
Use a separate limit for face-angle and shape comparisons.
There was no way to join non-rectangular, co-planer tries.
|
|
Previously was only checking active layers
Also add delimit by edge seam
|
|
Angle limit for join-faces was more advice then actual limit.
Now joining entire selection, gives assurance that no faces above the limit will be merged.
The purpose of this was to allow users to isolate 2 faces and always join them.
Instead, support this by bypassing limit only when its not set and 2 faces are selected.
|
|
Note: maybe we could even make `RNA_property_is_unlink()` always return false
for enum properties? But well, guess being explicit here does not hurt...
|
|
|
|
Collapse but not with other merge types.
Was missing parameter for collapse bmesh operator...
|
|
Resolves ugly artifacts with multi-cut.
|
|
Could connect a pair of verts previously,
now connect all vertices along the path, running a second time closes the loop.
Can also be used for without faces to connect edges between selected points.
|
|
|
|
|
|
Access from Mesh -> Cleanup
|
|
The issue was caused by the conflict between preview render which would set
R_NO_IMAGE_LOAD flag on the renderer and texture samplers called outside of
the render pipeline trying to use this flag.
Now the sampler functions accepts extra argument so render pipeline can
still skip image load, but calls outside of the pipeline will nicely load
all the images.
Not cleanest change in the world but good enough to unlock gooseberry team,
and assuming we already had pool passed all over the place it should be all
fine.
Will need to reshuffle arguments into SamplerOptions structure later.
|
|
|
|
|
|
also prevent assert with zero normal
|
|
|
|
Also add:
- generic callback for bmesh elements.
- ability to pass an existing array to a bmesh operator.
|
|
Keep soft min/max to usual values, but allow artists to play with strange values
if they really want it.
|
|
redundant, just call factor as smooth modifier does.
|
|
Based on code by wahooney (Keith Boshoff), patch itself was merely rewritten due to BMesh changes...
|
|
- ignore hidden faces & verts
- when cutting a pair, select edges co-linear to the cut.
Also support creating a buffer from hidden elem's even if BMO_FLAG_RESPECT_HIDE is enabled.
(if the hflag used includes BM_ELEM_HIDDEN).
|