Esempio n. 1
0
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 );
}