That’s a very round-about way of doing things But given the complete lack of documentation on how to write a LOP node it is perfectly understandable… To quickly answer your question, no, there is no way to read from any LOP node without cooking it. But Houdini nodes are pretty smart. If they haven’t changed, and their inputs haven’t changed, then they won’t actually recook, they’ll just return their last cooked result. If they did change, then you probably want the node to recook, so it’s good that it does…
So with that out of the way, to access the data from a secondary input, you’ll want to do something like this:
if (auto_lock_inputs.lockInput(1, context) >= UT_ERROR_ABORT)
const HUSD_DataHandle &datahandle = lockedInputData(context, 1);
// Read from the stage.