Age | Commit message (Collapse) | Author |
|
note: that this intentionally removes check to exit vpaint mode when a vertex color layer is removed,
since being in vertex-paint mode without a vertex color layer is supported.
also minor change to drawing camera limits while picking from previous commit.
|
|
- when running knife project, disable vertex selection since it may select areas between the newly cut regions.
add EDBM_selectmode_disable() function since loopcut does this too.
- (optimization) avoid looping over all geometry when flushing and no selection exists.
|
|
|
|
from Kevin Mackay (yakca)
|
|
|
|
which have been removed.
|
|
out of range dvert's are now cleared before adding new-empty groups.
|
|
|
|
remove redundant check for hidden faces.
|
|
Only support mouse vertex select at the moment.
|
|
|
|
|
|
filling it for verts/edges/faces on every redraw.
this may introduce bugs which I didn't catch, but they are very easy to identify in a debug build which has asserts to ensure the arrays are valid before use.
in my own test drawing ~98,304 quads - this gave an overall ~16% drawing speedup.
|
|
|
|
this lets python menu for mode setting do mixed selection and extending the selection - just like the buttons in the header.
|
|
Adding new image texture to Meshes didn't initialize UVs to 0-1 default.
This makes initial display of textures on meshes not work.
This fixes my favorite demo case: Open Blender, drop image from desktop on cube.
|
|
connected proportional editing is on, only UVs on the same island will be proportionally moved. The implementation simply rejects UVs whose island does not belong to islands of selected vertices and decrements the total count of transform elements appropriately. Memory usage could be better but it would require some more preprocessing.
|
|
int pairs.
overall means less converting between float and int (and short in some cases).
|
|
definition (EDBM_selectmode_convert())
Cheers to Sebastian Nell (codemanx) for catching this.
|
|
radius-squared for circle select comparisons.
edge_fully_inside_rect() & edge_inside_rect() args were shorts when all callers were passing ints.
|
|
ED_view3d_project_float_global/object
|
|
during Editmode) Loop Cut Crash
A correct fix for this bug likely involves changuing how operators are called in the event loop but such changes better not be made just before the release.
|
|
some warnings.
|
|
- sample weight didnt work when the object was transformed.
- sample weight didnt work when vertex selection was enabled.
- 'All faces' option is used by weight paint mode, but there was no UI access.
add ED_mesh_pick_face_vert(). which uses the face selection buffer but returns the closest vertex.
|
|
merge), but is pretty bad (rebuilding entire derived mesh to pick a face), tested with subsurf modifier, sintel mesh - it works ok without it.
Also - other select modes like border-select dont do this, so looks safe to disable.
|
|
rename mouse_mesh() --> EDBM_select_pick()
|
|
|
|
|
|
was not selected. Now changed it so that the active face must also have its
UVs shown in the image editor to be used as the source of the image shown.
|
|
|
|
1. Two new boolean options have been added to the operator: "deselect"
and "toggle".
2. The previous behavior of "extend" (toggling the selection) has
been moved to the "toggle" option.
3. "extend" now only extends the selection, it never deselects.
4. "deselect" is pretty self-explanatory: it deselects (i.e. opposite
of extend).
5. The built-in keymap has been changed to use "toggle" where
"extend" was used before for this operator, to maintain the
previous behavior in the default keymap.
In short, this works towards making "extend" and "deselect" fully
consistent across all selection tools (adding to and removing from
selection, respectively), but still preserves the old behavior
as well.
(Patch reviewed by Brecht.)
|
|
This commit adds some first building blocks for the two operators to work modally based on mouse input. To make their function easier, two hotkeys are introduced, Ctrl+B for bevel and I for inset.
TODO:
After discussion with Campbell, we would like to add scale-style line indicators for the operators. This is already done for transform operators but a new interface for mesh operations may have to be written using pieces from that code since, strictly speaking bevel and inset are not exactly "transform" operators.
Also, a better input method for inset is needed and more options exposed. The method implemented right now uses mouse move for thickness and ctrl-mouse move for depth. These are calculated using the distance of the selection center in screen space and the mouse position. While that may work and prevents abrupt changes in values when switching from thickness tweak mode to depth tweak mode, it limits the magnitude of values that can be put into the tool especially in small or large scale.
Alternatives until a better method is written include:
* use relative offset (works but may give strange results)
* tweak manually after the operation.
|
|
- replace inline face UV center calc.
- use const float[3] for mesh and uv functions.
- remove unused define
|
|
BM_editselection_* funcs, replace EDBM_ funcs.
|
|
- fix for own mistake (Ctrl+T didnt set beauty peroperty).
- remove bad level includes in bmesh.
|
|
bmesh operator was passing a flag about in a fairly confusing way.
since we will eventually have python bmesh operator access better expose this as multiple booleans.
remove remaining editbutflag's
|
|
|
|
|
|
also add py api BMDeformVert.clear()
|
|
speedup)
|
|
match BM_ function naming conventions
|
|
problem was that BMesh had tessellation call when undo pushes were called.
if python called an operator with no undo push, tessfaces would not be created.
fix this by making it the responsibility of each editmesh operator to re-tessellate, as it is with notifiers and depsgraph.
added EDBM_update_generic() function to add notifier, tag for depsgraph update and optionally re-tessellate.
|
|
creating a new mesh with tessfaces and later converting to polygons, which wont work if polygons exist)
|
|
ones.
adding UV's from python was resetting the active UV layer but not setting the new layer to active, resetting existing UV's.
|
|
remove bmesh_selecthistory.c, only wrapped a few functions.
|
|
|
|
already used a lot and part of proposed style guide).
|
|
|
|
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
|
|
* remove unneeded struct's from headers.
* give argument names for return ** pointers r_ prefix.
|