SpiecsEngine
 
Loading...
Searching...
No Matches

◆ Packed_Primitives_Sample()

static void HoudiniEngine::Packed_Primitives_Sample ( )
static

Definition at line 1204 of file HoudiniTestSource.h.

1205 {
1206 const char* hdaFile = "";
1207
1208 HAPI_Session session;
1209 HAPI_ThriftServerOptions serverOptions{ 0 };
1210 serverOptions.autoClose = true;
1211 serverOptions.timeoutMs = 3000.0f;
1212
1213 HE_CHECK(HAPI_StartThriftNamedPipeServer(&serverOptions, "hapi", nullptr, nullptr))
1214
1215 HAPI_SessionInfo sessionInfo = HAPI_SessionInfo_Create();
1216 HE_CHECK(HAPI_CreateThriftNamedPipeSession(&session, "hapi", &sessionInfo))
1217
1218 HAPI_CookOptions cookOptions = HAPI_CookOptions_Create();
1219 HE_CHECK(HAPI_Initialize(&session, &cookOptions, true, -1, nullptr, nullptr, nullptr, nullptr, nullptr))
1220
1221 HAPI_AssetLibraryId assetLibId;
1222 HE_CHECK(HAPI_LoadAssetLibraryFromFile(&session, hdaFile, true, &assetLibId))
1223
1224 int assetCount;
1225 HE_CHECK(HAPI_GetAvailableAssetCount(&session, assetLibId, &assetCount))
1226
1227 if (assetCount > 1)
1228 {
1229 std::cout << "Should only be loading 1 asset here" << std::endl;
1230 }
1231
1232 HAPI_StringHandle assetSh;
1233 HE_CHECK(HAPI_GetAvailableAssets(&session, assetLibId, &assetSh, assetCount))
1234
1235 std::string assetName = GetString(session, assetSh);
1236
1237 HAPI_NodeId nodeId;
1238 HE_CHECK(HAPI_CreateNode(&session, -1, assetName.c_str(), "PackedPrimitive", false, &nodeId))
1239
1240 CookAndPrintNode(session, cookOptions, nodeId, HAPI_PACKEDPRIM_INSTANCING_MODE_DISABLED);
1241 CookAndPrintNode(session, cookOptions, nodeId, HAPI_PACKEDPRIM_INSTANCING_MODE_HIERARCHY);
1242 CookAndPrintNode(session, cookOptions, nodeId, HAPI_PACKEDPRIM_INSTANCING_MODE_FLAT);
1243
1244 HE_CHECK(HAPI_Cleanup(&session))
1245 }
#define HE_CHECK(expr)
HoudiniEngine Check macro. Verify HoudiniEngine API Effectiveness.
Definition HoudiniCore.h:17
static std::string GetString(HAPI_Session &session, HAPI_StringHandle stringHandle)
static void CookAndPrintNode(HAPI_Session &session, HAPI_CookOptions &co, HAPI_NodeId nodeId, HAPI_PackedPrimInstancingMode mode)