Popnet bug in 19.0.455

   2300   4   1
User Avatar
Member
3 posts
Joined: Sept. 2017
Offline
Warning: Problem while synchronizing child node:
Warning: Skipping unrecognized parameter "firstpointcount".
Skipping unrecognized parameter "firstprimcount".
/obj/tube1/popnet/source_first_input/sopsolver1/attribwrangle1

Whenever I create a pop net, even in an empty scene, upon closing and opening the project file again, this error pops up.
Anybody else has the same problem?

Cheers
Edited by Mykk - Jan. 10, 2022 10:56:21
User Avatar
Member
2529 posts
Joined: June 2008
Offline
I'm using H19.0.455 Python 3.
Confirmed, I get that too. It's just a warning, I ignore them all the time.

It looks like a little sloppy coding inside the source_first_input sopsolver.
Here is the problem code:
#include <voptype.h>
#include <voplib.h>

int npts = ch("npts");
int seed = ch("seed");
float frame = ch("frame");
int firstpointcount = npoints(0);
int firstprimcount = nprimitives(0);
The message box indicates it a problem with nprimitves, but the real problem is the assignment from the ch() function to the variable. My guess is when this HDA was authored, there was no strict vex type enforcement taking place. It looks like ch() defaults to returning a float, instead of returning the type of the parameter that it is referencing. "seed" is an integer, but ch("seed") returns a float. The simple fix is to explicitly fetch an integer to begin with.

This code change fixes the error message on load.
#include <voptype.h>
#include <voplib.h>

int npts = chi("npts");
int seed = chi("seed");
float frame = ch("frame");
int firstpointcount = npoints(0);
int firstprimcount = nprimitives(0);
Use chi() instead.
Edited by Enivob - Jan. 10, 2022 13:03:26
Using Houdini Indie 20.0
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
3 posts
Joined: Sept. 2017
Offline
Appreciate your help Enivob!

Thanks for sharing.
User Avatar
Member
2 posts
Joined: Jan. 2017
Offline
I'm running into the same error and the popnet is not working. When I bring the nodes into 19.0.498 it works.

19.0.455 is the latest version of Vray so I need it.

I see the code fix in Enivob's post but I'm not sure where that code is found in order to edit it.

Can someone explain how to impliment that fix?
User Avatar
Member
1 posts
Joined: Feb. 2019
Offline
Hi @inkbot,

check your error message - there you will find the path to the affected "popnet".
Dive into:
  1. popnet
  2. popsource (right click -> allow editing of contents)
  3. sopsolver
  4. attribwrangle1 (perhaps the opdigit will vary, check the error message for that)
  5. check lines 4 and 5 and follow @Enivob's instructions

Enivob
...

It looks like a little sloppy coding inside the source_first_input sopsolver.
Here is the problem code:
#include <voptype.h>
#include <voplib.h>

int npts = ch("npts");
int seed = ch("seed");
float frame = ch("frame");
int firstpointcount = npoints(0);
int firstprimcount = nprimitives(0);
The message box indicates it a problem with nprimitves, but the real problem is the assignment from the ch() function to the variable. My guess is when this HDA was authored, there was no strict vex type enforcement taking place. It looks like ch() defaults to returning a float, instead of returning the type of the parameter that it is referencing. "seed" is an integer, but ch("seed") returns a float. The simple fix is to explicitly fetch an integer to begin with.

This code change fixes the error message on load.
#include <voptype.h>
#include <voplib.h>

int npts = chi("npts");
int seed = chi("seed");
float frame = ch("frame");
int firstpointcount = npoints(0);
int firstprimcount = nprimitives(0);
Use chi() instead.
  • Quick Links