Umang Raj

Umang_Raj

About Me

EXPERTISE
Hobbyist

Connect

LOCATION
Khagaria, India

Houdini Skills

Availability

Not Specified

My Tutorials

obj-image Intermediate
Solving Pyro and RBD/Vellum Together, Sequentially and Simultaneously
obj-image Intermediate
How to create Custom Solvers for APEX
obj-image Beginner
How to use the Apex Motion Mixer
obj-image Beginner
How to use OpenCL in Copernicus Introduction

Recent Forum Posts

Access primitive in HDK May 16, 2026, noon

HDK uses cpp's object oriented programming alot. All of the upper level primitive classes do contain a ga_primitive interface.

For the primoff you get from the first macro, you can easily use the getPrimitive function on the detail, and then use the function it provides or cast it to other upper level classes you know it has using implicit casting or explicit static_cast, or if you are not sure, use dynamic_cast which returns nullptr if it doesn't have that class object like this-
GA_Primitive *primPtr = gdp->getPrimitive(primOffset);
// static cast, if prim isn't polygon then it will give undefined behaviour
// GEO_PrimPoly *geoPrimPtr = static_cast<GEO_PrimPoly*>(primPtr);
// dynamic cast for verification
GEO_PrimPoly *geoPrimPtr = static_cast<GEO_PrimPoly*>(primPtr);
if (!geoPrimPtr)
    // return error, and/or do your quitting logic
or you can just use getPrimitivesOfType function.

and for your second question, you can use getMapOffset function on the primitive you get from that macro, to get it's offset.

Is this rig logic possible? April 29, 2026, 3:51 a.m.

tried to make this, and if you don't unplug the promoted transforms from the transform objects, you can use the values in other nodes too! so you don't have to do this later.
I hope this is what you want to achieve

Is this rig logic possible? April 27, 2026, 4:16 a.m.

if you want it as seperate control, then, im not sure if it is possible, it would most likely create cycles in your rig.