MCPcopy Create free account
hub / github.com/AcademySoftwareFoundation/MaterialX / createStringResolver

Method createStringResolver

source/MaterialXCore/Element.cpp:593–621  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

591}
592
593StringResolverPtr Element::createStringResolver(const string& geom) const
594{
595 StringResolverPtr resolver = StringResolver::create();
596
597 // Compute file and geom prefixes as this scope.
598 resolver->setFilePrefix(getActiveFilePrefix());
599 resolver->setGeomPrefix(getActiveGeomPrefix());
600
601 // If a geometry name is specified, then apply it to the filename map.
602 if (!geom.empty())
603 {
604 for (GeomInfoPtr geomInfo : getDocument()->getGeomInfos())
605 {
606 if (!geomStringsMatch(geom, geomInfo->getActiveGeom()))
607 continue;
608 for (TokenPtr token : geomInfo->getTokens())
609 {
610 string key = "<" + token->getName() + ">";
611 string value = token->getResolvedValueString();
612 resolver->setFilenameSubstitution(key, value);
613 }
614 }
615 }
616
617 // Add in token substitutions
618 resolver->addTokenSubstitutions(getSelf());
619
620 return resolver;
621}
622
623string Element::asString() const
624{

Callers 5

mainFunction · 0.80
propertyEditorMethod · 0.80
Geom.cppFile · 0.80
updateContentsMethod · 0.80
flattenFilenamesFunction · 0.80

Calls 8

getDocumentFunction · 0.85
geomStringsMatchFunction · 0.85
addTokenSubstitutionsMethod · 0.80
getSelfFunction · 0.70
createFunction · 0.50
emptyMethod · 0.45
getNameMethod · 0.45

Tested by

no test coverage detected