[Sidefx-houdini-list] Delete by id Python SOP

Georg Duemlein rdg at preset.de
Tue Mar 1 14:32:01 EST 2011


I wonder why nobody proposed an inline cpp approach yet?

We placed an RFE while ago to get support for arbitrary attributes in a 
groupSOPs pattern field.

On 11-02-28 9:13 PM, sgustafso at gmail.com wrote:
> The way I like to do id kills is to develop a solid copy attribute SOP (via hdk) that chooses source/target points by matching attributes. Then to delete by ID, you group the points, add a marker point attribute (say, dodelete) set to 1 for the points you want to delete, use the custom sop to copy the marker attribute to the animated points, and then delete all points for which the marker evals to 1. Then time shift to freeze the selection and wrap it in an otl.
> When you break it up like this, it becomes really easy to do arbitrary procedural kills. Eg, select a set of points within a bounding object, and kill them over the full range of a sim according to id.
>
> The point sop can match by id when given two inputs. It kept failing to match correctly in H10, so I had to do an hdk equivalent. But I think it might have (hopefully) been improved for h11. So it might be worth seeing if that's a workable solution for transferring a delete marker by ID matching. If so, that makes this pretty easy to setup as an otl, and should scale well to large particle sims and kill counts.
>
> Sure, you /can/ do the matching in Python, but imo Python scales far too poorly for this kind of task, especially if you're hoping to use this with large particle sims. Throw a million particles and a kill list with 10,000 ids at it and see how well it performs. (Same goes for hscript $ID expressions: fine for 10 or 20 kills, but try and eval the expression for 1000 unique ids!)
>
>> Peter Bowmar<pbowmar at gmail.com>  wrote:
>>
>> This is how I've done it at a few places. However, at least 5 years
>> ago, I found it only worked up to a certain point then Houdini would
>> crash. I was just using $ID == 5 || $ID == 123 etc populated by a


-- 
Georg Duemlein
+1 604 726 4230



More information about the Sidefx-houdini-list mailing list