Houdini Engine 3.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
HAPI_Common.h File Reference
#include "HAPI_API.h"
+ Include dependency graph for HAPI_Common.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  HAPI_Transform
 [HAPI_CacheProperty] More...
 
struct  HAPI_TransformEuler
 
struct  HAPI_Session
 
struct  HAPI_ThriftServerOptions
 Options to configure a Thrift server being started from HARC. More...
 
struct  HAPI_TimelineOptions
 
struct  HAPI_AssetInfo
 
struct  HAPI_CookOptions
 
struct  HAPI_NodeInfo
 
struct  HAPI_ParmInfo
 
struct  HAPI_ParmChoiceInfo
 
struct  HAPI_HandleInfo
 
struct  HAPI_HandleBindingInfo
 
struct  HAPI_ObjectInfo
 
struct  HAPI_GeoInfo
 
struct  HAPI_PartInfo
 
struct  HAPI_AttributeInfo
 See Attributes. More...
 
struct  HAPI_MaterialInfo
 
struct  HAPI_ImageFileFormat
 
struct  HAPI_ImageInfo
 
struct  HAPI_Keyframe
 
struct  HAPI_VolumeInfo
 
struct  HAPI_VolumeTileInfo
 
struct  HAPI_CurveInfo
 
struct  HAPI_BoxInfo
 
struct  HAPI_SphereInfo
 

Macros

#define HAPI_POSITION_VECTOR_SIZE   3
 
#define HAPI_SCALE_VECTOR_SIZE   3
 
#define HAPI_SHEAR_VECTOR_SIZE   3
 
#define HAPI_NORMAL_VECTOR_SIZE   3
 
#define HAPI_QUATERNION_VECTOR_SIZE   4
 
#define HAPI_EULER_VECTOR_SIZE   3
 
#define HAPI_UV_VECTOR_SIZE   2
 
#define HAPI_COLOR_VECTOR_SIZE   4
 
#define HAPI_CV_VECTOR_SIZE   4
 
#define HAPI_PRIM_MIN_VERTEX_COUNT   1
 
#define HAPI_PRIM_MAX_VERTEX_COUNT   16
 
#define HAPI_INVALID_PARM_ID   -1
 
#define HAPI_UNGROUPED_GROUP_NAME   "__ungrouped_group"
 
#define HAPI_DEFAULT_IMAGE_FORMAT_NAME   HAPI_PNG_FORMAT_NAME
 
#define HAPI_GLOBAL_NODES_NODE_NAME   "GlobalNodes"
 Name of subnet OBJ node containing the global nodes. More...
 
#define HAPI_ENV_HIP   "HIP"
 Environment variables. More...
 
#define HAPI_ENV_JOB   "JOB"
 
#define HAPI_ENV_CLIENT_NAME   "HAPI_CLIENT_NAME"
 
#define HAPI_CACHE_COP_COOK   "COP Cook Cache"
 
#define HAPI_CACHE_COP_FLIPBOOK   "COP Flipbook Cache"
 
#define HAPI_CACHE_IMAGE   "Image Cache"
 
#define HAPI_CACHE_OBJ   "Object Transform Cache"
 
#define HAPI_CACHE_GL_TEXTURE   "OpenGL Texture Cache"
 
#define HAPI_CACHE_GL_VERTEX   "OpenGL Vertex Cache"
 
#define HAPI_CACHE_SOP   "SOP Cache"
 
#define HAPI_CACHE_VEX   "VEX File Cache"
 
#define HAPI_C_ENUM_TYPEDEF(enum_name)   typedef enum enum_name enum_name;
 [HAPI_CACHE] More...
 
#define HAPI_C_STRUCT_TYPEDEF(struct_name)   typedef struct struct_name struct_name;
 
#define HAPI_ATTRIB_POSITION   "P"
 
#define HAPI_ATTRIB_UV   "uv"
 
#define HAPI_ATTRIB_UV2   "uv2"
 
#define HAPI_ATTRIB_NORMAL   "N"
 
#define HAPI_ATTRIB_TANGENT   "tangentu"
 
#define HAPI_ATTRIB_TANGENT2   "tangentv"
 
#define HAPI_ATTRIB_COLOR   "Cd"
 
#define HAPI_ATTRIB_NAME   "name"
 
#define HAPI_ATTRIB_INSTANCE   "instance"
 
#define HAPI_RAW_FORMAT_NAME   "HAPI_RAW"
 
#define HAPI_PNG_FORMAT_NAME   "PNG"
 
#define HAPI_JPEG_FORMAT_NAME   "JPEG"
 
#define HAPI_BMP_FORMAT_NAME   "Bitmap"
 
#define HAPI_TIFF_FORMAT_NAME   "TIFF"
 
#define HAPI_TGA_FORMAT_NAME   "Targa"
 

Typedefs

typedef char HAPI_Bool
 
typedef long long HAPI_Int64
 
typedef int HAPI_ProcessId
 
typedef HAPI_Int64 HAPI_SessionId
 Has to be 64-bit. More...
 
typedef int HAPI_StringHandle
 
typedef int HAPI_AssetLibraryId
 
typedef int HAPI_NodeId
 See Nodes Basics. More...
 
typedef int HAPI_ParmId
 
typedef int HAPI_PartId
 
typedef int HAPI_ErrorCodeBits
 
typedef int HAPI_NodeTypeBits
 
typedef int HAPI_NodeFlagsBits
 

Enumerations

enum  HAPI_License {
  HAPI_LICENSE_NONE, HAPI_LICENSE_HOUDINI_ENGINE, HAPI_LICENSE_HOUDINI, HAPI_LICENSE_HOUDINI_FX,
  HAPI_LICENSE_HOUDINI_ENGINE_INDIE, HAPI_LICENSE_HOUDINI_INDIE, HAPI_LICENSE_MAX
}
 
enum  HAPI_StatusType { HAPI_STATUS_CALL_RESULT, HAPI_STATUS_COOK_RESULT, HAPI_STATUS_COOK_STATE, HAPI_STATUS_MAX }
 
enum  HAPI_StatusVerbosity {
  HAPI_STATUSVERBOSITY_0, HAPI_STATUSVERBOSITY_1, HAPI_STATUSVERBOSITY_2, HAPI_STATUSVERBOSITY_ALL = HAPI_STATUSVERBOSITY_2,
  HAPI_STATUSVERBOSITY_ERRORS = HAPI_STATUSVERBOSITY_0, HAPI_STATUSVERBOSITY_WARNINGS = HAPI_STATUSVERBOSITY_1, HAPI_STATUSVERBOSITY_MESSAGES = HAPI_STATUSVERBOSITY_2
}
 
enum  HAPI_Result {
  HAPI_RESULT_SUCCESS = 0, HAPI_RESULT_FAILURE = 1, HAPI_RESULT_ALREADY_INITIALIZED = 2, HAPI_RESULT_NOT_INITIALIZED = 3,
  HAPI_RESULT_CANT_LOADFILE = 4, HAPI_RESULT_PARM_SET_FAILED = 5, HAPI_RESULT_INVALID_ARGUMENT = 6, HAPI_RESULT_CANT_LOAD_GEO = 7,
  HAPI_RESULT_CANT_GENERATE_PRESET = 8, HAPI_RESULT_CANT_LOAD_PRESET = 9, HAPI_RESULT_ASSET_DEF_ALREADY_LOADED = 10, HAPI_RESULT_NO_LICENSE_FOUND = 110,
  HAPI_RESULT_DISALLOWED_NC_LICENSE_FOUND = 120, HAPI_RESULT_DISALLOWED_NC_ASSET_WITH_C_LICENSE = 130, HAPI_RESULT_DISALLOWED_NC_ASSET_WITH_LC_LICENSE = 140, HAPI_RESULT_DISALLOWED_LC_ASSET_WITH_C_LICENSE = 150,
  HAPI_RESULT_DISALLOWED_HENGINEINDIE_W_3PARTY_PLUGIN = 160, HAPI_RESULT_ASSET_INVALID = 200, HAPI_RESULT_NODE_INVALID = 210, HAPI_RESULT_USER_INTERRUPTED = 300,
  HAPI_RESULT_INVALID_SESSION = 400
}
 
enum  HAPI_ErrorCode { HAPI_ERRORCODE_ASSET_DEF_NOT_FOUND = 1 << 0, HAPI_ERRORCODE_PYTHON_NODE_ERROR = 1 << 1 }
 
enum  HAPI_SessionType {
  HAPI_SESSION_INPROCESS, HAPI_SESSION_THRIFT, HAPI_SESSION_CUSTOM1, HAPI_SESSION_CUSTOM2,
  HAPI_SESSION_CUSTOM3, HAPI_SESSION_MAX
}
 
enum  HAPI_State {
  HAPI_STATE_READY, HAPI_STATE_READY_WITH_FATAL_ERRORS, HAPI_STATE_READY_WITH_COOK_ERRORS, HAPI_STATE_STARTING_COOK,
  HAPI_STATE_COOKING, HAPI_STATE_STARTING_LOAD, HAPI_STATE_LOADING, HAPI_STATE_MAX,
  HAPI_STATE_MAX_READY_STATE = HAPI_STATE_READY_WITH_COOK_ERRORS
}
 
enum  HAPI_PackedPrimInstancingMode {
  HAPI_PACKEDPRIM_INSTANCING_MODE_INVALID = -1, HAPI_PACKEDPRIM_INSTANCING_MODE_DISABLED, HAPI_PACKEDPRIM_INSTANCING_MODE_HIERARCHY, HAPI_PACKEDPRIM_INSTANCING_MODE_FLAT,
  HAPI_PACKEDPRIM_INSTANCING_MODE_MAX
}
 
enum  HAPI_Permissions {
  HAPI_PERMISSIONS_NON_APPLICABLE, HAPI_PERMISSIONS_READ_WRITE, HAPI_PERMISSIONS_READ_ONLY, HAPI_PERMISSIONS_WRITE_ONLY,
  HAPI_PERMISSIONS_MAX
}
 
enum  HAPI_RampType { HAPI_RAMPTYPE_INVALID = -1, HAPI_RAMPTYPE_FLOAT, HAPI_RAMPTYPE_COLOR, HAPI_RAMPTYPE_MAX }
 
enum  HAPI_ParmType {
  HAPI_PARMTYPE_INT = 0, HAPI_PARMTYPE_MULTIPARMLIST, HAPI_PARMTYPE_TOGGLE, HAPI_PARMTYPE_BUTTON,
  HAPI_PARMTYPE_FLOAT, HAPI_PARMTYPE_COLOR, HAPI_PARMTYPE_STRING, HAPI_PARMTYPE_PATH_FILE,
  HAPI_PARMTYPE_PATH_FILE_GEO, HAPI_PARMTYPE_PATH_FILE_IMAGE, HAPI_PARMTYPE_NODE, HAPI_PARMTYPE_FOLDERLIST,
  HAPI_PARMTYPE_FOLDERLIST_RADIO, HAPI_PARMTYPE_FOLDER, HAPI_PARMTYPE_LABEL, HAPI_PARMTYPE_SEPARATOR,
  HAPI_PARMTYPE_MAX, HAPI_PARMTYPE_INT_START = HAPI_PARMTYPE_INT, HAPI_PARMTYPE_INT_END = HAPI_PARMTYPE_BUTTON, HAPI_PARMTYPE_FLOAT_START = HAPI_PARMTYPE_FLOAT,
  HAPI_PARMTYPE_FLOAT_END = HAPI_PARMTYPE_COLOR, HAPI_PARMTYPE_STRING_START = HAPI_PARMTYPE_STRING, HAPI_PARMTYPE_STRING_END = HAPI_PARMTYPE_NODE, HAPI_PARMTYPE_PATH_START = HAPI_PARMTYPE_PATH_FILE,
  HAPI_PARMTYPE_PATH_END = HAPI_PARMTYPE_PATH_FILE_IMAGE, HAPI_PARMTYPE_NODE_START = HAPI_PARMTYPE_NODE, HAPI_PARMTYPE_NODE_END = HAPI_PARMTYPE_NODE, HAPI_PARMTYPE_CONTAINER_START = HAPI_PARMTYPE_FOLDERLIST,
  HAPI_PARMTYPE_CONTAINER_END = HAPI_PARMTYPE_FOLDERLIST_RADIO, HAPI_PARMTYPE_NONVALUE_START = HAPI_PARMTYPE_FOLDER, HAPI_PARMTYPE_NONVALUE_END = HAPI_PARMTYPE_SEPARATOR
}
 
enum  HAPI_ChoiceListType {
  HAPI_CHOICELISTTYPE_NONE, HAPI_CHOICELISTTYPE_NORMAL, HAPI_CHOICELISTTYPE_MINI, HAPI_CHOICELISTTYPE_REPLACE,
  HAPI_CHOICELISTTYPE_TOGGLE
}
 
enum  HAPI_PresetType { HAPI_PRESETTYPE_INVALID = -1, HAPI_PRESETTYPE_BINARY = 0, HAPI_PRESETTYPE_IDX, HAPI_PRESETTYPE_MAX }
 
enum  HAPI_NodeType {
  HAPI_NODETYPE_ANY = -1, HAPI_NODETYPE_NONE = 0, HAPI_NODETYPE_OBJ = 1 << 0, HAPI_NODETYPE_SOP = 1 << 1,
  HAPI_NODETYPE_POP = 1 << 2, HAPI_NODETYPE_CHOP = 1 << 3, HAPI_NODETYPE_ROP = 1 << 4, HAPI_NODETYPE_SHOP = 1 << 5,
  HAPI_NODETYPE_COP = 1 << 6, HAPI_NODETYPE_VOP = 1 << 7, HAPI_NODETYPE_DOP = 1 << 8
}
 
enum  HAPI_NodeFlags {
  HAPI_NODEFLAGS_ANY = -1, HAPI_NODEFLAGS_NONE = 0, HAPI_NODEFLAGS_DISPLAY = 1 << 0, HAPI_NODEFLAGS_RENDER = 1 << 1,
  HAPI_NODEFLAGS_TEMPLATED = 1 << 2, HAPI_NODEFLAGS_LOCKED = 1 << 3, HAPI_NODEFLAGS_EDITABLE = 1 << 4, HAPI_NODEFLAGS_BYPASS = 1 << 5,
  HAPI_NODEFLAGS_NETWORK = 1 << 6, HAPI_NODEFLAGS_OBJ_GEOMETRY = 1 << 7, HAPI_NODEFLAGS_OBJ_CAMERA = 1 << 8, HAPI_NODEFLAGS_OBJ_LIGHT = 1 << 9,
  HAPI_NODEFLAGS_OBJ_SUBNET = 1 << 10, HAPI_NODEFLAGS_SOP_CURVE = 1 << 11
}
 
enum  HAPI_GroupType { HAPI_GROUPTYPE_INVALID = -1, HAPI_GROUPTYPE_POINT, HAPI_GROUPTYPE_PRIM, HAPI_GROUPTYPE_MAX }
 
enum  HAPI_AttributeOwner {
  HAPI_ATTROWNER_INVALID = -1, HAPI_ATTROWNER_VERTEX, HAPI_ATTROWNER_POINT, HAPI_ATTROWNER_PRIM,
  HAPI_ATTROWNER_DETAIL, HAPI_ATTROWNER_MAX
}
 
enum  HAPI_CurveType {
  HAPI_CURVETYPE_INVALID = -1, HAPI_CURVETYPE_LINEAR, HAPI_CURVETYPE_NURBS, HAPI_CURVETYPE_BEZIER,
  HAPI_CURVETYPE_MAX
}
 
enum  HAPI_VolumeType { HAPI_VOLUMETYPE_INVALID = -1, HAPI_VOLUMETYPE_HOUDINI, HAPI_VOLUMETYPE_VDB, HAPI_VOLUMETYPE_MAX }
 
enum  HAPI_StorageType {
  HAPI_STORAGETYPE_INVALID = -1, HAPI_STORAGETYPE_INT, HAPI_STORAGETYPE_INT64, HAPI_STORAGETYPE_FLOAT,
  HAPI_STORAGETYPE_FLOAT64, HAPI_STORAGETYPE_STRING, HAPI_STORAGETYPE_MAX
}
 
enum  HAPI_GeoType {
  HAPI_GEOTYPE_INVALID = -1, HAPI_GEOTYPE_DEFAULT, HAPI_GEOTYPE_INTERMEDIATE, HAPI_GEOTYPE_INPUT,
  HAPI_GEOTYPE_CURVE, HAPI_GEOTYPE_MAX
}
 
enum  HAPI_PartType {
  HAPI_PARTTYPE_INVALID = -1, HAPI_PARTTYPE_MESH, HAPI_PARTTYPE_CURVE, HAPI_PARTTYPE_VOLUME,
  HAPI_PARTTYPE_INSTANCER, HAPI_PARTTYPE_BOX, HAPI_PARTTYPE_SPHERE, HAPI_PARTTYPE_MAX
}
 
enum  HAPI_InputType { HAPI_INPUT_INVALID = -1, HAPI_INPUT_TRANSFORM, HAPI_INPUT_GEOMETRY, HAPI_INPUT_MAX }
 
enum  HAPI_CurveOrders {
  HAPI_CURVE_ORDER_VARYING = 0, HAPI_CURVE_ORDER_INVALID = 1, HAPI_CURVE_ORDER_LINEAR = 2, HAPI_CURVE_ORDER_QUADRATIC = 3,
  HAPI_CURVE_ORDER_CUBIC = 4
}
 
enum  HAPI_TransformComponent {
  HAPI_TRANSFORM_TX = 0, HAPI_TRANSFORM_TY, HAPI_TRANSFORM_TZ, HAPI_TRANSFORM_RX,
  HAPI_TRANSFORM_RY, HAPI_TRANSFORM_RZ, HAPI_TRANSFORM_QX, HAPI_TRANSFORM_QY,
  HAPI_TRANSFORM_QZ, HAPI_TRANSFORM_QW, HAPI_TRANSFORM_SX, HAPI_TRANSFORM_SY,
  HAPI_TRANSFORM_SZ
}
 
enum  HAPI_RSTOrder {
  HAPI_TRS = 0, HAPI_TSR, HAPI_RTS, HAPI_RST,
  HAPI_STR, HAPI_SRT, HAPI_RSTORDER_DEFAULT = HAPI_SRT
}
 
enum  HAPI_XYZOrder {
  HAPI_XYZ = 0, HAPI_XZY, HAPI_YXZ, HAPI_YZX,
  HAPI_ZXY, HAPI_ZYX, HAPI_XYZORDER_DEFAULT = HAPI_XYZ
}
 
enum  HAPI_ImageDataFormat {
  HAPI_IMAGE_DATA_UNKNOWN = -1, HAPI_IMAGE_DATA_INT8, HAPI_IMAGE_DATA_INT16, HAPI_IMAGE_DATA_INT32,
  HAPI_IMAGE_DATA_FLOAT16, HAPI_IMAGE_DATA_FLOAT32, HAPI_IMAGE_DATA_MAX, HAPI_IMAGE_DATA_DEFAULT = HAPI_IMAGE_DATA_INT8
}
 
enum  HAPI_ImagePacking {
  HAPI_IMAGE_PACKING_UNKNOWN = -1, HAPI_IMAGE_PACKING_SINGLE, HAPI_IMAGE_PACKING_DUAL, HAPI_IMAGE_PACKING_RGB,
  HAPI_IMAGE_PACKING_BGR, HAPI_IMAGE_PACKING_RGBA, HAPI_IMAGE_PACKING_ABGR, HAPI_IMAGE_PACKING_MAX,
  HAPI_IMAGE_PACKING_DEFAULT3 = HAPI_IMAGE_PACKING_RGB, HAPI_IMAGE_PACKING_DEFAULT4 = HAPI_IMAGE_PACKING_RGBA
}
 
enum  HAPI_EnvIntType {
  HAPI_ENVINT_INVALID = -1, HAPI_ENVINT_VERSION_HOUDINI_MAJOR = 100, HAPI_ENVINT_VERSION_HOUDINI_MINOR = 110, HAPI_ENVINT_VERSION_HOUDINI_BUILD = 120,
  HAPI_ENVINT_VERSION_HOUDINI_PATCH = 130, HAPI_ENVINT_VERSION_HOUDINI_ENGINE_MAJOR = 200, HAPI_ENVINT_VERSION_HOUDINI_ENGINE_MINOR = 210, HAPI_ENVINT_VERSION_HOUDINI_ENGINE_API = 220,
  HAPI_ENVINT_MAX
}
 
enum  HAPI_SessionEnvIntType { HAPI_SESSIONENVINT_INVALID = -1, HAPI_SESSIONENVINT_LICENSE = 100, HAPI_SESSIONENVINT_MAX }
 
enum  HAPI_CacheProperty {
  HAPI_CACHEPROP_CURRENT, HAPI_CACHEPROP_HAS_MIN, HAPI_CACHEPROP_MIN, HAPI_CACHEPROP_HAS_MAX,
  HAPI_CACHEPROP_MAX, HAPI_CACHEPROP_CULL_LEVEL
}
 [HAPI_CacheProperty] More...
 

Functions

 HAPI_STATIC_ASSERT (sizeof(HAPI_Int64)==8, unsupported_size_of_long)
 

Macro Definition Documentation

#define HAPI_ATTRIB_COLOR   "Cd"

Common Default Attributes' Names

Definition at line 47 of file HAPI_Common.h.

#define HAPI_ATTRIB_INSTANCE   "instance"

Common Default Attributes' Names

Definition at line 49 of file HAPI_Common.h.

#define HAPI_ATTRIB_NAME   "name"

Common Default Attributes' Names

Definition at line 48 of file HAPI_Common.h.

#define HAPI_ATTRIB_NORMAL   "N"

Common Default Attributes' Names

Definition at line 44 of file HAPI_Common.h.

#define HAPI_ATTRIB_POSITION   "P"

Common Default Attributes' Names

Definition at line 41 of file HAPI_Common.h.

#define HAPI_ATTRIB_TANGENT   "tangentu"

Common Default Attributes' Names

Definition at line 45 of file HAPI_Common.h.

#define HAPI_ATTRIB_TANGENT2   "tangentv"

Common Default Attributes' Names

Definition at line 46 of file HAPI_Common.h.

#define HAPI_ATTRIB_UV   "uv"

Common Default Attributes' Names

Definition at line 42 of file HAPI_Common.h.

#define HAPI_ATTRIB_UV2   "uv2"

Common Default Attributes' Names

Definition at line 43 of file HAPI_Common.h.

#define HAPI_BMP_FORMAT_NAME   "Bitmap"

Common image file format names (to use with the material extract APIs). Note that you may still want to check if they are supported via HAPI_GetSupportedImageFileFormats() since all formats are loaded dynamically by Houdini on-demand so just because these formats are defined here doesn't mean they are supported in your instance.

Definition at line 68 of file HAPI_Common.h.

#define HAPI_C_ENUM_TYPEDEF (   enum_name)    typedef enum enum_name enum_name;

[HAPI_CACHE]

Definition at line 105 of file HAPI_Common.h.

#define HAPI_C_STRUCT_TYPEDEF (   struct_name)    typedef struct struct_name struct_name;

Definition at line 107 of file HAPI_Common.h.

#define HAPI_CACHE_COP_COOK   "COP Cook Cache"

[HAPI_CACHE] Common cache names. You can see these same cache names in the Cache Manager window in Houdini (Windows > Cache Manager).

Definition at line 89 of file HAPI_Common.h.

#define HAPI_CACHE_COP_FLIPBOOK   "COP Flipbook Cache"

Definition at line 90 of file HAPI_Common.h.

#define HAPI_CACHE_GL_TEXTURE   "OpenGL Texture Cache"

Definition at line 93 of file HAPI_Common.h.

#define HAPI_CACHE_GL_VERTEX   "OpenGL Vertex Cache"

Definition at line 94 of file HAPI_Common.h.

#define HAPI_CACHE_IMAGE   "Image Cache"

Definition at line 91 of file HAPI_Common.h.

#define HAPI_CACHE_OBJ   "Object Transform Cache"

Definition at line 92 of file HAPI_Common.h.

#define HAPI_CACHE_SOP   "SOP Cache"

Definition at line 95 of file HAPI_Common.h.

#define HAPI_CACHE_VEX   "VEX File Cache"

Definition at line 96 of file HAPI_Common.h.

#define HAPI_COLOR_VECTOR_SIZE   4

Definition at line 31 of file HAPI_Common.h.

#define HAPI_CV_VECTOR_SIZE   4

Definition at line 32 of file HAPI_Common.h.

#define HAPI_DEFAULT_IMAGE_FORMAT_NAME   HAPI_PNG_FORMAT_NAME

Default image file format's name - used when the image generated and has no "original" file format and the user does not specify a format to convert to.

Definition at line 76 of file HAPI_Common.h.

#define HAPI_ENV_CLIENT_NAME   "HAPI_CLIENT_NAME"

Definition at line 84 of file HAPI_Common.h.

#define HAPI_ENV_HIP   "HIP"

Environment variables.

Definition at line 82 of file HAPI_Common.h.

#define HAPI_ENV_JOB   "JOB"

Definition at line 83 of file HAPI_Common.h.

#define HAPI_EULER_VECTOR_SIZE   3

Definition at line 29 of file HAPI_Common.h.

#define HAPI_GLOBAL_NODES_NODE_NAME   "GlobalNodes"

Name of subnet OBJ node containing the global nodes.

Definition at line 79 of file HAPI_Common.h.

#define HAPI_INVALID_PARM_ID   -1

Definition at line 37 of file HAPI_Common.h.

#define HAPI_JPEG_FORMAT_NAME   "JPEG"

Common image file format names (to use with the material extract APIs). Note that you may still want to check if they are supported via HAPI_GetSupportedImageFileFormats() since all formats are loaded dynamically by Houdini on-demand so just because these formats are defined here doesn't mean they are supported in your instance.

Definition at line 67 of file HAPI_Common.h.

#define HAPI_NORMAL_VECTOR_SIZE   3

Definition at line 27 of file HAPI_Common.h.

#define HAPI_PNG_FORMAT_NAME   "PNG"

Common image file format names (to use with the material extract APIs). Note that you may still want to check if they are supported via HAPI_GetSupportedImageFileFormats() since all formats are loaded dynamically by Houdini on-demand so just because these formats are defined here doesn't mean they are supported in your instance.

Definition at line 66 of file HAPI_Common.h.

#define HAPI_POSITION_VECTOR_SIZE   3

Definition at line 24 of file HAPI_Common.h.

#define HAPI_PRIM_MAX_VERTEX_COUNT   16

Definition at line 35 of file HAPI_Common.h.

#define HAPI_PRIM_MIN_VERTEX_COUNT   1

Definition at line 34 of file HAPI_Common.h.

#define HAPI_QUATERNION_VECTOR_SIZE   4

Definition at line 28 of file HAPI_Common.h.

#define HAPI_RAW_FORMAT_NAME   "HAPI_RAW"

Common image file format names (to use with the material extract APIs). Note that you may still want to check if they are supported via HAPI_GetSupportedImageFileFormats() since all formats are loaded dynamically by Houdini on-demand so just because these formats are defined here doesn't mean they are supported in your instance.

Definition at line 65 of file HAPI_Common.h.

#define HAPI_SCALE_VECTOR_SIZE   3

Definition at line 25 of file HAPI_Common.h.

#define HAPI_SHEAR_VECTOR_SIZE   3

Definition at line 26 of file HAPI_Common.h.

#define HAPI_TGA_FORMAT_NAME   "Targa"

Common image file format names (to use with the material extract APIs). Note that you may still want to check if they are supported via HAPI_GetSupportedImageFileFormats() since all formats are loaded dynamically by Houdini on-demand so just because these formats are defined here doesn't mean they are supported in your instance.

Definition at line 70 of file HAPI_Common.h.

#define HAPI_TIFF_FORMAT_NAME   "TIFF"

Common image file format names (to use with the material extract APIs). Note that you may still want to check if they are supported via HAPI_GetSupportedImageFileFormats() since all formats are loaded dynamically by Houdini on-demand so just because these formats are defined here doesn't mean they are supported in your instance.

Definition at line 69 of file HAPI_Common.h.

#define HAPI_UNGROUPED_GROUP_NAME   "__ungrouped_group"

This is the name of the primitive group created from all the primitives that are not in any user-defined group. This way, when you put all the groups together you cover the entire mesh. This is important for some clients where the mesh has to be defined in terms of submeshes that cover the entire original mesh.

Definition at line 57 of file HAPI_Common.h.

#define HAPI_UV_VECTOR_SIZE   2

Definition at line 30 of file HAPI_Common.h.

Typedef Documentation

typedef int HAPI_AssetLibraryId

Definition at line 139 of file HAPI_Common.h.

typedef char HAPI_Bool

Definition at line 118 of file HAPI_Common.h.

typedef int HAPI_ErrorCodeBits

Definition at line 231 of file HAPI_Common.h.

typedef long long HAPI_Int64

Definition at line 122 of file HAPI_Common.h.

typedef int HAPI_NodeFlagsBits

Definition at line 406 of file HAPI_Common.h.

typedef int HAPI_NodeId

See Nodes Basics.

Definition at line 142 of file HAPI_Common.h.

typedef int HAPI_NodeTypeBits

Definition at line 379 of file HAPI_Common.h.

typedef int HAPI_ParmId

Either get this from the HAPI_ParmInfo or HAPI_GetParmIdFromName(). See Parameters.

Definition at line 146 of file HAPI_Common.h.

typedef int HAPI_PartId

Use this with HAPI_GetPartInfo(). See Parts.

Definition at line 150 of file HAPI_Common.h.

typedef int HAPI_ProcessId

Definition at line 129 of file HAPI_Common.h.

Has to be 64-bit.

Definition at line 133 of file HAPI_Common.h.

typedef int HAPI_StringHandle

Use this with HAPI_GetString() to get the value. See Strings.

Definition at line 137 of file HAPI_Common.h.

Enumeration Type Documentation

Enumerator
HAPI_ATTROWNER_INVALID 
HAPI_ATTROWNER_VERTEX 
HAPI_ATTROWNER_POINT 
HAPI_ATTROWNER_PRIM 
HAPI_ATTROWNER_DETAIL 
HAPI_ATTROWNER_MAX 

Definition at line 417 of file HAPI_Common.h.

[HAPI_CacheProperty]

Enumerator
HAPI_CACHEPROP_CURRENT 

Current memory usage in MB. Setting this to 0 invokes a cache clear.

HAPI_CACHEPROP_HAS_MIN 

True if it actually has a minimum size.

HAPI_CACHEPROP_MIN 

Min cache memory limit in MB.

HAPI_CACHEPROP_HAS_MAX 

True if it actually has a maximum size.

HAPI_CACHEPROP_MAX 

Max cache memory limit in MB.

HAPI_CACHEPROP_CULL_LEVEL 

How aggressive to cull memory. This only works for:

  • HAPI_CACHE_COP_COOK where: 0 -> Never reduce inactive cache. 1 -> Always reduce inactive cache.
  • HAPI_CACHE_OBJ where: 0 -> Never enforce the max memory limit. 1 -> Always enforce the max memory limit.
  • HAPI_CACHE_SOP where: 0 -> When to Unload = Never When to Limit Max Memory = Never 1-2 -> When to Unload = Based on Flag When to Limit Max Memory = Never 3-4 -> When to Unload = Based on Flag When to Limit Max Memory = Always 5 -> When to Unload = Always When to Limit Max Memory = Always

Definition at line 640 of file HAPI_Common.h.

Enumerator
HAPI_CHOICELISTTYPE_NONE 

Parameter is not a menu.

HAPI_CHOICELISTTYPE_NORMAL 

Menu Only, Single Selection.

HAPI_CHOICELISTTYPE_MINI 

Mini Menu Only, Single Selection.

HAPI_CHOICELISTTYPE_REPLACE 

Field + Single Selection Menu.

HAPI_CHOICELISTTYPE_TOGGLE 

Field + Multiple Selection Menu.

Definition at line 345 of file HAPI_Common.h.

Enumerator
HAPI_CURVE_ORDER_VARYING 
HAPI_CURVE_ORDER_INVALID 
HAPI_CURVE_ORDER_LINEAR 
HAPI_CURVE_ORDER_QUADRATIC 
HAPI_CURVE_ORDER_CUBIC 

Definition at line 505 of file HAPI_Common.h.

Enumerator
HAPI_CURVETYPE_INVALID 
HAPI_CURVETYPE_LINEAR 
HAPI_CURVETYPE_NURBS 
HAPI_CURVETYPE_BEZIER 
HAPI_CURVETYPE_MAX 

Definition at line 428 of file HAPI_Common.h.

This enum is to be used with HAPI_GetEnvInt() to retrieve basic information about the HAPI implementation currently being linked against. Note that as of HAPI version 2.0, these enum values are guaranteed never to change so you can reliably get this information from any post-2.0 version of HAPI. The same goes for the actual HAPI_GetEnvInt() API call.

Enumerator
HAPI_ENVINT_INVALID 
HAPI_ENVINT_VERSION_HOUDINI_MAJOR 

The three components of the Houdini version that HAPI is expecting to link against.

HAPI_ENVINT_VERSION_HOUDINI_MINOR 

The three components of the Houdini version that HAPI is expecting to link against.

HAPI_ENVINT_VERSION_HOUDINI_BUILD 

The three components of the Houdini version that HAPI is expecting to link against.

HAPI_ENVINT_VERSION_HOUDINI_PATCH 

The three components of the Houdini version that HAPI is expecting to link against.

HAPI_ENVINT_VERSION_HOUDINI_ENGINE_MAJOR 

The two components of the Houdini Engine (marketed) version.

HAPI_ENVINT_VERSION_HOUDINI_ENGINE_MINOR 

The two components of the Houdini Engine (marketed) version.

HAPI_ENVINT_VERSION_HOUDINI_ENGINE_API 

This is a monotonously increasing API version number that can be used to lock against a certain API for compatibility purposes. Basically, when this number changes code compiled against the HAPI.h methods might no longer compile. Semantic changes to the methods will also cause this version to increase. This number will be reset to 0 every time the Houdini Engine version is bumped.

HAPI_ENVINT_MAX 

Definition at line 595 of file HAPI_Common.h.

Enumerator
HAPI_ERRORCODE_ASSET_DEF_NOT_FOUND 
HAPI_ERRORCODE_PYTHON_NODE_ERROR 

Definition at line 225 of file HAPI_Common.h.

Enumerator
HAPI_GEOTYPE_INVALID 
HAPI_GEOTYPE_DEFAULT 

Most geos will be of this type which essentially means a geo not of the other types.

HAPI_GEOTYPE_INTERMEDIATE 

An exposed edit node. See Intermediate Asset Results.

HAPI_GEOTYPE_INPUT 

An input geo that can accept geometry from the host. See Marshalling Geometry Into Houdini.

HAPI_GEOTYPE_CURVE 

A curve. See Curves.

HAPI_GEOTYPE_MAX 

Definition at line 459 of file HAPI_Common.h.

Enumerator
HAPI_GROUPTYPE_INVALID 
HAPI_GROUPTYPE_POINT 
HAPI_GROUPTYPE_PRIM 
HAPI_GROUPTYPE_MAX 

Definition at line 408 of file HAPI_Common.h.

Enumerator
HAPI_IMAGE_DATA_UNKNOWN 
HAPI_IMAGE_DATA_INT8 
HAPI_IMAGE_DATA_INT16 
HAPI_IMAGE_DATA_INT32 
HAPI_IMAGE_DATA_FLOAT16 
HAPI_IMAGE_DATA_FLOAT32 
HAPI_IMAGE_DATA_MAX 
HAPI_IMAGE_DATA_DEFAULT 

Definition at line 559 of file HAPI_Common.h.

Enumerator
HAPI_IMAGE_PACKING_UNKNOWN 
HAPI_IMAGE_PACKING_SINGLE 

Single Channel.

HAPI_IMAGE_PACKING_DUAL 

Dual Channel.

HAPI_IMAGE_PACKING_RGB 

RGB.

HAPI_IMAGE_PACKING_BGR 

RGB Reversed.

HAPI_IMAGE_PACKING_RGBA 

RGBA.

HAPI_IMAGE_PACKING_ABGR 

RGBA Reversed.

HAPI_IMAGE_PACKING_MAX 
HAPI_IMAGE_PACKING_DEFAULT3 
HAPI_IMAGE_PACKING_DEFAULT4 

Definition at line 573 of file HAPI_Common.h.

Enumerator
HAPI_INPUT_INVALID 
HAPI_INPUT_TRANSFORM 
HAPI_INPUT_GEOMETRY 
HAPI_INPUT_MAX 

Definition at line 496 of file HAPI_Common.h.

Enumerator
HAPI_LICENSE_NONE 
HAPI_LICENSE_HOUDINI_ENGINE 
HAPI_LICENSE_HOUDINI 
HAPI_LICENSE_HOUDINI_FX 
HAPI_LICENSE_HOUDINI_ENGINE_INDIE 
HAPI_LICENSE_HOUDINI_INDIE 
HAPI_LICENSE_MAX 

Definition at line 155 of file HAPI_Common.h.

Flags used to filter compositions of node lists. Flags marked 'Recursive Flag' will exclude children whos parent does not satisfy the flag, even if the children themselves satisfy the flag.

Enumerator
HAPI_NODEFLAGS_ANY 
HAPI_NODEFLAGS_NONE 
HAPI_NODEFLAGS_DISPLAY 

Recursive Flag.

HAPI_NODEFLAGS_RENDER 

Recursive Flag.

HAPI_NODEFLAGS_TEMPLATED 
HAPI_NODEFLAGS_LOCKED 
HAPI_NODEFLAGS_EDITABLE 
HAPI_NODEFLAGS_BYPASS 
HAPI_NODEFLAGS_NETWORK 
HAPI_NODEFLAGS_OBJ_GEOMETRY 

OBJ Node Specific Flags.

HAPI_NODEFLAGS_OBJ_CAMERA 
HAPI_NODEFLAGS_OBJ_LIGHT 
HAPI_NODEFLAGS_OBJ_SUBNET 
HAPI_NODEFLAGS_SOP_CURVE 

SOP Node Specific Flags.

Looks for "curve".

Definition at line 384 of file HAPI_Common.h.

Enumerator
HAPI_NODETYPE_ANY 
HAPI_NODETYPE_NONE 
HAPI_NODETYPE_OBJ 
HAPI_NODETYPE_SOP 
HAPI_NODETYPE_POP 
HAPI_NODETYPE_CHOP 
HAPI_NODETYPE_ROP 
HAPI_NODETYPE_SHOP 
HAPI_NODETYPE_COP 
HAPI_NODETYPE_VOP 
HAPI_NODETYPE_DOP 

Definition at line 364 of file HAPI_Common.h.

Enumerator
HAPI_PACKEDPRIM_INSTANCING_MODE_INVALID 
HAPI_PACKEDPRIM_INSTANCING_MODE_DISABLED 
HAPI_PACKEDPRIM_INSTANCING_MODE_HIERARCHY 
HAPI_PACKEDPRIM_INSTANCING_MODE_FLAT 
HAPI_PACKEDPRIM_INSTANCING_MODE_MAX 

Definition at line 259 of file HAPI_Common.h.

As you can see, some of these high level types share the same underlying raw data type. For instance, both string and file parameter types can be represented with strings, yet semantically they are different. We will group high level parameter types that share an underlying raw data type together, so you can always check the raw data type of a parameter based on its high level data type by checking a range of values.

Enumerator
HAPI_PARMTYPE_INT 
HAPI_PARMTYPE_MULTIPARMLIST 
HAPI_PARMTYPE_TOGGLE 
HAPI_PARMTYPE_BUTTON 
HAPI_PARMTYPE_FLOAT 
HAPI_PARMTYPE_COLOR 
HAPI_PARMTYPE_STRING 
HAPI_PARMTYPE_PATH_FILE 
HAPI_PARMTYPE_PATH_FILE_GEO 
HAPI_PARMTYPE_PATH_FILE_IMAGE 
HAPI_PARMTYPE_NODE 
HAPI_PARMTYPE_FOLDERLIST 
HAPI_PARMTYPE_FOLDERLIST_RADIO 
HAPI_PARMTYPE_FOLDER 
HAPI_PARMTYPE_LABEL 
HAPI_PARMTYPE_SEPARATOR 
HAPI_PARMTYPE_MAX 

Total number of supported parameter types.

HAPI_PARMTYPE_INT_START 
HAPI_PARMTYPE_INT_END 
HAPI_PARMTYPE_FLOAT_START 
HAPI_PARMTYPE_FLOAT_END 
HAPI_PARMTYPE_STRING_START 
HAPI_PARMTYPE_STRING_END 
HAPI_PARMTYPE_PATH_START 
HAPI_PARMTYPE_PATH_END 
HAPI_PARMTYPE_NODE_START 
HAPI_PARMTYPE_NODE_END 
HAPI_PARMTYPE_CONTAINER_START 
HAPI_PARMTYPE_CONTAINER_END 
HAPI_PARMTYPE_NONVALUE_START 
HAPI_PARMTYPE_NONVALUE_END 

Definition at line 294 of file HAPI_Common.h.

Enumerator
HAPI_PARTTYPE_INVALID 
HAPI_PARTTYPE_MESH 
HAPI_PARTTYPE_CURVE 
HAPI_PARTTYPE_VOLUME 
HAPI_PARTTYPE_INSTANCER 
HAPI_PARTTYPE_BOX 
HAPI_PARTTYPE_SPHERE 
HAPI_PARTTYPE_MAX 

Definition at line 483 of file HAPI_Common.h.

Enumerator
HAPI_PERMISSIONS_NON_APPLICABLE 
HAPI_PERMISSIONS_READ_WRITE 
HAPI_PERMISSIONS_READ_ONLY 
HAPI_PERMISSIONS_WRITE_ONLY 
HAPI_PERMISSIONS_MAX 

Definition at line 269 of file HAPI_Common.h.

Enumerator
HAPI_PRESETTYPE_INVALID 
HAPI_PRESETTYPE_BINARY 

Just the presets binary blob.

HAPI_PRESETTYPE_IDX 

Presets blob within an .idx file format.

HAPI_PRESETTYPE_MAX 

Definition at line 355 of file HAPI_Common.h.

Enumerator
HAPI_RAMPTYPE_INVALID 
HAPI_RAMPTYPE_FLOAT 
HAPI_RAMPTYPE_COLOR 
HAPI_RAMPTYPE_MAX 

Definition at line 279 of file HAPI_Common.h.

Enumerator
HAPI_RESULT_SUCCESS 
HAPI_RESULT_FAILURE 
HAPI_RESULT_ALREADY_INITIALIZED 
HAPI_RESULT_NOT_INITIALIZED 
HAPI_RESULT_CANT_LOADFILE 
HAPI_RESULT_PARM_SET_FAILED 
HAPI_RESULT_INVALID_ARGUMENT 
HAPI_RESULT_CANT_LOAD_GEO 
HAPI_RESULT_CANT_GENERATE_PRESET 
HAPI_RESULT_CANT_LOAD_PRESET 
HAPI_RESULT_ASSET_DEF_ALREADY_LOADED 
HAPI_RESULT_NO_LICENSE_FOUND 
HAPI_RESULT_DISALLOWED_NC_LICENSE_FOUND 
HAPI_RESULT_DISALLOWED_NC_ASSET_WITH_C_LICENSE 
HAPI_RESULT_DISALLOWED_NC_ASSET_WITH_LC_LICENSE 
HAPI_RESULT_DISALLOWED_LC_ASSET_WITH_C_LICENSE 
HAPI_RESULT_DISALLOWED_HENGINEINDIE_W_3PARTY_PLUGIN 
HAPI_RESULT_ASSET_INVALID 
HAPI_RESULT_NODE_INVALID 
HAPI_RESULT_USER_INTERRUPTED 
HAPI_RESULT_INVALID_SESSION 

Definition at line 195 of file HAPI_Common.h.

Enumerator
HAPI_TRS 
HAPI_TSR 
HAPI_RTS 
HAPI_RST 
HAPI_STR 
HAPI_SRT 
HAPI_RSTORDER_DEFAULT 

Definition at line 533 of file HAPI_Common.h.

This enum is to be used with HAPI_GetSessionEnvInt() to retrieve basic session-specific information.

Enumerator
HAPI_SESSIONENVINT_INVALID 
HAPI_SESSIONENVINT_LICENSE 

License Type. See HAPI_License.

HAPI_SESSIONENVINT_MAX 

Definition at line 628 of file HAPI_Common.h.

Enumerator
HAPI_SESSION_INPROCESS 
HAPI_SESSION_THRIFT 
HAPI_SESSION_CUSTOM1 
HAPI_SESSION_CUSTOM2 
HAPI_SESSION_CUSTOM3 
HAPI_SESSION_MAX 

Definition at line 233 of file HAPI_Common.h.

enum HAPI_State
Enumerator
HAPI_STATE_READY 

Everything cook successfully without errors.

HAPI_STATE_READY_WITH_FATAL_ERRORS 

You should abort the cook.

HAPI_STATE_READY_WITH_COOK_ERRORS 

Only some objects failed.

HAPI_STATE_STARTING_COOK 
HAPI_STATE_COOKING 
HAPI_STATE_STARTING_LOAD 
HAPI_STATE_LOADING 
HAPI_STATE_MAX 
HAPI_STATE_MAX_READY_STATE 

Definition at line 244 of file HAPI_Common.h.

Enumerator
HAPI_STATUS_CALL_RESULT 
HAPI_STATUS_COOK_RESULT 
HAPI_STATUS_COOK_STATE 
HAPI_STATUS_MAX 

Definition at line 167 of file HAPI_Common.h.

Enumerator
HAPI_STATUSVERBOSITY_0 
HAPI_STATUSVERBOSITY_1 
HAPI_STATUSVERBOSITY_2 
HAPI_STATUSVERBOSITY_ALL 

Equivalent to HAPI_STATUSVERBOSITY_2.

HAPI_STATUSVERBOSITY_ERRORS 

Equivalent to HAPI_STATUSVERBOSITY_0.

HAPI_STATUSVERBOSITY_WARNINGS 

Equivalent to HAPI_STATUSVERBOSITY_1.

HAPI_STATUSVERBOSITY_MESSAGES 

Equivalent to HAPI_STATUSVERBOSITY_2.

Definition at line 176 of file HAPI_Common.h.

Enumerator
HAPI_STORAGETYPE_INVALID 
HAPI_STORAGETYPE_INT 
HAPI_STORAGETYPE_INT64 
HAPI_STORAGETYPE_FLOAT 
HAPI_STORAGETYPE_FLOAT64 
HAPI_STORAGETYPE_STRING 
HAPI_STORAGETYPE_MAX 

Definition at line 447 of file HAPI_Common.h.

Enumerator
HAPI_TRANSFORM_TX 
HAPI_TRANSFORM_TY 
HAPI_TRANSFORM_TZ 
HAPI_TRANSFORM_RX 
HAPI_TRANSFORM_RY 
HAPI_TRANSFORM_RZ 
HAPI_TRANSFORM_QX 
HAPI_TRANSFORM_QY 
HAPI_TRANSFORM_QZ 
HAPI_TRANSFORM_QW 
HAPI_TRANSFORM_SX 
HAPI_TRANSFORM_SY 
HAPI_TRANSFORM_SZ 

Definition at line 515 of file HAPI_Common.h.

Enumerator
HAPI_VOLUMETYPE_INVALID 
HAPI_VOLUMETYPE_HOUDINI 
HAPI_VOLUMETYPE_VDB 
HAPI_VOLUMETYPE_MAX 

Definition at line 438 of file HAPI_Common.h.

Enumerator
HAPI_XYZ 
HAPI_XZY 
HAPI_YXZ 
HAPI_YZX 
HAPI_ZXY 
HAPI_ZYX 
HAPI_XYZORDER_DEFAULT 

Definition at line 546 of file HAPI_Common.h.

Function Documentation

HAPI_STATIC_ASSERT ( sizeof(HAPI_Int64 = =8,
unsupported_size_of_long   
)