Hi, I am trying to get the point numbers in an array from a line.
And my code is;
int myPointsID;
int myPoints;
//resize(myPoints, 1);
for(int i = 0; i < npoints(0); i++)
{
myPointsID = point(0, “id”, i);
append(myPoints, myPointsID);
}
printf(“%d\n”, myPoints);
The result {0,0,0,0,0,0,}…. What is my mistake?
A Simple Vex issue
1991 2 0- omerkucuk
- Member
- 4 posts
- Joined: 8月 2014
- Offline
- Enivob
- Member
- 2629 posts
- Joined: 6月 2008
- Offline
Check out the help [www.sidefx.com].
Returning zero, for a function that fails, is really a bad idea by SideFX. What if the actual value is zero?
The value of the given attribute on the given point number, or 0 if the attribute or point do not exist.Your attribute id must not exist, so it returns zero.
Returning zero, for a function that fails, is really a bad idea by SideFX. What if the actual value is zero?
Edited by Enivob - 2019年9月25日 08:58:16
Using Houdini Indie 20.0
Windows 11 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
Windows 11 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
- BabaJ
- Member
- 2129 posts
- Joined: 9月 2015
- Offline
Returning zero, for a function that fails, is really a bad idea by SideFX. What if the actual value is zero?
Some value will have to be returned, and whatever that value is there is always the chance that the attribute value is the same e.g. -1 or 1 on fail.
It's not that it's a bad idea for 0 to returned, it's just necessary to know what the value might be of a given function for a fail and set up your attributes/code beforehand to handle the potential situation and make the distinction.
Also considering that most attributes that are created and unless specified, are assigned a default value of 0.
So this is another reason to consider what/how your attribute values will be assigned before using them.
One could also use one of the function variations of hasattrib() before using other functions or not, to help clarify the results.
-
- Quick Links