18 #ifndef __XUSD_Utils_h__
19 #define __XUSD_Utils_h__
68 int nodeid)
const = 0;
101 bool node_based_path,
228 bool *using_node_path =
nullptr);
244 bool savepath_is_time_dependent,
360 const SdfLayerHandle &layer,
370 const SdfLayerHandle &destlayer,
374 const fpreal frameoffset = 0,
375 const fpreal frameratescale = 1);
389 const std::map<std::string, std::string> &pathmap);
393 HUSD_API std::map<std::string, XUSD_ExternalRefType>
401 bool include_placeholders =
false);
407 const SdfLayerHandle &weakLayer,
413 const UsdStageRefPtr &dest,
416 bool force_notifiable_file_format,
417 bool set_layer_override_save_paths,
458 const SdfLayerHandle &
src);
465 const SdfLayerHandle &context_layer = SdfLayerHandle(),
499 const UsdStageRefPtr &compare_stage_root_prim = UsdStageRefPtr(),
500 bool ignore_sublayers =
false);
512 bool check_for_errors);
524 UsdStageRefPtr &stage);
574 bool skip_point_instancers,
575 const UsdStageRefPtr &stage,
583 const UsdStageRefPtr &stage,
603 bool test_base_xform =
false);
HUSD_API UsdTimeCode HUSDgetNonDefaultUsdTimeCode(const HUSD_TimeCode &timecode)
HUSD_API const SdfPath & HUSDgetHoudiniLayerInfoSdfPath()
HUSD_API UsdStageRefPtr HUSDcreateStageInMemory(UsdStage::InitialLoadSet load, const UsdStageWeakPtr &context_stage=UsdStageWeakPtr(), int resolver_context_nodeid=OP_INVALID_ITEM_ID, const ArResolverContext *resolver_context=nullptr)
HUSD_API void HUSDaddEditorNode(const SdfLayerHandle &layer, int node_id)
HUSD_API const TfToken & HUSDgetSoloLightPathsToken()
HUSD_API void HUSDupdateWorldTransformTimeSampling(HUSD_TimeSampling &sampling, const UsdPrim &prim)
HUSD_API void HUSDaddExternalReferencesToLayerMap(const SdfLayerRefPtr &layer, XUSD_IdentifierToReferenceInfoMap &referenceinfomap, bool recursive, bool include_placeholders=false)
HUSD_API void HUSDupdateValueTimeSampling(HUSD_TimeSampling &sampling, const UsdAttribute &attrib)
virtual UsdStageRefPtr createStage(UsdStage::InitialLoadSet loadset, int nodeid) const =0
HUSD_API void HUSDsetSaveControl(const SdfLayerHandle &layer, const UT_StringRef &savecontrol)
HUSD_API void HUSDclearPrimEditorNodeIds(const UsdPrim &prim)
HUSD_API bool HUSDvalueMightBeTimeVarying(const UsdAttribute &attrib)
#define SYS_VISIBILITY_EXPORT
HUSD_API void HUSDupdateTimeSampling(HUSD_TimeSampling &sampling, HUSD_TimeSampling new_sampling)
HUSD_API bool HUSDisLopLayer(const std::string &identifier)
HUSD_API UsdStageRefPtr HUSDcreateStageFromRootLayer(const SdfLayerRefPtr &rootlayer, const HUSD_LoadMasks *load_masks, const UsdStageWeakPtr &context_stage)
#define OP_INVALID_ITEM_ID
HUSD_API HUSD_LayerOffset HUSDgetLayerOffset(const SdfLayerOffset &layeroffset)
GLsizei const GLchar *const * string
UT_Map< std::string, SdfLayerRefPtr > XUSD_IdentifierToLayerMap
HUSD_API std::string HUSDgetLayerSaveLocation(const SdfLayerHandle &layer, bool *using_node_path=nullptr)
HUSD_API Usd_PrimFlagsPredicate HUSDgetUsdPrimPredicate(HUSD_PrimTraversalDemands demands)
HUSD_API bool HUSDgetNodePath(int nodeid, UT_StringHolder &nodepath)
HUSD_API SdfPath HUSDgetBestRefPrimPath(const UT_StringRef &reffilepath, const SdfFileFormat::FileFormatArguments &args, const UT_StringRef &refprimpath, UsdStageRefPtr &stage)
GLsizei const GLchar *const * path
HUSD_API void HUSDsetSoloLightPaths(const SdfLayerHandle &layer, const HUSD_PathSet &paths)
HUSD_API const TfToken & HUSDgetOverrideSavePathToken()
HUSD_API SdfLayerOffset HUSDgetSdfLayerOffset(const HUSD_LayerOffset &layeroffset)
HUSD_API bool HUSDisLayerEmpty(const SdfLayerHandle &layer, const UsdStageRefPtr &compare_stage_root_prim=UsdStageRefPtr(), bool ignore_sublayers=false)
HUSD_API SdfVariability HUSDgetSdfVariability(HUSD_Variability variability)
Class which writes ASCII or binary JSON streams.
HUSD_API HUSD_TimeSampling HUSDgetLocalTransformTimeSampling(const UsdPrim &pr, bool *resets=nullptr)
HUSD_API void HUSDclearEditorNodes(const SdfLayerHandle &layer)
HUSD_API HUSD_TimeCode HUSDgetEffectiveTimeCode(const HUSD_TimeCode &timecode, const UsdAttribute &attr)
HUSD_API void HUSDclearBestRefPathCache(const std::string &layeridentifier=std::string())
HUSD_API const TfToken & HUSDgetIsAutoCreatedShaderToken()
HUSD_API bool HUSDisSopLayer(const std::string &identifier)
HUSD_API void HUSDsetSavePath(const SdfLayerHandle &layer, const UT_StringRef &savepath, bool savepath_is_time_dependent, const UT_StringRef &overrides_savepath=UT_StringRef())
HUSD_API HUSD_TimeSampling HUSDgetWorldTransformTimeSampling(const UsdPrim &pr)
HUSD_PrimTraversalDemands
HUSD_API UsdListPosition HUSDgetUsdListPosition(const UT_StringRef &editopstr)
HUSD_API bool HUSDupdateExternalReferences(const SdfLayerHandle &layer, const std::map< std::string, std::string > &pathmap)
HUSD_API bool HUSDprimAndAllExistingAncestorsActive(const UsdStageWeakPtr &stage, const SdfPath &path)
UsdStagePtr UsdStageWeakPtr
HUSD_API bool HUSDgetSaveControl(const SdfLayerHandle &layer, std::string &savecontrol)
HUSD_API UsdStagePopulationMask HUSDgetUsdStagePopulationMask(const HUSD_LoadMasks &load_masks)
HUSD_TimeSampling HUSDgetBoundsTimeSampling(const UsdPrim &prim, bool world_space_bounds)
HUSD_API const std::string & HUSDgetStageRootLayerIdentifier()
HUSD_API std::map< std::string, XUSD_ExternalRefType > HUSDgetExternalReferences(const SdfLayerRefPtr &layer)
HUSD_API void HUSDsetSoloGeometryPaths(const SdfLayerHandle &layer, const HUSD_PathSet &paths)
GLenum GLuint GLint GLint layer
HUSD_API SdfLayerRefPtr HUSDcreateAnonymousLayer(const SdfLayerHandle &context_layer=SdfLayerHandle(), const std::string &tag=std::string())
HUSD_API void HUSDbumpPropertiesForHydra(const UsdAttributeVector &attrs)
HUSD_API bool HUSDgetSavePath(const SdfLayerHandle &layer, std::string &savepath)
HUSD_API SdfPrimSpecHandle HUSDgetLayerInfoPrim(const SdfLayerHandle &layer, bool create)
HUSD_API bool HUSDconvertDictionary(UT_Options &options, const VtDictionary &dict, const UT_StringMap< UT_StringHolder > *aliases=nullptr)
HUSD_API bool HUSDcopySpec(const SdfLayerHandle &srclayer, const SdfPath &srcpath, const SdfLayerHandle &destlayer, const SdfPath &destath, const SdfPath &srcroot=SdfPath(), const SdfPath &destroot=SdfPath(), const fpreal frameoffset=0, const fpreal frameratescale=1)
HUSD_API bool HUSDisPrimHiddenInUi(const UsdPrim &prim)
UT_Map< std::string, XUSD_SavePathInfo > XUSD_IdentifierToSavePathMap
HUSD_API void HUSDaddVolumeLockedGeos(XUSD_Data &outdata, const SdfLayerRefPtr &layer)
HUSD_API const TfToken & HUSDgetSavePathToken()
UT_StringHolder myFinalPath
HUSD_API bool HUSDgetCreatorNode(const SdfLayerHandle &layer, std::string &nodepath)
HUSD_API const TfToken & HUSDgetPrimEditorNodesToken()
HUSD_API bool HUSDisStageVariableExpression(const UT_StringRef &expr, bool check_for_errors)
std::function< std::string(const std::string &assetPath)> UsdUtilsModifyAssetPathFn
HUSD_API bool HUSDgetSavePathIsTimeDependent(const SdfLayerHandle &layer)
HUSD_API UT_StringHolder HUSDgetSpecifier(const UsdPrim &prim)
HUSD_API void HUSDconvertVariantSelectionFallbacks(const UT_StringMap< UT_StringArray > &utfallbacks, PcpVariantFallbackMap &fallbacks)
std::vector< TfRefPtr< SdfLayer > > SdfLayerRefPtrVector
HUSD_API const TfToken & HUSDgetPreviewDefaultValueKeyPathToken()
HUSD_API bool HUSDgetSoloLightPaths(const SdfLayerHandle &layer, HUSD_PathSet &paths)
HUSD_API SdfSpecifier HUSDgetSdfSpecifier(const UT_StringRef &specifier, bool *valid=nullptr)
constexpr std::enable_if< I< type_count_base< T >::value, int >::type tuple_type_size(){return subtype_count< typename std::tuple_element< I, T >::type >::value+tuple_type_size< T, I+1 >);}template< typename T > struct type_count< T, typename std::enable_if< is_tuple_like< T >::value >::type >{static constexpr int value{tuple_type_size< T, 0 >)};};template< typename T > struct subtype_count{static constexpr int value{is_mutable_container< T >::value?expected_max_vector_size:type_count< T >::value};};template< typename T, typename Enable=void > struct type_count_min{static const int value{0};};template< typename T >struct type_count_min< T, typename std::enable_if<!is_mutable_container< T >::value &&!is_tuple_like< T >::value &&!is_wrapper< T >::value &&!is_complex< T >::value &&!std::is_void< T >::value >::type >{static constexpr int value{type_count< T >::value};};template< typename T > struct type_count_min< T, typename std::enable_if< is_complex< T >::value >::type >{static constexpr int value{1};};template< typename T >struct type_count_min< T, typename std::enable_if< is_wrapper< T >::value &&!is_complex< T >::value &&!is_tuple_like< T >::value >::type >{static constexpr int value{subtype_count_min< typename T::value_type >::value};};template< typename T, std::size_t I >constexpr typename std::enable_if< I==type_count_base< T >::value, int >::type tuple_type_size_min(){return 0;}template< typename T, std::size_t I > constexpr typename std::enable_if< I< type_count_base< T >::value, int >::type tuple_type_size_min(){return subtype_count_min< typename std::tuple_element< I, T >::type >::value+tuple_type_size_min< T, I+1 >);}template< typename T > struct type_count_min< T, typename std::enable_if< is_tuple_like< T >::value >::type >{static constexpr int value{tuple_type_size_min< T, 0 >)};};template< typename T > struct subtype_count_min{static constexpr int value{is_mutable_container< T >::value?((type_count< T >::value< expected_max_vector_size)?type_count< T >::value:0):type_count_min< T >::value};};template< typename T, typename Enable=void > struct expected_count{static const int value{0};};template< typename T >struct expected_count< T, typename std::enable_if<!is_mutable_container< T >::value &&!is_wrapper< T >::value &&!std::is_void< T >::value >::type >{static constexpr int value{1};};template< typename T > struct expected_count< T, typename std::enable_if< is_mutable_container< T >::value >::type >{static constexpr int value{expected_max_vector_size};};template< typename T >struct expected_count< T, typename std::enable_if<!is_mutable_container< T >::value &&is_wrapper< T >::value >::type >{static constexpr int value{expected_count< typename T::value_type >::value};};enum class object_category:int{char_value=1, integral_value=2, unsigned_integral=4, enumeration=6, boolean_value=8, floating_point=10, number_constructible=12, double_constructible=14, integer_constructible=16, string_assignable=23, string_constructible=24, other=45, wrapper_value=50, complex_number=60, tuple_value=70, container_value=80,};template< typename T, typename Enable=void > struct classify_object{static constexpr object_category value{object_category::other};};template< typename T >struct classify_object< T, typename std::enable_if< std::is_integral< T >::value &&!std::is_same< T, char >::value &&std::is_signed< T >::value &&!is_bool< T >::value &&!std::is_enum< T >::value >::type >{static constexpr object_category value{object_category::integral_value};};template< typename T >struct classify_object< T, typename std::enable_if< std::is_integral< T >::value &&std::is_unsigned< T >::value &&!std::is_same< T, char >::value &&!is_bool< T >::value >::type >{static constexpr object_category value{object_category::unsigned_integral};};template< typename T >struct classify_object< T, typename std::enable_if< std::is_same< T, char >::value &&!std::is_enum< T >::value >::type >{static constexpr object_category value{object_category::char_value};};template< typename T > struct classify_object< T, typename std::enable_if< is_bool< T >::value >::type >{static constexpr object_category value{object_category::boolean_value};};template< typename T > struct classify_object< T, typename std::enable_if< std::is_floating_point< T >::value >::type >{static constexpr object_category value{object_category::floating_point};};template< typename T >struct classify_object< T, typename std::enable_if<!std::is_floating_point< T >::value &&!std::is_integral< T >::value &&std::is_assignable< T &, std::string >::value >::type >{static constexpr object_category value{object_category::string_assignable};};template< typename T >struct classify_object< T, typename std::enable_if<!std::is_floating_point< T >::value &&!std::is_integral< T >::value &&!std::is_assignable< T &, std::string >::value &&(type_count< T >::value==1)&&std::is_constructible< T, std::string >::value >::type >{static constexpr object_category value{object_category::string_constructible};};template< typename T > struct classify_object< T, typename std::enable_if< std::is_enum< T >::value >::type >{static constexpr object_category value{object_category::enumeration};};template< typename T > struct classify_object< T, typename std::enable_if< is_complex< T >::value >::type >{static constexpr object_category value{object_category::complex_number};};template< typename T > struct uncommon_type{using type=typename std::conditional<!std::is_floating_point< T >::value &&!std::is_integral< T >::value &&!std::is_assignable< T &, std::string >::value &&!std::is_constructible< T, std::string >::value &&!is_complex< T >::value &&!is_mutable_container< T >::value &&!std::is_enum< T >::value, std::true_type, std::false_type >::type;static constexpr bool value=type::value;};template< typename T >struct classify_object< T, typename std::enable_if<(!is_mutable_container< T >::value &&is_wrapper< T >::value &&!is_tuple_like< T >::value &&uncommon_type< T >::value)>::type >{static constexpr object_category value{object_category::wrapper_value};};template< typename T >struct classify_object< T, typename std::enable_if< uncommon_type< T >::value &&type_count< T >::value==1 &&!is_wrapper< T >::value &&is_direct_constructible< T, double >::value &&is_direct_constructible< T, int >::value >::type >{static constexpr object_category value{object_category::number_constructible};};template< typename T >struct classify_object< T, typename std::enable_if< uncommon_type< T >::value &&type_count< T >::value==1 &&!is_wrapper< T >::value &&!is_direct_constructible< T, double >::value &&is_direct_constructible< T, int >::value >::type >{static constexpr object_category value{object_category::integer_constructible};};template< typename T >struct classify_object< T, typename std::enable_if< uncommon_type< T >::value &&type_count< T >::value==1 &&!is_wrapper< T >::value &&is_direct_constructible< T, double >::value &&!is_direct_constructible< T, int >::value >::type >{static constexpr object_category value{object_category::double_constructible};};template< typename T >struct classify_object< T, typename std::enable_if< is_tuple_like< T >::value &&((type_count< T >::value >=2 &&!is_wrapper< T >::value)||(uncommon_type< T >::value &&!is_direct_constructible< T, double >::value &&!is_direct_constructible< T, int >::value)||(uncommon_type< T >::value &&type_count< T >::value >=2))>::type >{static constexpr object_category value{object_category::tuple_value};};template< typename T > struct classify_object< T, typename std::enable_if< is_mutable_container< T >::value >::type >{static constexpr object_category value{object_category::container_value};};template< typename T, enable_if_t< classify_object< T >::value==object_category::char_value, detail::enabler >=detail::dummy >constexpr const char *type_name(){return"CHAR";}template< typename T, enable_if_t< classify_object< T >::value==object_category::integral_value||classify_object< T >::value==object_category::integer_constructible, detail::enabler >=detail::dummy >constexpr const char *type_name(){return"INT";}template< typename T, enable_if_t< classify_object< T >::value==object_category::unsigned_integral, detail::enabler >=detail::dummy >constexpr const char *type_name(){return"UINT";}template< typename T, enable_if_t< classify_object< T >::value==object_category::floating_point||classify_object< T >::value==object_category::number_constructible||classify_object< T >::value==object_category::double_constructible, detail::enabler >=detail::dummy >constexpr const char *type_name(){return"FLOAT";}template< typename T, enable_if_t< classify_object< T >::value==object_category::enumeration, detail::enabler >=detail::dummy >constexpr const char *type_name(){return"ENUM";}template< typename T, enable_if_t< classify_object< T >::value==object_category::boolean_value, detail::enabler >=detail::dummy >constexpr const char *type_name(){return"BOOLEAN";}template< typename T, enable_if_t< classify_object< T >::value==object_category::complex_number, detail::enabler >=detail::dummy >constexpr const char *type_name(){return"COMPLEX";}template< typename T, enable_if_t< classify_object< T >::value >=object_category::string_assignable &&classify_object< T >::value<=object_category::other, detail::enabler >=detail::dummy >constexpr const char *type_name(){return"TEXT";}template< typename T, enable_if_t< classify_object< T >::value==object_category::tuple_value &&type_count_base< T >::value >=2, detail::enabler >=detail::dummy >std::string type_name();template< typename T, enable_if_t< classify_object< T >::value==object_category::container_value||classify_object< T >::value==object_category::wrapper_value, detail::enabler >=detail::dummy >std::string type_name();template< typename T, enable_if_t< classify_object< T >::value==object_category::tuple_value &&type_count_base< T >::value==1, detail::enabler >=detail::dummy >inline std::string type_name(){return type_name< typename std::decay< typename std::tuple_element< 0, T >::type >::type >);}template< typename T, std::size_t I >inline typename std::enable_if< I==type_count_base< T >::value, std::string >::type tuple_name(){return std::string{};}template< typename T, std::size_t I >inline typename std::enable_if<(I< type_count_base< T >::value), std::string >::type tuple_name(){auto str=std::string{type_name< typename std::decay< typename std::tuple_element< I, T >::type >::type >)}+ ','+tuple_name< T, I+1 >);if(str.back()== ',') str.pop_back();return str;}template< typename T, enable_if_t< classify_object< T >::value==object_category::tuple_value &&type_count_base< T >::value >=2, detail::enabler > > std::string type_name()
Recursively generate the tuple type name.
HUSD_API HUSD_TimeSampling HUSDgetValueTimeSampling(const UsdAttribute &attrib)
HUSD_API void HUSDaddPropertyEditorNodeId(const UsdProperty &property, int nodeid)
HUSD_API bool HUSDhasAnyVisibleLights(const UsdStageRefPtr &stage, const HUSD_TimeCode &tc)
HUSD_API bool HUSDaddStageTimeSample(const UsdStageWeakPtr &src, const UsdStageRefPtr &dest, const UsdTimeCode &timecode, XUSD_LayerSet &held_layers, bool force_notifiable_file_format, bool set_layer_override_save_paths, XUSD_ExistenceTracker *existence_tracker, HUSD_PathSet *varying_default_paths=nullptr)
std::vector< UsdAttribute > UsdAttributeVector
A std::vector of UsdAttributes.
HUSD_API const TfToken & HUSDgetEditorNodesToken()
HUSD_API const TfToken & HUSDgetSavePathIsTimeDependentToken()
HUSD_API void HUSDsetCreatorNode(const SdfLayerHandle &layer, int node_id)
HUSD_API bool HUSDisLayerPlaceholder(const SdfLayerHandle &layer)
XUSD_SavePathInfo(const UT_StringHolder &finalpath, const UT_StringHolder &originalpath, XUSD_ExternalRefType reference_type, bool node_based_path, bool time_dependent)
HUSD_API const TfType & HUSDfindType(const UT_StringRef &type_name)
virtual ~XUSD_StageFactory()
HUSD_API SdfLayerRefPtr HUSDflattenLayers(const UsdStageWeakPtr &stage)
HUSD_API void HUSDclearPropertyEditorNodeIds(const UsdProperty &property)
HUSD_API UsdTimeCode HUSDgetEffectiveUsdTimeCode(const HUSD_TimeCode &timecode, const UsdAttribute &attr)
HUSD_API const TfToken & HUSDgetTreatAsSopLayerToken()
HUSD_API SdfPrimSpecHandle HUSDcreatePrimInLayer(const UsdStageWeakPtr &stage, const SdfLayerHandle &layer, const SdfPath &path, const TfToken &kind, SdfSpecifier specifier, SdfSpecifier parent_prims_specifier, const std::string &parent_prims_type)
std::vector< class SdfPath > SdfPathVector
A vector of SdfPaths.
HUSD_API bool HUSDisPrimSelectable(const UsdPrim &prim, UT_Map< HUSD_Path, bool > *cache=nullptr)
HUSD_API void HUSDupdateLocalTransformTimeSampling(HUSD_TimeSampling &sampling, const UsdPrim &prim)
HUSD_API const TfToken & HUSDgetPreviewTagsToken()
HUSD_API const TfToken & HUSDgetSaveControlToken()
HUSD_API const TfToken & HUSDgetSourceNodeToken()
A map of string to various well defined value types.
HUSD_API void HUSDsetSourceNode(const UsdPrim &prim, int node_id)
HUSD_API bool HUSDgetOverrideSavePath(const SdfLayerHandle &layer, std::string &savepath)
SYS_VISIBILITY_EXPORT void newStageFactory(UT_Array< XUSD_StageFactory * > *factories)
HUSD_API UsdTimeCode HUSDgetCurrentUsdTimeCode()
HUSD_API bool HUSDisPrimEditable(const UsdPrim &prim)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
HUSD_API const TfToken & HUSDgetCreatorNodeToken()
HUSD_API bool HUSDlocalTransformMightBeTimeVarying(const UsdPrim &prim)
HUSD_API const TfToken & HUSDgetSoloGeometryPathsToken()
HUSD_API bool HUSDconvertValue(UT_JSONWriter &w, const VtValue &value)
virtual int getPriority() const =0
HUSD_API UsdTimeCode HUSDgetUsdTimeCode(const HUSD_TimeCode &timecode)
HUSD_API void HUSDstitchLayers(const SdfLayerHandle &strongLayer, const SdfLayerHandle &weakLayer, HUSD_PathSet *varyingDefaultPaths=nullptr)
HUSD_API SdfPath HUSDgetSdfPath(const UT_StringRef &path)
HUSD_API void HUSDconvertToFileFormatArguments(const UT_StringMap< UT_StringHolder > &ut_args, SdfFileFormat::FileFormatArguments &sdf_args)
HUSD_API SdfLayerRefPtr HUSDcreateAnonymousCopy(SdfLayerRefPtr srclayer, const std::string &tag=std::string())
HUSD_API bool HUSDgetTreatAsSopLayer(const SdfLayerHandle &layer)
HUSD_API const TfToken & HUSDgetHasAutoPreviewShaderToken()
HUSD_API void HUSDgetMinimalPathsForInheritableProperty(bool skip_point_instancers, const UsdStageRefPtr &stage, XUSD_PathSet &paths)
#define PXR_NAMESPACE_CLOSE_SCOPE
HUSD_API bool HUSDshouldSaveLayerToDisk(const SdfLayerHandle &layer)
**If you just want to fire and args
XUSD_ExternalRefType myReferenceType
HUSD_API const TfToken & HUSDgetDataIdToken()
HUSD_API const SdfPath & HUSDgetHoudiniFreeCameraSdfPath()
GLubyte GLubyte GLubyte GLubyte w
UT_Map< std::string, XUSD_ReferenceInfo > XUSD_IdentifierToReferenceInfoMap
HUSD_API void HUSDcopyMinimalRootPrimMetadata(const SdfLayerRefPtr &dest, const SdfLayerHandle &src)
HUSD_API void HUSDsetTreatAsSopLayer(const SdfLayerHandle &layer, bool treatassoplayer)
HUSD_API const TfToken & HUSDgetVolumeFilePathsToken()
HUSD_API const TfToken & HUSDgetMaterialIdToken()
XUSD_SavePathInfo(const UT_StringHolder &finalpath)
HUSD_API void HUSDclearDataId(const UsdAttribute &attr)
HUSD_API void HUSDgetMinimalMostNestedPathsForInheritableProperty(const UsdStageRefPtr &stage, XUSD_PathSet &paths)
HUSD_API void HUSDaddPrimEditorNodeId(const UsdPrim &prim, int node_id)
HUSD_API void HUSDmodifyAssetPaths(const SdfLayerHandle &layer, const UsdUtilsModifyAssetPathFn &modifyFn)
std::map< std::string, std::vector< std::string > > PcpVariantFallbackMap
HUSD_API std::string HUSDgetTag(const XUSD_DataLockPtr &datalock)
HUSD_API VtValue HUSDoptionToVtValue(const UT_OptionEntry *option)
HUSD_API void HUSDgenerateUniqueTransformOpSuffix(UT_StringHolder &suffix, const UsdGeomXformable &xformable, UsdGeomXformOp::Type type=UsdGeomXformOp::TypeTransform, bool test_base_xform=false)
HUSD_API SdfLayerRefPtr HUSDflattenLayerPartitions(const UsdStageWeakPtr &stage, int flatten_flags, SdfLayerRefPtrVector &explicit_layers)
HUSD_API bool HUSDgetSoloGeometryPaths(const SdfLayerHandle &layer, HUSD_PathSet &paths)
UT_StringHolder myOriginalPath
HUSD_API TfToken HUSDgetParentKind(const TfToken &kind)
HUSD_API const TfToken & HUSDgetDialogScriptToken()
XUSD_ExternalRefType myReferenceType
HUSD_API bool HUSDisDerivedType(const UsdPrim &prim, const TfType &base_type)
bool myWarnedAboutMixedTimeDependency
HUSD_API SdfPathVector HUSDgetSdfPaths(const UT_StringArray &paths)