void LoadEqualizer::_update( Node* node ) { if( !node ) return; if( node->compound ) _updateLeaf( node ); else _updateNode( node ); }
void insertNode(BSTree* tree, int key, void* value) { BSNode* node = findPosition(tree->root, key); if (node) { _updateNode(tree, node, key, value); } else { node = initNode(tree->mOrder, key, value); tree->root = 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 ); }