VEX copy point

   6574   5   0
User Avatar
Member
140 posts
Joined: 8月 2010
オフライン
When adding points in VEX using addpoint() is there a smart way to copy all the attributes from an existing point?

In my case I need to insert a point on a curve, and I'd like to avoid having explicitly set which attributes to copy.
B-System for Houdini [ae43ae43.gumroad.com]: instance editor, blender like interface.
User Avatar
Member
2152 posts
Joined: 9月 2015
オフライン
It's done automatically.

However, you will have to set the values of those attributes yourself, otherwise the default values will be set to 0.
User Avatar
Member
140 posts
Joined: 8月 2010
オフライン
I was hoping for a build-in way to automate that, f.ex. when adding points to DOP geo which tends to have a long list of attributes.

Otherwise, for my case I found a way around using the polycut SOP, it preserves the attribute values.
B-System for Houdini [ae43ae43.gumroad.com]: instance editor, blender like interface.
User Avatar
Member
253 posts
Joined: 1月 2008
オフライン
int addpoint(int geohandle, int point_number)
Creates a copy of a point, including attributes and group membership.
User Avatar
Member
2152 posts
Joined: 9月 2015
オフライン
Yes that works if you reference a point number.

However, if one wants to create a new unique point with a vector instead of an existing point number;

The attributes are set to 0.
User Avatar
Member
9281 posts
Joined: 7月 2007
オフライン
I'm assuming you are inserting points inbetwen other points, so you can't just clone a point, in that case you can easily interpolate all attributes from those points using Attrib Interpolate SOP afterwards, you just need either primnum + primuv coords, or pointarray + weightarray
Edited by tamte - 2018年2月16日 17:52:10
Tomas Slancik
CG Supervisor
Framestore, NY
  • Quick Links