bool UsdShadeParameter::ConnectToSource(UsdShadeOutput const &output) const { UsdShadeConnectableAPI source(output.GetAttr().GetPrim()); return ConnectToSource(source, output.GetBaseName(), /* sourceType */ UsdShadeAttributeType::Output); }
ShaderType UsdRiMaterialAPI::_GetSourceShaderObject(const UsdShadeOutput &output, bool ignoreBaseMaterial) const { // If output doesn't have a valid property, return an invalid shader. if (!output.GetProperty()) { return ShaderType(); } if (ignoreBaseMaterial && UsdShadeConnectableAPI::IsSourceConnectionFromBaseMaterial(output)) { return ShaderType(); } UsdShadeConnectableAPI source; TfToken sourceName; UsdShadeAttributeType sourceType; if (UsdShadeConnectableAPI::GetConnectedSource(output, &source, &sourceName, &sourceType)) { return ShaderType(source.GetPrim()); } return ShaderType(); }
bool UsdShadeOutput::CanConnect(const UsdShadeOutput &sourceOutput) const { return CanConnect(sourceOutput.GetAttr()); }