HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
utils.h File Reference
#include "pxr/pxr.h"
#include "pxr/usd/usdMtlx/api.h"
#include "pxr/usd/sdr/declare.h"
#include "pxr/usd/sdf/valueTypeName.h"
#include "pxr/base/tf/staticTokens.h"
#include "pxr/base/vt/value.h"
#include <MaterialXCore/Document.h>
#include <string>
#include <vector>
+ Include dependency graph for utils.h:

Go to the source code of this file.

Classes

struct  UsdMtlxUsdTypeInfo
 Result of UsdMtlxGetUsdType(). More...
 

Functions

PXR_NAMESPACE_OPEN_SCOPE
USDMTLX_API const SdrStringVec
UsdMtlxStandardLibraryPaths ()
 
USDMTLX_API const SdrStringVecUsdMtlxCustomSearchPaths ()
 
USDMTLX_API const SdrStringVecUsdMtlxSearchPaths ()
 
USDMTLX_API SdrStringVec UsdMtlxStandardFileExtensions ()
 Return the MaterialX standard file extensions. More...
 
USDMTLX_API MaterialX::DocumentPtr UsdMtlxReadDocument (const std::string &resolvedPath)
 
USDMTLX_API
MaterialX::ConstDocumentPtr 
UsdMtlxGetDocument (const std::string &resolvedUri)
 
USDMTLX_API
MaterialX::ConstDocumentPtr 
UsdMtlxGetDocumentFromString (const std::string &mtlxXml)
 
USDMTLX_API SdrVersion UsdMtlxGetVersion (const MaterialX::ConstInterfaceElementPtr &mtlx, bool *implicitDefault=nullptr)
 
USDMTLX_API const std::string & UsdMtlxGetSourceURI (const MaterialX::ConstElementPtr &element)
 
USDMTLX_API UsdMtlxUsdTypeInfo UsdMtlxGetUsdType (const std::string &mtlxTypeName)
 Convert a (standard) MaterialX type name. More...
 
USDMTLX_API VtValue UsdMtlxGetUsdValue (const MaterialX::ConstElementPtr &mtlx, bool getDefaultValue=false)
 
USDMTLX_API std::vector< VtValueUsdMtlxGetPackedUsdValues (const std::string &values, const std::string &type)
 
USDMTLX_API std::vector
< std::string > 
UsdMtlxSplitStringArray (const std::string &s)
 

Function Documentation

USDMTLX_API const SdrStringVec& UsdMtlxCustomSearchPaths ( )

Return the paths to directories containing custom MaterialX files, set in the environment variable 'PXR_MTLX_PLUGIN_SEARCH_PATHS'

USDMTLX_API MaterialX::ConstDocumentPtr UsdMtlxGetDocument ( const std::string &  resolvedUri)

Return the (possibly cached) MaterialX document at resolvedUri. Return null if the document could not be read and report a warning (once per uri). resolvedUri may be empty to indicate the MaterialX standard library documents all rolled into one.

USDMTLX_API MaterialX::ConstDocumentPtr UsdMtlxGetDocumentFromString ( const std::string &  mtlxXml)

Returns the (possibly cached) MaterialX document created from the given string containing the source MaterialX XML.

USDMTLX_API std::vector<VtValue> UsdMtlxGetPackedUsdValues ( const std::string &  values,
const std::string &  type 
)

Return the MaterialX values in values assuming it contains an array of values of MaterialX type type as a vector of VtValue.

USDMTLX_API const std::string& UsdMtlxGetSourceURI ( const MaterialX::ConstElementPtr element)

Return the source URI for a MaterialX element. If the element doesn't have a non-empty URI then return the source URI of the closest element up the element hierarchy that does have one. Return the empty string if no element has a source URI.

USDMTLX_API UsdMtlxUsdTypeInfo UsdMtlxGetUsdType ( const std::string &  mtlxTypeName)

Convert a (standard) MaterialX type name.

USDMTLX_API VtValue UsdMtlxGetUsdValue ( const MaterialX::ConstElementPtr mtlx,
bool  getDefaultValue = false 
)

Return the value in mtlx as a VtValue. Returns an empty VtValue and reports an error if the conversion cannot be applied. If getDefaultValue is true then converts the default value. It is not an error if the value doesn't exist; that silently returns an empty VtValue.

USDMTLX_API SdrVersion UsdMtlxGetVersion ( const MaterialX::ConstInterfaceElementPtr mtlx,
bool *  implicitDefault = nullptr 
)
USDMTLX_API MaterialX::DocumentPtr UsdMtlxReadDocument ( const std::string &  resolvedPath)

Return the MaterialX document at resolvedPath. Return null if the document could not be read and report a runtime error.

Unlike UsdMtlxGetDocument, this function does not implement any caching or special behavior for MaterialX standard library documents.

USDMTLX_API const SdrStringVec& UsdMtlxSearchPaths ( )

Return the MaterialX search paths. In order, this includes:

  • directories containing custom MaterialX files set in the env var 'PXR_MTLX_PLUGIN_SEARCH_PATHS'
  • standard library paths set in the env var 'PXR_MTLX_STDLIB_SEARCH_PATHS'
  • path to the MaterialX standard library discovered at build time.
USDMTLX_API std::vector<std::string> UsdMtlxSplitStringArray ( const std::string &  s)

Split a MaterialX string array into a vector of strings.

The MaterialX specification says:

Individual string values within stringarrays may not contain commas or semicolons, and any leading and trailing whitespace characters in them is ignored.

These restrictions do not apply to the string type.

USDMTLX_API SdrStringVec UsdMtlxStandardFileExtensions ( )

Return the MaterialX standard file extensions.

PXR_NAMESPACE_OPEN_SCOPE USDMTLX_API const SdrStringVec& UsdMtlxStandardLibraryPaths ( )

Return the MaterialX standard library paths. All standard library files (and only standard library files) should be found on these paths.