void HierarchyTreeAggregatorNode::UpdateHierarchyTree() { const HierarchyTreeNode::HIERARCHYTREENODESLIST& child = parent->GetChildNodes(); for (HierarchyTreeNode::HIERARCHYTREENODESLIST::const_iterator iter = child.begin(); iter != child.end(); ++iter) { HierarchyTreeScreenNode* node = dynamic_cast<HierarchyTreeScreenNode*>(*iter); DVASSERT(node); if (!node) continue; const HierarchyTreeNode::HIERARCHYTREENODESLIST& child = node->GetChildNodes(); for (HierarchyTreeNode::HIERARCHYTREENODESLIST::const_iterator iter = child.begin(); iter != child.end(); ++iter) { HierarchyTreeControlNode* node = dynamic_cast<HierarchyTreeControlNode*>(*iter); DVASSERT(node); if (!node) continue; ReplaceAggregator(node); } } }