Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Julien BOLBACH

  • Rank

Personal Information

  • Name
    Julien BOLBACH
  1. Dynamic parm maxValue

    Hi guys, I'm building an interface for an OTL, and here is what I'm trying to do : - I have a list base on a mutliparm tabs, which give me a number of entries in my list. They have their own set of parameters. All good so far. - I have a separate integer parm, and I want to dynamically set its maxValue to the number of entries in my mutliparm list. What would be the easiest way to get this working ? I attached a mockup of the interface in a null node, so you can get the gist of it. Thanks a lot, Julien dynamicParm.hipnc
  2. Delete scatter intersections

    Yes sorry, you are completely right, I was already assuming we all knew this already and forgot to add it to the example. But the rest of the explanation stands. Cheers Julien
  3. Delete scatter intersections

    Hey guys, Thanks for this. I was still bothered by this if (npt <= @ptnum) line and your explanation on it, but it does all the trick. Here is why : - Consider this simple example : - As you mentioned, result from the nearpoints are in order of their distance. But the point numbers can be completely random : - nearpoints for @ptnum = 1 -> [6,2,3,5,4] - nearpoints for @ptnum = 2 -> [6,1,4,5,3] - etc. - So the statement of skipping points by comparing the ptnum to pt is not accurate. For sure, you want to skip itself so it should at least be if (pt == @ptnum ) continue; But this removes too many points still. - BUT, by skipping the points before ptnum, you assume that those points have already been "taken care of". So skipping them makes all the trick. - Consider this : - @ptnum = 1 : let's say nearpoints give you back [6,2] and pscale is big enough to get the point deleted. - @ptnum = 2 : nearpoints would give you back [6,1] and pscale is big enough to get the point deleted. - @ptnum = 6 : nearpoints would give you back [1,2]. if you keep the if (pt == @ptnum), the point would get deleted. But with (pt <= @ptnum), you skip 1 and 2 and end up not deleting the point. I don't know if this was made on purpose Jesper, but this is definitely working Thanks again, Julien
  4. Delete scatter intersections

    Hi Jesper, Your solution seems to work really well ! As you mentioned, I used the wrangle in detail in the first place the calculations run in parallel, and I was unable to store and query my "keep" attribute. That being said, the removepoint seems to cover for that, as the point doesn't exist anymore, it does the trick. I'm still not 100% sure what you can and cannot do when running parallel calculations, but this seems to be working just fine (and it's lighting fast !). I just did this adjustment : promote the pscale into detail, as max, and use this pscale*2 to unsure I would sample all the points around the max size. One last thing, what does the if(pt<=@ptnum) continue; does ? It seems a bit arbitrary to me, is it just to make sure to remove the points in order and not mess up the point numbers ? Thanks a lot ! Julien
  5. Delete scatter intersections

    Hi guys, I had the same idea and made a Python version with the same result as the vex version (same points), and got significantly faster as well (x10), but it is still relatively slow for the number of points (12 seconds for 40k points, 2mins in Vex). deleteIntersections_v003.hipnc I would still love to find a faster way if possible, specially if I want to be able to get this working for 100+Ks of points ... Cheers, Julien
  6. Hi guys, I'm trying to find a way to delete points of a scatter that are too close to each other. My idea is : - I calculate the nearpoints for each point of the scatter, within the pscale distance of each point - For all those nearpoints, I want to delete them, and keep the original point, but more importantly, I want to make sure that I won't run the algorithm on those points again, otherwise I will delete too many points. - I've made a working prototype, but it's very slow. I'm doing it through a detail wrangle, storing the points I want to keep, to make sure they wouldn't be deleted later. This is obviously not optimised and fairly slow for high numbers of points, but I haven't found another way to make it work. I attached a sample file of what I'm doing, any suggestion to make this faster would be really appreciated. There might be other ways of achieving what I am after, so please do let me know if you have ideas. Thanks a lot, Julien deleteIntersections_v002.hipnc
  7. Query edit nodes "edits"

    Hi, I'm wondering if there is a way to query the edits that are stored in the edit node ?\ Any idea, please let me know ! Thanks, Julien
  8. Nearpoint question

    Thanks ! I thought removing the point from the group would do the trick, but apparently it didn't ... Thanks again, its works well ! Julien
  9. Nearpoint question

    Hi guys, I'm trying to do the following on a geometry of points : - find the closest point to the first one, then iterate through this newly find point and find the closest one, etc. I'm trying to use nearpoint for that, by using the ptgroup. I create a group with all the points at the beginning, and through my loop, I remove the points found on this group. But it doesn't work, and I'm not sure what I'm doing right ... int neworder[] = {}; // start with point 0 int npt = 0; push(neworder,npt); // remove point from group setpointgroup(0,"points",npt,0); for(int i=0;i<10;i++){ vector p = point(0,"P",npt); // find nearest point from points group npt = nearpoint(0,"points",p); // remove newly point from group setpointgroup(0,"points",npt,0); push(neworder,npt); } i[]@points = neworder; I'm doing this on a wrangle node at the detail level (so only once). Any idea what I'm doing wrong ? Thanks, Julien
  10. Hi guys, I'm developing a scattering tool for houdini, and I would like to add the ability to hand place some objects. Typically my workflow would be : - I have a node where I plug the different objets I want to layout (I already have this) - On my node interface I can add a copy of each object (I already have this) - I can select my objects and get a handle to move/scale/rotate them. Any thoughts or idea how I could achieve that ? Thanks a lot, Julien
  11. Selection event callback

    Hi, I'm wondering if there is a way to add a callback when the selection on the viewport is changed. Is it possible ? Thanks, Julien