18 #ifndef __HUSD_Utils_h__
19 #define __HUSD_Utils_h__
82 #define HUSD_OVERRIDES_NUM_LAYERS 6
270 bool skip_point_instancers,
339 HUSD_API std::pair<UT_StringHolder, UT_StringHolder>
377 bool include_bound_materials =
true,
378 bool use_shader_for_mat_with_no_inputs =
true);
HUSD_API bool HUSDmakeValidVariantName(UT_String &name, bool allowexprs, bool addwarnings)
HUSD_API void HUSDgetMinimalPathsForInheritableProperty(bool skip_point_instancers, const HUSD_AutoAnyLock &lock, HUSD_PathSet &paths)
HUSD_API bool HUSDmakeValidDefaultPrim(UT_String &default_prim, bool addwarnings)
HUSD_API UT_StringHolder HUSDmakePropertyPath(const UT_StringRef &prim_path, const UT_StringRef &property_name)
HUSD_RenderKey(int pick_id=-1, int inst_id=-1)
HUSD_LockedStagePtr(* HUSD_LopStageResolver)(const UT_StringRef &path)
HUSD_API void HUSDinitialize()
HUSD_API UT_StringHolder HUSDgetValidUsdPath(OP_Node &node)
HUSD_API bool HUSDisValidUsdName(const UT_StringRef &name)
Returns true if name is a valid identifier (ie, valid component of a path).
GLsizei const GLchar *const * path
HUSD_API bool HUSDsetParmFromProperty(HUSD_AutoAnyLock &lock, const UT_StringRef &primpath, const UT_StringRef &attribname, const HUSD_TimeCode &tc, PRM_Parm &parm, HUSD_TimeSampling ×ampling)
Set a parameter value from the value of a USD property.
HUSD_API void HUSDsetLopStageResolver(HUSD_LopStageResolver resolver)
std::size_t SYS_HashType
Define the type for hash values.
HUSD_API bool HUSDmakeValidUsdPropertyName(UT_String &name, bool addwarnings)
HUSD_API bool HUSDmakeValidUsdPath(UT_String &path, bool addwarnings)
HUSD_API UT_StringHolder HUSDgetUsdName(const UT_StringRef &primpath)
HUSD_PrimTraversalDemands
HUSD_XformAxis
Enum of rotation axis.
UT_StringSet HUSD_InstanceSelection
HUSD_API UT_Lock & HUSDgetLayerReloadLock()
HUSD_API UT_StringHolder HUSDmakeCollectionPath(const UT_StringRef &prim_path, const UT_StringRef &collection_name)
HUSD_API UT_StringHolder HUSDgetUsdParentPath(const UT_StringRef &primpath)
HUSD_API bool HUSDmakeValidUsdName(UT_String &name, bool addwarnings)
HUSD_API UT_StringArray HUSDgetConnectedPrimsToBumpForHydra(const HUSD_AutoAnyLock &anylock, const UT_StringArray &modified_primpaths)
bool operator==(const HUSD_RenderKey &other) const
HUSD_API bool HUSDisValidCollectionPath(const UT_StringRef &path)
HUSD_API bool HUSDisXformAttribute(const UT_StringRef &attr, UT_StringHolder *xform_type=nullptr, UT_StringHolder *xform_name=nullptr)
Functions for obtaining transform name, suffix, and type.
HUSD_API UT_StringHolder HUSDmakeRelationshipPath(const UT_StringRef &prim_path, const UT_StringRef &relationship_name)
HUSD_API UT_StringHolder HUSDgetXformSuffix(const UT_StringRef &xform_fullname)
Functions for obtaining transform name, suffix, and type.
HUSD_API bool HUSDgetXformTypeAndSuffix(HUSD_XformType &xform_type, UT_StringHolder &xform_namesuffix, const UT_StringRef &xform_fullname)
Functions for obtaining transform name, suffix, and type.
size_t hash_value(const HUSD_RenderKey &key)
HUSD_API bool HUSDsplitCollectionPath(UT_StringHolder &prim_path, UT_StringHolder &collection_name, const UT_StringRef &collection_path)
HUSD_API HUSD_TimeCode HUSDgetEffectiveTimeCode(const HUSD_TimeCode &timecode, HUSD_TimeSampling time_sampling)
Returns the time code at which to author an attribute value.
HUSD_API bool HUSDisTimeVarying(HUSD_TimeSampling time_sampling)
Returns true if there are more than one time samples.
GLuint const GLchar * name
HUSD_API std::pair< UT_StringHolder, UT_StringHolder > HUSDsplitPropertyPath(const UT_StringRef &property_path)
Returns the prim path and the property name, given the property path.
std::function< T > UT_Function
HUSD_API bool HUSDmakeValidUsdPathOrDefaultPrim(UT_String &path, bool addwarnings)
HUSD_API bool HUSDpartitionShadePrims(const HUSD_AutoAnyLock &anylock, const HUSD_PathSet &primpaths, UT_StringArray &shadeprimpaths, UT_StringArray &geoprimpaths, bool include_bound_materials=true, bool use_shader_for_mat_with_no_inputs=true)
A map of string to various well defined value types.
HUSD_API UT_StringHolder HUSDmakeAttributePath(const UT_StringRef &prim_path, const UT_StringRef &attribute_name)
HUSD_API bool HUSDsplitLopStageIdentifier(const UT_StringRef &identifier, OP_Node *&lop, bool &split_layers, fpreal &t, UT_Options &opts)
UT_SharedPtr< HUSD_LockedStage > HUSD_LockedStagePtr
HUSD_API UT_StringHolder HUSDgetXformName(HUSD_XformType xform_type, const UT_StringRef &xform_namesuffix)
Functions for obtaining transform name, suffix, and type.
HUSD_XformAxisOrder
Enum of rotation order.
HUSD_API void HUSDmodifyAssetPaths(const UT_StringHolder &path, const UT_Function< UT_StringHolder(UT_StringHolder)> &modifyFn, const UT_StringHolder &dest)
HUSD_API UT_StringHolder HUSDgetPrimvarAttribName(const UT_StringRef &primvar)
Returns the attribute name of the given primvar.
HUSD_API bool HUSDapplyStripLayerResponse(HUSD_StripLayerResponse response)
HUSD_API HUSD_XformType HUSDgetXformType(const UT_StringRef &xform_fullname)
Functions for obtaining transform name, suffix, and type.
UT_Map< HUSD_RenderKey, UT_StringHolder > HUSD_RenderKeyPathMap
HUSD_API bool HUSDisTimeSampled(HUSD_TimeSampling time_sampling)
Returns true if there is at least one time sample.
HUSD_API UT_StringHolder HUSDgetPrimTypeAlias(const UT_StringRef &primtype)
HUSD_API bool HUSDmakeUniqueUsdPath(UT_String &path, const HUSD_AutoAnyLock &lock, const UT_StringRef &suffix=UT_StringRef())
HUSD_API bool HUSDbumpPrimsForHydra(const HUSD_AutoWriteLock &writelock, const UT_StringArray &bump_primpaths)
Bump metadata on a USD primitive to force a hydra update.
HUSD_API UT_StringHolder HUSDgetValidUsdName(OP_Node &node)
HUSD_API UT_StringHolder HUSDgetAttribTypeName(const PI_EditScriptedParm &p)
Returns the string name of the Usd Sdf type best suited for the parameter.