void LoadEqualizer::_update( Node* node ) { if( !node ) return; if( node->compound ) _updateLeaf( node ); else _updateNode( node ); }
void LoadEqualizer::_update( Node* node, const Viewport& vp, const Range& range ) { if( !node ) return; node->mode = getMode(); if( node->mode == MODE_2D ) { PixelViewport pvp = getCompound()->getChannel()->getPixelViewport(); pvp.apply( vp ); if( pvp.w > pvp.h ) // split along longest axis node->mode = MODE_VERTICAL; else node->mode = MODE_HORIZONTAL; } if( node->compound ) _updateLeaf( node ); else _updateNode( node, vp, range ); }