https://github.com/dustractor/tkit/blob/master/mesh_selection_topokit.py
OR
http://www.pasteall.org/26701/python
OR
mesh_selection_topokit.zip (3.72 KB)
As it has been said: premature optimization is the root of all evil…
So if anybody wonders what took so long to update this and get rid of that CRAPPY interface, that’s what was up.
As another wise saying goes, Never code as cleverly as you can, because then you must always be that clever. This applies also to how you name your variables.
Rather than try and make some kind of meta-system for myself to program within, I just had to SIMPLIFY and write each operator on it’s own. Best idea ever.
So in other words, over half of the features I had intended, such as any ctypes stuff, pointer math, animation, saving selections/masks, as well as any fancy opengl crap or modal-operation — NONE OF THAT.
Where the first version had everything stuck under the edit_mesh_specials menu (W),
now the operations are to be found on the menu that corresponds to their mode.
That’s ^V, ^E, and ^F, respectively.
My personal preference is to put buttons down on the view3d header, but this particular release is more about fitting in with the rest of the ui in a predictable way. So, if anybody actually uses this, let me know how YOU would like it to go, as far as the interface.
summary of operators:
vertex neighbor selection
2 kinds:
vertex neighbors by edge
vertex neighbors by face but not edge
edge neighbor selection
5 kinds
edge neighbors by shared vertex
edge neighbors by shared face
edge neighbors by shared vertex and face (perpendicular?)
edge neighbors laterally
edge neighbors longitudinally
face neighbor selection
2 kinds:
neighbors by edge
neighbors by vertex (but not edge)
misc:
3 more
inner edges (of selection)
only edges (of selection)
CONWAY’S LIFE (to face selection)
Known bugs and/or inconsistencies:
You are not prevented from trying to use something out of context of its ‘mode’ such as vertex-related while in edge or face mode. Results will not be as anticipated.
No cleanup yet on the caching mechanism. Needed?
Ordering on the menus is arbitrary.