Houdini Engine 2.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
HAPI_AssetInfo Struct Reference

#include <HAPI_Common.h>

Public Attributes

HAPI_AssetId id
HAPI_AssetType type
HAPI_AssetSubType subType
int validationId
HAPI_NodeId nodeId
HAPI_NodeId objectNodeId
HAPI_Bool hasEverCooked
HAPI_StringHandle nameSH
 Instance name (the label + a number). More...
HAPI_StringHandle labelSH
 This is what any end user should be shown. More...
HAPI_StringHandle filePathSH
 Path to the .otl library file. More...
HAPI_StringHandle versionSH
 User-defined asset version. More...
HAPI_StringHandle fullOpNameSH
 Full asset name and namespace. More...
HAPI_StringHandle helpTextSH
 Asset help marked-up text. More...
int objectCount
 See Objects. More...
int handleCount
 See Handles. More...
int editableNodeNetworkCount
 Editable Node Networks. More...
int transformInputCount
int geoInputCount
HAPI_Bool haveObjectsChanged
HAPI_Bool haveMaterialsChanged

Detailed Description

Definition at line 715 of file HAPI_Common.h.

Member Data Documentation

int HAPI_AssetInfo::editableNodeNetworkCount

Editable Node Networks.

Definition at line 774 of file HAPI_Common.h.

HAPI_StringHandle HAPI_AssetInfo::filePathSH

Path to the .otl library file.

Definition at line 767 of file HAPI_Common.h.

HAPI_StringHandle HAPI_AssetInfo::fullOpNameSH

Full asset name and namespace.

Definition at line 769 of file HAPI_Common.h.

int HAPI_AssetInfo::geoInputCount

Geometry inputs exposed by the asset. For OBJ assets this is the number of SOP-filtered node path parameters exposed plus the Object Merge SOPs inside marked as Editable Nodes. For SOP assets this is the number of geometry inputs on the SOP node itself plus SOP-filtered node path parameters exposed. See Asset Inputs.

Definition at line 788 of file HAPI_Common.h.

int HAPI_AssetInfo::handleCount

See Handles.

Definition at line 773 of file HAPI_Common.h.

HAPI_Bool HAPI_AssetInfo::hasEverCooked

It's possible to instantiate an asset without cooking it. See Cooking.

Definition at line 763 of file HAPI_Common.h.

HAPI_Bool HAPI_AssetInfo::haveMaterialsChanged

For incremental updates. Indicates whether any of the asset's materials have changed. Refreshed only during an asset cook.

Definition at line 796 of file HAPI_Common.h.

HAPI_Bool HAPI_AssetInfo::haveObjectsChanged

For incremental updates. Indicates whether any of the assets's objects have changed. Refreshed only during an asset cook.

Definition at line 792 of file HAPI_Common.h.

HAPI_StringHandle HAPI_AssetInfo::helpTextSH

Asset help marked-up text.

Definition at line 770 of file HAPI_Common.h.

HAPI_AssetId HAPI_AssetInfo::id

Definition at line 717 of file HAPI_Common.h.

HAPI_StringHandle HAPI_AssetInfo::labelSH

This is what any end user should be shown.

Definition at line 766 of file HAPI_Common.h.

HAPI_StringHandle HAPI_AssetInfo::nameSH

Instance name (the label + a number).

Definition at line 765 of file HAPI_Common.h.

HAPI_NodeId HAPI_AssetInfo::nodeId

Use the node id to get the asset's parameters. See Nodes Basics.

Definition at line 750 of file HAPI_Common.h.

int HAPI_AssetInfo::objectCount

See Objects.

Definition at line 772 of file HAPI_Common.h.

HAPI_NodeId HAPI_AssetInfo::objectNodeId

The objectNodeId differs from the regular nodeId in that for geometry based assets (SOPs) it will be the node id of the dummy object (OBJ) node instead of the asset node. For object based assets the objectNodeId will equal the nodeId. The reason the distinction exists is because transforms are always stored on the object node but the asset parameters may not be on the asset node if the asset is a geometry asset so we need both.

Definition at line 759 of file HAPI_Common.h.

HAPI_AssetSubType HAPI_AssetInfo::subType

Usually this will be HAPI_ASSETSUBTYPE_DEFAULT. The other values correspond to assets that weren't instantiated through the use of .otl files, such as curves.

Definition at line 729 of file HAPI_Common.h.

int HAPI_AssetInfo::transformInputCount

Transform inputs exposed by the asset. For OBJ assets this is the number of transform inputs on the OBJ node. For SOP assets, this is the singular transform input on the dummy wrapper OBJ node. See Asset Inputs.

Definition at line 780 of file HAPI_Common.h.

HAPI_AssetType HAPI_AssetInfo::type

The houdini asset type. There may be all sorts of different assets in Houdini, corresponding to the type of data that flows in that particular type of data network. For the moment, the only supported types are OBJ and SOP assets, though this will change in the future to include a greater set.

Definition at line 724 of file HAPI_Common.h.

int HAPI_AssetInfo::validationId

This id is primarily used to check whether the asset still exists within the Houdini scene running inside the runtime. The asset id alone is not enough as asset ids are re-used between sessions. We use this id to determine whether we need to re-instatiate an asset we have on the client side so that Houdini also knows about it - which is different from the case where a new asset is being loaded for the first time.

The best example is saving and loading a scene in the host application. The host would need to restore the underlying Houdini scene. However, in the saved information, the host would have seemingly valid asset ids and would have no way of know if those ids are from the current session or a previous session. Using this validation id and HAPI_IsAssetValid(), the host can check if the asset ids it has are valid.

Definition at line 746 of file HAPI_Common.h.

HAPI_StringHandle HAPI_AssetInfo::versionSH

User-defined asset version.

Definition at line 768 of file HAPI_Common.h.

The documentation for this struct was generated from the following file: