About Vop array limitations/bugs

   2331   4   2
User Avatar
Member
453 posts
Joined: Feb. 2013
Offline
(H15.0.318 Indie)

Hi,
I'm not sure I am doing this right:
1 I am trying to use a twoway node in VOPs to choose one array over another and the twoway node does not seem to accept arrays as inputs. Note: I do feed a boolean value into the condition input.

2 This is necessary, because I am trying to build a “remove duplicate” function. This is a fairly standard operation on arrays and I think it would be nice to have that and more.

3 The find (array) node returns -1 if it cannot find a value in the array, but it returns it in an array. So I am trying to use getelement (set to 0) between the find and a compare node. Not sure if that works.

4 Is there a good way to get from an array to an edge selection?
For example, if you have an array of vertex IDs that make up an edge group you want?
User Avatar
Member
339 posts
Joined: Aug. 2007
Offline
1. Just use a regular Switch node.
Jesse Erickson
Fx Animator
WDAS
User Avatar
Member
453 posts
Joined: Feb. 2013
Offline
Thank you tjeeds!

Still hoping on an answer to at least question 4.
User Avatar
Member
339 posts
Joined: Aug. 2007
Offline
I don't know of a “good” way, only nightmare way that might not even work. I'd like to see a clever response to this too

You can look into this though:
http://www.sidefx.com/docs/houdini15.0/vex/halfedges [sidefx.com]
Also filter the VEX function list by “vertex” and look at those functions.
I think you'd have to loop through your array and compare each vert to the other verts in the list and see if they share a half edge, then convert the vertices to point numbers and run it into a print node to format it like “p0-p1 p2-p3”, write that as a detail string or something and reference it in the group field with an expression.

So my question is, do you really need an edge group?
Jesse Erickson
Fx Animator
WDAS
User Avatar
Member
453 posts
Joined: Feb. 2013
Offline
I am trying to do some stuff with UVs procedurally.
I have the border edges of every UV shell in one group. I have an ID attribute for each UV shell. Now I want to create groups of border edges that are shared by up to two different UV shells.

So if UV shell 1 shares edges with UV shell 21 and UV shell 33 I get two border Edge groups on UV shell 1.

I am probably missing the obvious method to do this. I suspect it can be done with the partition sop or something like that.
  • Quick Links