Skip to content
Peter Shinners edited this page Apr 18, 2021 · 5 revisions
void  resolveAllAssets(
    const std::string& str, 
    std::string& ret
)

Given an arbitrary string of text, find all whitespace separated assetId tokens and replace them with resolved file paths.

The resulting text must be copied into the ret argument. If no assetIds are found, the ret will be a complete copy of str.

If your assetId tokens can contain whitespace you will need to quote or escape them somehow.

There should be no error conditions or problems. If some part of the string represents an invalid assetId it should generally be unaltered when passed to ret.

This function is not used as commonly as the regular resolveAsset or resolvePath functions. Katana will often call containsAssetIds on the string to first check if it contains any assetIds, but that checking should not be relied on.

This will be run on arbitrary command line values, like the ImageWrite postScripts parameter.

Parameter strings have a getFileSequenceValue method and assetResolve expression function defined for string expressions. These will both call this method after first confirming with containsAssetId.