MCPcopy Create free account
hub / github.com/ImageEngine/cortex / isSplitAdapter

Function isSplitAdapter

src/IECoreScene/ShaderNetworkAlgo.cpp:278–305  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

276}
277
278bool 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
307bool isJoinAdapter( const Shader *shader, std::array<InternedString, 4> &inParameters, InternedString &outParameter )
308{

Callers 1

Calls 3

blindDataMethod · 0.80
readableMethod · 0.80
parametersDataMethod · 0.45

Tested by

no test coverage detected