var NAVTREE = [ [ "TraDemGen", "index.html", [ [ "TraDemGen Documentation", "index.html", [ [ "Getting Started", "index.html#getting_started", null ], [ "TraDemGen at SourceForge", "index.html#at_sourceforge", null ], [ "TraDemGen Development", "index.html#development", null ], [ "External Libraries", "index.html#external_libs", null ], [ "Support TraDemGen", "index.html#social_sponsorship", null ], [ "About TraDemGen", "index.html#about", null ] ] ], [ "People", "a00001.html", [ [ "Project Admins (and Developers)", "a00001.html#admins", null ], [ "Retired Developers", "a00001.html#retired", null ], [ "Contributors", "a00001.html#contributors", null ], [ "Distribution Maintainers", "a00001.html#distributors", null ] ] ], [ "Coding Rules", "a00002.html", [ [ "Default Naming Rules for Variables", "a00002.html#cr_variables", null ], [ "Default Naming Rules for Functions", "a00002.html#cr_functions", null ], [ "Default Naming Rules for Classes and Structures", "a00002.html#cr_classes", null ], [ "Default Naming Rules for Files", "a00002.html#cr_files", null ], [ "Default Functionality of Classes", "a00002.html#cr_classes_functionality", null ] ] ], [ "Copyright and License", "a00003.html", [ [ "GNU LESSER GENERAL PUBLIC LICENSE", "a00003.html#gnugpl", [ [ "Version 2.1, February 1999", "a00003.html#version", null ] ] ], [ "Preamble", "a00003.html#preamble", null ], [ "TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION", "a00003.html#terms", [ [ "NO WARRANTY", "a00003.html#nowarranty", null ], [ "END OF TERMS AND CONDITIONS", "a00003.html#endofterms", null ] ] ], [ "How to Apply These Terms to Your New Programs", "a00003.html#howtoapply", null ] ] ], [ "Documentation Rules", "a00004.html", [ [ "General Rules", "a00004.html#doc_general", null ], [ "File Header", "a00004.html#doc_header", null ], [ "Grouping Various Parts", "a00004.html#doc_groups", null ] ] ], [ "Main features", "a00005.html", [ [ "Demand generation", "a00005.html#ft_demand_generation", null ], [ "Other features", "a00005.html#ft_others", null ] ] ], [ "Make a Difference", "a00006.html", null ], [ "Make a new release", "a00007.html", [ [ "Introduction", "a00007.html#description", null ], [ "Initialisation", "a00007.html#initialisation", null ], [ "Release branch maintenance", "a00007.html#branch_creation", null ], [ "Commit and publish the release branch", "a00007.html#branch_publish", null ], [ "Create distribution packages", "a00007.html#create_packages", null ], [ "Upload the HTML documentation to SourceForge", "a00007.html#upload_doc", null ], [ "Generate the RPM packages", "a00007.html#generate_rpm_packages", null ], [ "Update distributed change log", "a00007.html#update_changelog", null ], [ "Create the binary package, including the documentation", "a00007.html#create_bin_packages", null ], [ "Upload the files to SourceForge", "a00007.html#upload_files", null ], [ "Make a new post", "a00007.html#post_news", null ], [ "Send an email on the announcement mailing-list", "a00007.html#send_announce", null ] ] ], [ "Installation", "a00008.html", [ [ "Table of Contents", "a00008.html#toc", null ], [ "Fedora/RedHat Linux distributions", "a00008.html#rpm_linux", null ], [ "TraDemGen Requirements", "a00008.html#requirements", null ], [ "Basic Installation", "a00008.html#basic_instructions", null ], [ "Compilers and Options", "a00008.html#compilers", null ], [ "Compiling For Multiple Architectures", "a00008.html#compiling_for_multi_arch", null ], [ "Installation Names", "a00008.html#installation_names", null ], [ "Optional Features", "a00008.html#optional_features", null ], [ "Particular systems", "a00008.html#particular_systems", null ], [ "Specifying the System Type", "a00008.html#specifying_system_type", null ], [ "Sharing Defaults", "a00008.html#sharing_defaults", null ], [ "Defining Variables", "a00008.html#defining_variables", null ], [ "`cmake' Invocation", "a00008.html#cmake_invocation", null ] ] ], [ "Linking with TraDemGen", "a00009.html", [ [ "Table of Contents", "a00009.html#toc", null ], [ "Introdution", "a00009.html#intro", null ], [ "Using the pkg-config command", "a00009.html#pkgconfig", null ], [ "Using the trademgen-config script", "a00009.html#trademgen_config", null ], [ "M4 macro for the GNU Autotools", "a00009.html#autotools", null ], [ "Using TraDemGen with dynamic linking", "a00009.html#dynamiclinking", null ] ] ], [ "Test Rules", "a00010.html", [ [ "The Test Source Files", "a00010.html#test_source", null ], [ "The Reference File", "a00010.html#reference_file", null ], [ "Testing TraDemGen Library", "a00010.html#testing_using_make", null ] ] ], [ "Users Guide", "a00011.html", [ [ "Table of Contents", "a00011.html#ug_toc", null ], [ "Introduction", "a00011.html#ug_introduction", null ], [ "Get Started", "a00011.html#ug_get_started", [ [ "Get the TraDemGen library", "a00011.html#ug_get_source", null ], [ "Build the TraDemGen project", "a00011.html#ug_build_binaries", null ], [ "Build and Run the Tests", "a00011.html#ug_build_and_run_tests", null ], [ "Install the TraDemGen Project (Binaries, Documentation)", "a00011.html#ug_install_project", null ] ] ], [ "Exploring the Predefined BOM Tree", "a00011.html#ug_bom_tree", [ [ "Demand Stream Engine BOM Tree", "a00011.html#ug_bom_demand_stream", null ] ] ], [ "Extending the BOM Tree", "a00011.html#ug_extending_bom_tree", null ] ] ], [ "Supported Systems", "a00012.html", [ [ "Table of Contents", "a00012.html#toc", null ], [ "Introdution", "a00012.html#intro", null ], [ "TraDemGen 3.10.x", "a00012.html#trademgen_3_10", [ [ "Linux Systems", "a00012.html#linux", [ [ "Fedora Core 4 with ATLAS", "a00012.html#fedora_atlas", null ], [ "Gentoo Linux with ACML", "a00012.html#gentoo_acml", null ], [ "Gentoo Linux with ATLAS", "a00012.html#gentoo_atlas", null ], [ "Gentoo Linux with MKL", "a00012.html#gentoo_mkl", null ], [ "Gentoo Linux with NetLib's BLAS and LAPACK", "a00012.html#gentoo_netlib", null ], [ "Red Hat Enterprise Linux with TraDemGen External", "a00012.html#rhel", null ], [ "SUSE Linux 10.0 with NetLib's BLAS and LAPACK", "a00012.html#suse_netlib", null ], [ "SUSE Linux 10.0 with MKL", "a00012.html#suse_mkl", null ] ] ], [ "Windows Systems", "a00012.html#windows", [ [ "Microsoft Windows XP with Cygwin", "a00012.html#cygwin", null ], [ "Microsoft Windows XP with Cygwin and ATLAS", "a00012.html#cygwin_atlas", null ], [ "Microsoft Windows XP with Cygwin and ACML", "a00012.html#cygwin_acml", null ], [ "Microsoft Windows XP with MinGW, MSYS and ACML", "a00012.html#mingw_acml", null ], [ "Microsoft Windows XP with MinGW, MSYS and TraDemGen External", "a00012.html#mingw_netlib", null ], [ "Microsoft Windows XP with MS Visual C++ and Intel MKL", "a00012.html#msvc_mkl", null ] ] ], [ "Unix Systems", "a00012.html#unix", [ [ "SunOS 5.9 with TraDemGen External", "a00012.html#sunos59", null ] ] ] ] ] ] ], [ "TraDemGen Supported Systems (Previous Releases)", "a00013.html", [ [ "TraDemGen 3.9.1", "a00013.html#trademgen_3_9_1", null ], [ "TraDemGen 3.9.0", "a00013.html#trademgen_3_9_0", null ], [ "TraDemGen 3.8.1", "a00013.html#trademgen_3_8_1", null ] ] ], [ "Tutorials", "a00014.html", [ [ "Table of Contents", "a00014.html#tut_toc", null ], [ "Introduction", "a00014.html#tut_introduction", [ [ "Preparing the StdAir Project for Development", "a00014.html#tut_intro_configuration", null ] ] ], [ "Build a Predefined BOM Tree", "a00014.html#tut_build_bom_tree", [ [ "Instanciate the BOM Root Object", "a00014.html#tut_build_bom_root", null ], [ "Instanciate the (Airline) Inventory Object", "a00014.html#tut_build_inventory", null ], [ "Link the Inventory Object with the BOM Root", "a00014.html#tut_build_link", null ], [ "Build Another Airline Inventory", "a00014.html#tut_build_inventory_another", null ], [ "Dump The BOM Tree Content", "a00014.html#tut_dump_bom_tree", null ], [ "Result of the Tutorial Program", "a00014.html#tut_result_output", null ] ] ], [ "Extend the Pre-Defined BOM Tree", "a00014.html#tut_extend_bom_tree", [ [ "Extend an Airline Inventory Object", "a00014.html#tut_extend_inventory", null ], [ "Build the Specific BOM Objects", "a00014.html#tut_extend_build", null ], [ "Result of the Tutorial Program", "a00014.html#tut_extend_result_output", null ] ] ] ] ], [ "Command-Line Test to Demonstrate How To Use TraDemGen elements", "a00015.html", null ], [ "Namespaces", null, [ [ "Namespace List", "namespaces.html", "namespaces" ], [ "Namespace Members", "namespacemembers.html", [ [ "All", "namespacemembers.html", null ], [ "Functions", "namespacemembers_func.html", null ], [ "Variables", "namespacemembers_vars.html", null ], [ "Typedefs", "namespacemembers_type.html", null ] ] ] ] ], [ "Classes", null, [ [ "Class List", "annotated.html", "annotated" ], [ "Class Index", "classes.html", null ], [ "Class Hierarchy", "hierarchy.html", "hierarchy" ], [ "Class Members", "functions.html", [ [ "All", "functions.html", "functions_dup" ], [ "Functions", "functions_func.html", "functions_func" ], [ "Variables", "functions_vars.html", null ], [ "Typedefs", "functions_type.html", null ], [ "Related Functions", "functions_rela.html", null ] ] ] ] ], [ "Files", null, [ [ "File List", "files.html", "files" ], [ "File Members", "globals.html", [ [ "All", "globals.html", null ], [ "Functions", "globals_func.html", null ], [ "Variables", "globals_vars.html", null ], [ "Typedefs", "globals_type.html", null ], [ "Macros", "globals_defs.html", null ] ] ] ] ] ] ] ]; var NAVTREEINDEX = [ "a00001.html", "a00025.html#a81305be9b90a88b546a116fc5a00ebfb", "a00060.html", "a00126.html" ]; var SYNCONMSG = 'click to disable panel synchronisation'; var SYNCOFFMSG = 'click to enable panel synchronisation'; var navTreeSubIndices = new Array(); function getData(varName) { var i = varName.lastIndexOf('/'); var n = i>=0 ? varName.substring(i+1) : varName; return eval(n.replace(/\-/g,'_')); } function stripPath(uri) { return uri.substring(uri.lastIndexOf('/')+1); } function stripPath2(uri) { var i = uri.lastIndexOf('/'); var s = uri.substring(i+1); var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); return m ? uri.substring(i-6) : s; } function localStorageSupported() { try { return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; } catch(e) { return false; } } function storeLink(link) { if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { window.localStorage.setItem('navpath',link); } } function deleteLink() { if (localStorageSupported()) { window.localStorage.setItem('navpath',''); } } function cachedLink() { if (localStorageSupported()) { return window.localStorage.getItem('navpath'); } else { return ''; } } function getScript(scriptName,func,show) { var head = document.getElementsByTagName("head")[0]; var script = document.createElement('script'); script.id = scriptName; script.type = 'text/javascript'; script.onload = func; script.src = scriptName+'.js'; if ($.browser.msie && $.browser.version<=8) { // script.onload does not work with older versions of IE script.onreadystatechange = function() { if (script.readyState=='complete' || script.readyState=='loaded') { func(); if (show) showRoot(); } } } head.appendChild(script); } function createIndent(o,domNode,node,level) { var level=-1; var n = node; while (n.parentNode) { level++; n=n.parentNode; } var imgNode = document.createElement("img"); imgNode.style.paddingLeft=(16*level).toString()+'px'; imgNode.width = 16; imgNode.height = 22; imgNode.border = 0; if (node.childrenData) { node.plus_img = imgNode; node.expandToggle = document.createElement("a"); node.expandToggle.href = "javascript:void(0)"; node.expandToggle.onclick = function() { if (node.expanded) { $(node.getChildrenUL()).slideUp("fast"); node.plus_img.src = node.relpath+"ftv2pnode.png"; node.expanded = false; } else { expandNode(o, node, false, false); } } node.expandToggle.appendChild(imgNode); domNode.appendChild(node.expandToggle); imgNode.src = node.relpath+"ftv2pnode.png"; } else { imgNode.src = node.relpath+"ftv2node.png"; domNode.appendChild(imgNode); } } var animationInProgress = false; function gotoAnchor(anchor,aname,updateLocation) { var pos, docContent = $('#doc-content'); if (anchor.parent().attr('class')=='memItemLeft' || anchor.parent().attr('class')=='fieldtype' || anchor.parent().is(':header')) { pos = anchor.parent().position().top; } else if (anchor.position()) { pos = anchor.position().top; } if (pos) { var dist = Math.abs(Math.min( pos-docContent.offset().top, docContent[0].scrollHeight- docContent.height()-docContent.scrollTop())); animationInProgress=true; docContent.animate({ scrollTop: pos + docContent.scrollTop() - docContent.offset().top },Math.max(50,Math.min(500,dist)),function(){ if (updateLocation) window.location.href=aname; animationInProgress=false; }); } } function newNode(o, po, text, link, childrenData, lastNode) { var node = new Object(); node.children = Array(); node.childrenData = childrenData; node.depth = po.depth + 1; node.relpath = po.relpath; node.isLast = lastNode; node.li = document.createElement("li"); po.getChildrenUL().appendChild(node.li); node.parentNode = po; node.itemDiv = document.createElement("div"); node.itemDiv.className = "item"; node.labelSpan = document.createElement("span"); node.labelSpan.className = "label"; createIndent(o,node.itemDiv,node,0); node.itemDiv.appendChild(node.labelSpan); node.li.appendChild(node.itemDiv); var a = document.createElement("a"); node.labelSpan.appendChild(a); node.label = document.createTextNode(text); node.expanded = false; a.appendChild(node.label); if (link) { var url; if (link.substring(0,1)=='^') { url = link.substring(1); link = url; } else { url = node.relpath+link; } a.className = stripPath(link.replace('#',':')); if (link.indexOf('#')!=-1) { var aname = '#'+link.split('#')[1]; var srcPage = stripPath($(location).attr('pathname')); var targetPage = stripPath(link.split('#')[0]); a.href = srcPage!=targetPage ? url : "javascript:void(0)"; a.onclick = function(){ storeLink(link); if (!$(a).parent().parent().hasClass('selected')) { $('.item').removeClass('selected'); $('.item').removeAttr('id'); $(a).parent().parent().addClass('selected'); $(a).parent().parent().attr('id','selected'); } var anchor = $(aname); gotoAnchor(anchor,aname,true); }; } else { a.href = url; a.onclick = function() { storeLink(link); } } } else { if (childrenData != null) { a.className = "nolink"; a.href = "javascript:void(0)"; a.onclick = node.expandToggle.onclick; } } node.childrenUL = null; node.getChildrenUL = function() { if (!node.childrenUL) { node.childrenUL = document.createElement("ul"); node.childrenUL.className = "children_ul"; node.childrenUL.style.display = "none"; node.li.appendChild(node.childrenUL); } return node.childrenUL; }; return node; } function showRoot() { var headerHeight = $("#top").height(); var footerHeight = $("#nav-path").height(); var windowHeight = $(window).height() - headerHeight - footerHeight; (function (){ // retry until we can scroll to the selected item try { var navtree=$('#nav-tree'); navtree.scrollTo('#selected',0,{offset:-windowHeight/2}); } catch (err) { setTimeout(arguments.callee, 0); } })(); } function expandNode(o, node, imm, showRoot) { if (node.childrenData && !node.expanded) { if (typeof(node.childrenData)==='string') { var varName = node.childrenData; getScript(node.relpath+varName,function(){ node.childrenData = getData(varName); expandNode(o, node, imm, showRoot); }, showRoot); } else { if (!node.childrenVisited) { getNode(o, node); } if (imm || ($.browser.msie && $.browser.version>8)) { // somehow slideDown jumps to the start of tree for IE9 :-( $(node.getChildrenUL()).show(); } else { $(node.getChildrenUL()).slideDown("fast"); } if (node.isLast) { node.plus_img.src = node.relpath+"ftv2mlastnode.png"; } else { node.plus_img.src = node.relpath+"ftv2mnode.png"; } node.expanded = true; } } } function glowEffect(n,duration) { n.addClass('glow').delay(duration).queue(function(next){ $(this).removeClass('glow');next(); }); } function highlightAnchor() { var aname = $(location).attr('hash'); var anchor = $(aname); if (anchor.parent().attr('class')=='memItemLeft'){ var rows = $('.memberdecls tr[class$="'+ window.location.hash.substring(1)+'"]'); glowEffect(rows.children(),300); // member without details } else if (anchor.parents().slice(2).prop('tagName')=='TR') { glowEffect(anchor.parents('div.memitem'),1000); // enum value } else if (anchor.parent().attr('class')=='fieldtype'){ glowEffect(anchor.parent().parent(),1000); // struct field } else if (anchor.parent().is(":header")) { glowEffect(anchor.parent(),1000); // section header } else { glowEffect(anchor.next(),1000); // normal member } gotoAnchor(anchor,aname,false); } function selectAndHighlight(hash,n) { var a; if (hash) { var link=stripPath($(location).attr('pathname'))+':'+hash.substring(1); a=$('.item a[class$="'+link+'"]'); } if (a && a.length) { a.parent().parent().addClass('selected'); a.parent().parent().attr('id','selected'); highlightAnchor(); } else if (n) { $(n.itemDiv).addClass('selected'); $(n.itemDiv).attr('id','selected'); } if ($('#nav-tree-contents .item:first').hasClass('selected')) { $('#nav-sync').css('top','30px'); } else { $('#nav-sync').css('top','5px'); } showRoot(); } function showNode(o, node, index, hash) { if (node && node.childrenData) { if (typeof(node.childrenData)==='string') { var varName = node.childrenData; getScript(node.relpath+varName,function(){ node.childrenData = getData(varName); showNode(o,node,index,hash); },true); } else { if (!node.childrenVisited) { getNode(o, node); } $(node.getChildrenUL()).show(); if (node.isLast) { node.plus_img.src = node.relpath+"ftv2mlastnode.png"; } else { node.plus_img.src = node.relpath+"ftv2mnode.png"; } node.expanded = true; var n = node.children[o.breadcrumbs[index]]; if (index+1<o.breadcrumbs.length) { showNode(o,n,index+1,hash); } else { if (typeof(n.childrenData)==='string') { var varName = n.childrenData; getScript(n.relpath+varName,function(){ n.childrenData = getData(varName); node.expanded=false; showNode(o,node,index,hash); // retry with child node expanded },true); } else { var rootBase = stripPath(o.toroot.replace(/\..+$/, '')); if (rootBase=="index" || rootBase=="pages" || rootBase=="search") { expandNode(o, n, true, true); } selectAndHighlight(hash,n); } } } } else { selectAndHighlight(hash); } } function getNode(o, po) { po.childrenVisited = true; var l = po.childrenData.length-1; for (var i in po.childrenData) { var nodeData = po.childrenData[i]; po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2], i==l); } } function gotoNode(o,subIndex,root,hash,relpath) { var nti = navTreeSubIndices[subIndex][root+hash]; o.breadcrumbs = $.extend(true, [], nti ? nti : navTreeSubIndices[subIndex][root]); if (!o.breadcrumbs && root!=NAVTREE[0][1]) { // fallback: show index navTo(o,NAVTREE[0][1],"",relpath); $('.item').removeClass('selected'); $('.item').removeAttr('id'); } if (o.breadcrumbs) { o.breadcrumbs.unshift(0); // add 0 for root node showNode(o, o.node, 0, hash); } } function navTo(o,root,hash,relpath) { var link = cachedLink(); if (link) { var parts = link.split('#'); root = parts[0]; if (parts.length>1) hash = '#'+parts[1]; else hash=''; } if (hash.match(/^#l\d+$/)) { var anchor=$('a[name='+hash.substring(1)+']'); glowEffect(anchor.parent(),1000); // line number hash=''; // strip line number anchors //root=root.replace(/_source\./,'.'); // source link to doc link } var url=root+hash; var i=-1; while (NAVTREEINDEX[i+1]<=url) i++; if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index if (navTreeSubIndices[i]) { gotoNode(o,i,root,hash,relpath) } else { getScript(relpath+'navtreeindex'+i,function(){ navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); if (navTreeSubIndices[i]) { gotoNode(o,i,root,hash,relpath); } },true); } } function showSyncOff(n,relpath) { n.html('<img src="'+relpath+'sync_off.png" title="'+SYNCOFFMSG+'"/>'); } function showSyncOn(n,relpath) { n.html('<img src="'+relpath+'sync_on.png" title="'+SYNCONMSG+'"/>'); } function toggleSyncButton(relpath) { var navSync = $('#nav-sync'); if (navSync.hasClass('sync')) { navSync.removeClass('sync'); showSyncOff(navSync,relpath); storeLink(stripPath2($(location).attr('pathname'))+$(location).attr('hash')); } else { navSync.addClass('sync'); showSyncOn(navSync,relpath); deleteLink(); } } function initNavTree(toroot,relpath) { var o = new Object(); o.toroot = toroot; o.node = new Object(); o.node.li = document.getElementById("nav-tree-contents"); o.node.childrenData = NAVTREE; o.node.children = new Array(); o.node.childrenUL = document.createElement("ul"); o.node.getChildrenUL = function() { return o.node.childrenUL; }; o.node.li.appendChild(o.node.childrenUL); o.node.depth = 0; o.node.relpath = relpath; o.node.expanded = false; o.node.isLast = true; o.node.plus_img = document.createElement("img"); o.node.plus_img.src = relpath+"ftv2pnode.png"; o.node.plus_img.width = 16; o.node.plus_img.height = 22; if (localStorageSupported()) { var navSync = $('#nav-sync'); if (cachedLink()) { showSyncOff(navSync,relpath); navSync.removeClass('sync'); } else { showSyncOn(navSync,relpath); } navSync.click(function(){ toggleSyncButton(relpath); }); } navTo(o,toroot,window.location.hash,relpath); $(window).bind('hashchange', function(){ if (window.location.hash && window.location.hash.length>1){ var a; if ($(location).attr('hash')){ var clslink=stripPath($(location).attr('pathname'))+':'+ $(location).attr('hash').substring(1); a=$('.item a[class$="'+clslink+'"]'); } if (a==null || !$(a).parent().parent().hasClass('selected')){ $('.item').removeClass('selected'); $('.item').removeAttr('id'); } var link=stripPath2($(location).attr('pathname')); navTo(o,link,$(location).attr('hash'),relpath); } else if (!animationInProgress) { $('#doc-content').scrollTop(0); $('.item').removeClass('selected'); $('.item').removeAttr('id'); navTo(o,toroot,window.location.hash,relpath); } }) $(window).load(showRoot); }