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

Method boundSetup

src/IECoreGL/Primitive.cpp:413–464  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

411}
412
413const Shader::Setup *Primitive::boundSetup() const
414{
415 if( m_boundSetup )
416 {
417 return m_boundSetup.get();
418 }
419
420 Box3f b = bound();
421 IECore::V3fVectorDataPtr pData = new IECore::V3fVectorData();
422 std::vector<V3f> &p = pData->writable();
423
424 p.push_back( V3f( b.min.x, b.min.y, b.min.z ) );
425 p.push_back( V3f( b.max.x, b.min.y, b.min.z ) );
426
427 p.push_back( V3f( b.max.x, b.min.y, b.min.z ) );
428 p.push_back( V3f( b.max.x, b.max.y, b.min.z ) );
429
430 p.push_back( V3f( b.max.x, b.max.y, b.min.z ) );
431 p.push_back( V3f( b.min.x, b.max.y, b.min.z ) );
432
433 p.push_back( V3f( b.min.x, b.max.y, b.min.z ) );
434 p.push_back( V3f( b.min.x, b.min.y, b.min.z ) );
435
436 p.push_back( V3f( b.min.x, b.min.y, b.max.z ) );
437 p.push_back( V3f( b.max.x, b.min.y, b.max.z ) );
438
439 p.push_back( V3f( b.max.x, b.min.y, b.max.z ) );
440 p.push_back( V3f( b.max.x, b.max.y, b.max.z ) );
441
442 p.push_back( V3f( b.max.x, b.max.y, b.max.z ) );
443 p.push_back( V3f( b.min.x, b.max.y, b.max.z ) );
444
445 p.push_back( V3f( b.min.x, b.max.y, b.max.z ) );
446 p.push_back( V3f( b.min.x, b.min.y, b.max.z ) );
447
448 p.push_back( V3f( b.min.x, b.min.y, b.min.z ) );
449 p.push_back( V3f( b.min.x, b.min.y, b.max.z ) );
450
451 p.push_back( V3f( b.max.x, b.min.y, b.min.z ) );
452 p.push_back( V3f( b.max.x, b.min.y, b.max.z ) );
453
454 p.push_back( V3f( b.max.x, b.max.y, b.min.z ) );
455 p.push_back( V3f( b.max.x, b.max.y, b.max.z ) );
456
457 p.push_back( V3f( b.min.x, b.max.y, b.min.z ) );
458 p.push_back( V3f( b.min.x, b.max.y, b.max.z ) );
459
460 m_boundSetup = new Shader::Setup( Shader::constant() );
461 m_boundSetup->addVertexAttribute( "P", pData );
462
463 return m_boundSetup.get();
464}

Callers

nothing calls this directly

Calls 4

boundFunction · 0.85
getMethod · 0.45
writableMethod · 0.45
addVertexAttributeMethod · 0.45

Tested by

no test coverage detected