I'm sorry to bring up this old thread again, but I've searched the forum and found nothing about my problem:
How do I write a $ in a houdini expression in OS X, Snow Leopard with a MBP?
Also, is it possible to make equivalent to middle-mouse click in houdini?
Found 17 posts.
Search results Show results as topic list.
Technical Discussion » Snow Leopard and Houdini good to go?
- mattis
- 17 posts
- Offline
Technical Discussion » Find minimum attribute value in vop
- mattis
- 17 posts
- Offline
I don't know about doing it inside a VOP network, but couldn't you just do it with a attributePromote node - to find the minimum and then a delete node to get rid of all the other points. You could pipe the result into the VOP SOP, this may not be the best way to do it though. : :roll:
Technical Discussion » Generate piont cloud
- mattis
- 17 posts
- Offline
I think I read somewhere that it is not possible and that you should displace at SOP level before calculating point cloud.
Technical Discussion » no icons, slow running, in Debian 64
- mattis
- 17 posts
- Offline
Technical Discussion » CopyPoint in HDK
- mattis
- 17 posts
- Offline
I've tried
gdp->copyPointAttributes (*destCopyPoint, *copyThisPoint);
and
destCopyPoint->copyPoint(copyThisPoint, inGdpAll->pointAttribs(), gdp->pointAttribs());
But that doesn't work either.
gdp->copyPointAttributes (*destCopyPoint, *copyThisPoint);
and
destCopyPoint->copyPoint(copyThisPoint, inGdpAll->pointAttribs(), gdp->pointAttribs());
But that doesn't work either.
Technical Discussion » CopyPoint in HDK
- mattis
- 17 posts
- Offline
Hi, Im trying to write a custom delete sop in the HDK. One of the subtasks is to copy points from one input gdp to the SOPs gdp.
I try to iterate over the points like this:
const GEO_Point * copyThisPoint = inGdpAll->points();
GEO_Point * copyPoint = gdp->appendPoint();
copyPoint->copyPoint(copyThisPoint, sizeof(GEO_Point));
copyPoint->copyAttributeData (copyThisPoint, sizeof(GB_AttributeData));
However, the attribute is not copied. Am I doing something wrong with the sizeof(X) part?
Thank you in advance.
I try to iterate over the points like this:
const GEO_Point * copyThisPoint = inGdpAll->points();
GEO_Point * copyPoint = gdp->appendPoint();
copyPoint->copyPoint(copyThisPoint, sizeof(GEO_Point));
copyPoint->copyAttributeData (copyThisPoint, sizeof(GB_AttributeData));
However, the attribute is not copied. Am I doing something wrong with the sizeof(X) part?
Thank you in advance.
Technical Discussion » no icons, slow running, in Debian 64
- mattis
- 17 posts
- Offline
Thank you Edward, I won't be able to try this out in the next couple of day. But I will get back with the result at the end of this week.
Thanks again!
Thanks again!
Technical Discussion » no icons, slow running, in Debian 64
- mattis
- 17 posts
- Offline
I will bump this one.
I've got the same error in the new ubuntu 9.10 x64.
Edit: I get errors reported in my nodes, something like 5:
“Unable to find file /tmp/SOP_uvproject24x24.png : no such file or directory” “unrecognized file type ”Unable to find file /tmp/SOP_uvproject24x24.png : no such file or directory“
Where /tmp/SOP_uvproject24x24.png is just one example, this goes for many *.pngs.
When I look in the terminal I get a ”houdini-path/hsvg/hsvg-real: symbol lookup error: /usr/lib/libgio-2.0.so.0: undefined symbol: g_thread_gettime"
I've got the same error in the new ubuntu 9.10 x64.
Edit: I get errors reported in my nodes, something like 5:
“Unable to find file /tmp/SOP_uvproject24x24.png : no such file or directory” “unrecognized file type ”Unable to find file /tmp/SOP_uvproject24x24.png : no such file or directory“
Where /tmp/SOP_uvproject24x24.png is just one example, this goes for many *.pngs.
When I look in the terminal I get a ”houdini-path/hsvg/hsvg-real: symbol lookup error: /usr/lib/libgio-2.0.so.0: undefined symbol: g_thread_gettime"
Technical Discussion » Rendering problem, need help!!
- mattis
- 17 posts
- Offline
If you use mantra, the graphics driver should not have any influence over the rendering result. As far as I know, mantra does not utilize the graphics card to speed up rendering.
Technical Discussion » Threading and GUI freeze
- mattis
- 17 posts
- Offline
Your problem is that UT_ThreadSet will cancel all its threads when it's destructor is called. You can't just make it local stack data. It's probably easier to explicitly manage your own UT_Thread object.
Actually I realized it yesterday when I was about to make another post about this ‘strange’ behavior. What a rookie mistake Sorry to bother you with this!
Thank you for the advice on thread communication, I will definitely look in to it!
And thank you Seb, for your time!
Technical Discussion » Threading and GUI freeze
- mattis
- 17 posts
- Offline
Thank you for your fast reply!
The simulation is run when I press the ‘start’ button in the interface, the results are cached in memory (or disc) and fetched if available for the current frame when the CookMe() is called.
So the problem isn't really connected to cookMe(), but when I press the simulation button I don't want houdini to freeze.
I hope you can make sense of this
The simulation is run when I press the ‘start’ button in the interface, the results are cached in memory (or disc) and fetched if available for the current frame when the CookMe() is called.
So the problem isn't really connected to cookMe(), but when I press the simulation button I don't want houdini to freeze.
I hope you can make sense of this
Technical Discussion » Threading and GUI freeze
- mattis
- 17 posts
- Offline
Hi everyone, this question concerns the HDK 10.
I have a SOP node where I run a simulation and I want the ability to pause the simulation from a GUI button in the interface.
In short I want to start the simulation on a separate thread so houdini could be alive and answering to input (the pause button).
My current approach is to create a UT_Thread and start the simulation function in that thread, however the thread is terminated when my buttons callback function returns:
static callback_function, called when “start simulation” button is pressed:
UT_ThreadSet myThread(1);
myThread.setFunc((void *(*)(void *))&cewl);
myThread.go();
return 1; // myThread is terminated here.
So, what I would like to do is some sort of wait:
UT_ThreadSet myThread(1);
myThread.setFunc((void *(*)(void *))&cewl);
myThread.go();
myThread.wait()
return 1;
But that does not work either because it will still freeze the GUI in houdini. Are there any ‘refresh gui’ - functions or something like that? Any other suggestions on how I should do this?
I have a SOP node where I run a simulation and I want the ability to pause the simulation from a GUI button in the interface.
In short I want to start the simulation on a separate thread so houdini could be alive and answering to input (the pause button).
My current approach is to create a UT_Thread and start the simulation function in that thread, however the thread is terminated when my buttons callback function returns:
static callback_function, called when “start simulation” button is pressed:
UT_ThreadSet myThread(1);
myThread.setFunc((void *(*)(void *))&cewl);
myThread.go();
return 1; // myThread is terminated here.
So, what I would like to do is some sort of wait:
UT_ThreadSet myThread(1);
myThread.setFunc((void *(*)(void *))&cewl);
myThread.go();
myThread.wait()
return 1;
But that does not work either because it will still freeze the GUI in houdini. Are there any ‘refresh gui’ - functions or something like that? Any other suggestions on how I should do this?
Technical Discussion » Application exit
- mattis
- 17 posts
- Offline
edwardYou are right. My point was that it is not enaugh to do the clean up when the node is deleted. I want to do it both when it is deleted (destructor called) and at application exit (destructor not called, from what I can see).
You should think about why you need to create cache files on disk and their life times. As a user, if a particular SOP node created some files, I probably don't see a reason for them to exist after the node is deleted.
edwardI will look into UTgetTmpFile(), sounds very intresting. Thank you very much for the quick answer!
If you must register an exit callback, see UT_Exit::addExitCallback(). These callbacks won't be run when Houdini crashes since any code happening at this time is guarenteed to work anyhow.
If you just need to create some temp files, use UTgetTmpFile() found in UT_TmpDir.h. That will help with the cleanup upon crashing problem.
Technical Discussion » Application exit
- mattis
- 17 posts
- Offline
Hi, this question concerns the HDK 10.
I'm looking for a way to perform some resource cleanup at application exit (removing cache files from the hard drive). What is the most efficient way to do this in a SOP node? I've already tried doing it in the destructor, but it seems as it's only called when the node is deleted.
Is there a ‘application exit’ callback function to override? And what happens if houdini crashes - is there a way to free the resources even if I get an ugly segmentation fault ?
I'm looking for a way to perform some resource cleanup at application exit (removing cache files from the hard drive). What is the most efficient way to do this in a SOP node? I've already tried doing it in the destructor, but it seems as it's only called when the node is deleted.
Is there a ‘application exit’ callback function to override? And what happens if houdini crashes - is there a way to free the resources even if I get an ugly segmentation fault ?
Technical Discussion » houdini api sdk?
- mattis
- 17 posts
- Offline
abahena
Hi,
I want to start learning how to develop plug ins for houdini.
Any idea where to start?
Cheers,
Alexis
If you want to write your own nodes in the HDK, the HDK documentation seems like the place to start:
http://www.sidefx.com/docs/hdk10.0/ [sidefx.com]
Technical Discussion » Access vector field
- mattis
- 17 posts
- Offline
Hi, Im writing a SOP node (HDK 10) to perform some basic particle simulation and need to connect a volumetric force field. From what I understand, one way to do this is to define the force field at DOP level and then do a DOP import fields. If I connect a gravity force node to a vector field and then try to import it, it won't work. Do I need to drive a simulation to get any values - with a solver and so on?
If this does not work at all I will try to use a Volume VOP to define the force field. But the Volume VOP will only take a scalar Volume, are there any way to make it work on 3d vectors? Any other ideas on how to do this as convenient as possible?
If this does not work at all I will try to use a Volume VOP to define the force field. But the Volume VOP will only take a scalar Volume, are there any way to make it work on 3d vectors? Any other ideas on how to do this as convenient as possible?
Technical Discussion » HDK: Transformation matrix in geometry space
- mattis
- 17 posts
- Offline
Hi, this question is related to the HDK:
How do I find out the local space to geometry space transformation within a geometry node? An example:
A box node is transformed through a couple of transformation nodes and connected to a null node. If i grab the null node, how do I find the transformation matrix of the box node (i.e. the total transform matrix)?
How do I find out the local space to geometry space transformation within a geometry node? An example:
A box node is transformed through a couple of transformation nodes and connected to a null node. If i grab the null node, how do I find the transformation matrix of the box node (i.e. the total transform matrix)?
-
- Quick Links