[UPDATED] Topokit v2 -- cleaned up, reorganized the ui, a caching mechanism...

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.

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.

ummm… i like turtles… :slight_smile:

just joking with ya… :slight_smile:

i like the

“E” lateral Neighbors

and

“E” longitudinal Edges.

Ctrl+E in my case(i use the Super Maya Keymaps)

how you could make this better is by adding a "T"toolshelf operator(repeat last action) button…

For instance in my case if i pressed Ctrl+E lateral Neighbors and it added the 2 edges,
there should be a button on the “T” panel that says,
“repeat last” and if you press it it will do another “lateral Neighbors”(doing this would make it very quick)

im not a wiz in python but this seem like it would be pretty easy to code, just redoing the last done operation…
also your tool is already showing up on the bottom of the tool panel already when you use it, so…
you just need to add the button and the code to run the respective command.

try shift+R (repeat)

when an operator has ‘REGISTER’ in its set of bl_options that makes it easily repeatable with shift+R

Ahhh… nice…

i had (Shift+R) Mapped to interactive Rotate(on my Super Maya Keymaps),

i just made repeat(Ctrl+Shift+R) thanks for the heads up dustractor! :smiley:

i still think a repeat last button would be welcome somewhere on the toolbar,
if they are going to have translate, scale, rotate etc…(which are mostly useless)
“repeat last action” seems to be a no brainer.

re: a button. I agree. try this one instead: mesh_selection_topokit_inheader.zip (3.82 KB)

re: maya. I don’t know much about maya, but I’ve got a neighbor who is all about it and I can’t get him try blender. Any tips on converting someone to blender from maya? He paid for his Maya copy so telling him that blender is free doesn’t seem to be working. I was curious how well the maya keymaps eased the transition for a maya user.

it is very cool, I tried it, especially grow Lat and Lon, (or how u call them), I love these, but I have some suggestions for some new selection tools if you are interested in implementing them and adding to your great addon:

  1. select horizontal face loop: if the user selects a face and then executes this operator it finds the two face loops that this face is part of… then it decides that one of them is horizontal and selects this whole face loop
  2. select vertical face loop: same as previous one, but it finally selects the vertical loop that contains the firstly selected face
    3)select next loop :if the user selects an loop and executes this operator it finds the next loop and selects it, deselecting the previous loop selection, but if it is executed with combination with shift key, then it adds the next loop to the selection. This can be context sensitive, it can be applied to faces in face select mod and to edges in edgeselect mode!
    4)select previous loop: same as previous, but in opposite direction
    it will be awesome if you can implement these! either way, thank you very much for your contribution!

Those are some great ideas! I’ll definitely give them a shot, but I may have to wait until after the holidays…

Cool! Im happy to hear this… so, happy holidays to you, then! The holidays are great way to recharge your batteries!

mmm so I installed it, where do I find it within blenders menus?

hi, I updated this for bmesh api here: mesh_selection_topokit