| 276 | } |
| 277 | |
| 278 | bool isSplitAdapter( const Shader *shader, InternedString &component, InternedString &inParameter, InternedString &outParameter ) |
| 279 | { |
| 280 | if( auto *d = shader->blindData()->member<InternedStringData>( g_splitAdapterComponent ) ) |
| 281 | { |
| 282 | auto inP = shader->blindData()->member<InternedStringData>( g_splitAdapterInParameter ); |
| 283 | auto outP = shader->blindData()->member<InternedStringData>( g_splitAdapterOutParameter ); |
| 284 | if( inP && outP ) |
| 285 | { |
| 286 | component = d->readable(); |
| 287 | inParameter = inP->readable(); |
| 288 | outParameter = outP->readable(); |
| 289 | } |
| 290 | return true; |
| 291 | } |
| 292 | else if( auto *b = shader->blindData()->member<BoolData>( componentConnectionAdapterLabel() ) ) |
| 293 | { |
| 294 | // Legacy format. |
| 295 | if( b->readable() && shader->getName() == "MaterialX/mx_swizzle_color_float" ) |
| 296 | { |
| 297 | component = shader->parametersData()->member<StringData>( "channels" )->readable(); |
| 298 | inParameter = g_inParameterName; |
| 299 | outParameter = g_outParameterName; |
| 300 | return true; |
| 301 | } |
| 302 | } |
| 303 | |
| 304 | return false; |
| 305 | } |
| 306 | |
| 307 | bool isJoinAdapter( const Shader *shader, std::array<InternedString, 4> &inParameters, InternedString &outParameter ) |
| 308 | { |
no test coverage detected