Hi guys,
I can confirm a need for this as well.
Ben could you pls share your solution to access the geo data for multiple output nodes? I have a simple code but I keep getting empty GeoInfo.
You have mentioned you had issues with it as well so I was wondering what was the solution.
Here is my simplified code:
int geoCnt = 0;
vector< T_HoudiniNodeId >nodesIds;
ENSURE_SUCCESS(HAPI_ComposeChildNodeList(m_Session->GetPtr(), m_AssetInfo->nodeId, HAPI_NODETYPE_ANY, HAPI_NODEFLAGS_ANY, false, &geoCnt));
nodesIds.resize(geoCnt);
ENSURE_SUCCESS(HAPI_GetComposedChildNodeList(m_Session->GetPtr(), m_AssetInfo->nodeId, &nodesIds[0], geoCnt));
for (auto& geoId : nodesIds)
{
HAPI_AssetInfo assetInfo;
ENSURE_SUCCESS(HAPI_GetAssetInfo(m_Session->GetPtr(), geoId, &assetInfo));
C_String const fullOpNameSH = m_Session->GetString(assetInfo.fullOpNameSH);
if (fullOpNameSH == "Sop/output")
{
outGeoIds.push_back(geoId);
}
}
for (HAPI_NodeId geoId : geoIds)
{
HAPI_GeoInfo geoInfo;
ENSURE_SUCCESS(HAPI_GetGeoInfo(m_Session->GetPtr(), geoId, &geoInfo));
/*have geoInfo.partCount == 0 :(*/
...
}
Do you guys have an idea what I might be missing?
Cheers
Tom