17 lines
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `graph` mod in crate `maplibre`."><title>maplibre::render::graph - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="maplibre" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../maplibre/index.html">maplibre</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Module graph</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></section><h2><a href="../index.html">In maplibre::render</a></h2></div></nav><div class="sidebar-resizer"></div>
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../maplibre/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Module <a href="../../index.html">maplibre</a>::<wbr><a href="../index.html">render</a>::<wbr><a class="mod" href="#">graph</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../../src/maplibre/render/graph/mod.rs.html#1-45">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><h2 id="modules" class="section-header"><a href="#modules">Modules</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="context/index.html" title="mod maplibre::render::graph::context">context</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div class="item-name"><a class="mod" href="edge/index.html" title="mod maplibre::render::graph::edge">edge</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div class="item-name"><a class="mod" href="graph/index.html" title="mod maplibre::render::graph::graph">graph</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div class="item-name"><a class="mod" href="node/index.html" title="mod maplibre::render::graph::node">node</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div class="item-name"><a class="mod" href="node_slot/index.html" title="mod maplibre::render::graph::node_slot">node_slot</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li></ul><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.Edges.html" title="struct maplibre::render::graph::Edges">Edges</a></div><div class="desc docblock-short">A collection of input and output <a href="edge/enum.Edge.html" title="enum maplibre::render::graph::edge::Edge"><code>Edges</code></a> for a <a href="node/trait.Node.html" title="trait maplibre::render::graph::node::Node"><code>Node</code></a>.</div></li><li><div class="item-name"><a class="struct" href="struct.EmptyNode.html" title="struct maplibre::render::graph::EmptyNode">EmptyNode</a></div><div class="desc docblock-short">A <a href="node/trait.Node.html" title="trait maplibre::render::graph::node::Node"><code>Node</code></a> without any inputs, outputs and subgraphs, which does nothing when run.
Used (as a label) to bundle multiple dependencies into one inside
the <a href="graph/struct.RenderGraph.html" title="struct maplibre::render::graph::graph::RenderGraph"><code>RenderGraph</code></a>.</div></li><li><div class="item-name"><a class="struct" href="struct.GraphInputNode.html" title="struct maplibre::render::graph::GraphInputNode">GraphInputNode</a></div><div class="desc docblock-short">A <a href="node/trait.Node.html" title="trait maplibre::render::graph::node::Node"><code>Node</code></a> which acts as an entry point for a <a href="graph/struct.RenderGraph.html" title="struct maplibre::render::graph::graph::RenderGraph"><code>RenderGraph</code></a> with custom inputs.
It has the same input and output slots and simply copies them over when run.</div></li><li><div class="item-name"><a class="struct" href="struct.NodeId.html" title="struct maplibre::render::graph::NodeId">NodeId</a></div><div class="desc docblock-short">A <a href="node/trait.Node.html" title="trait maplibre::render::graph::node::Node"><code>Node</code></a> identifier.
It automatically generates its own random uuid.</div></li><li><div class="item-name"><a class="struct" href="struct.NodeState.html" title="struct maplibre::render::graph::NodeState">NodeState</a></div><div class="desc docblock-short">The internal representation of a <a href="node/trait.Node.html" title="trait maplibre::render::graph::node::Node"><code>Node</code></a>, with all data required
by the <a href="graph/struct.RenderGraph.html" title="struct maplibre::render::graph::graph::RenderGraph"><code>RenderGraph</code></a>.</div></li><li><div class="item-name"><a class="struct" href="struct.RenderContext.html" title="struct maplibre::render::graph::RenderContext">RenderContext</a></div><div class="desc docblock-short">The context with all information required to interact with the GPU.</div></li><li><div class="item-name"><a class="struct" href="struct.RenderGraph.html" title="struct maplibre::render::graph::RenderGraph">RenderGraph</a></div><div class="desc docblock-short">The render graph configures the modular, parallel and re-usable render logic.
It is a retained and stateless (nodes itself my have their internal state) structure,
which can not be modified while it is executed by the graph runner.</div></li><li><div class="item-name"><a class="struct" href="struct.RenderGraphContext.html" title="struct maplibre::render::graph::RenderGraphContext">RenderGraphContext</a></div><div class="desc docblock-short">The context with all graph information required to run a <a href="node/trait.Node.html" title="trait maplibre::render::graph::node::Node"><code>Node</code></a>.
This context is created for each node by the <code>RenderGraphRunner</code>.</div></li><li><div class="item-name"><a class="struct" href="struct.RunSubGraph.html" title="struct maplibre::render::graph::RunSubGraph">RunSubGraph</a></div><div class="desc docblock-short">A command that signals the graph runner to run the sub graph corresponding to the <code>name</code>
with the specified <code>inputs</code> next.</div></li><li><div class="item-name"><a class="struct" href="struct.SlotInfo.html" title="struct maplibre::render::graph::SlotInfo">SlotInfo</a></div><div class="desc docblock-short">The internal representation of a slot, which specifies its <a href="node_slot/enum.SlotType.html" title="enum maplibre::render::graph::node_slot::SlotType"><code>SlotType</code></a> and name.</div></li><li><div class="item-name"><a class="struct" href="struct.SlotInfos.html" title="struct maplibre::render::graph::SlotInfos">SlotInfos</a></div><div class="desc docblock-short">A collection of input or output <a href="node_slot/struct.SlotInfo.html" title="struct maplibre::render::graph::node_slot::SlotInfo"><code>SlotInfos</code></a> for
a <a href="node/struct.NodeState.html" title="struct maplibre::render::graph::node::NodeState"><code>NodeState</code></a>.</div></li></ul><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.Edge.html" title="enum maplibre::render::graph::Edge">Edge</a></div><div class="desc docblock-short">An edge, which connects two <a href="node/trait.Node.html" title="trait maplibre::render::graph::node::Node"><code>Nodes</code></a> in
a <a href="crate::render_graph::RenderGraph"><code>RenderGraph</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.EdgeExistence.html" title="enum maplibre::render::graph::EdgeExistence">EdgeExistence</a></div></li><li><div class="item-name"><a class="enum" href="enum.InputSlotError.html" title="enum maplibre::render::graph::InputSlotError">InputSlotError</a></div></li><li><div class="item-name"><a class="enum" href="enum.NodeLabel.html" title="enum maplibre::render::graph::NodeLabel">NodeLabel</a></div><div class="desc docblock-short">A <a href="node/enum.NodeLabel.html" title="enum maplibre::render::graph::node::NodeLabel"><code>NodeLabel</code></a> is used to reference a <a href="node/struct.NodeState.html" title="struct maplibre::render::graph::node::NodeState"><code>NodeState</code></a> by either its name or <a href="node/struct.NodeId.html" title="struct maplibre::render::graph::node::NodeId"><code>NodeId</code></a>
inside the <a href="graph/struct.RenderGraph.html" title="struct maplibre::render::graph::graph::RenderGraph"><code>RenderGraph</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.NodeRunError.html" title="enum maplibre::render::graph::NodeRunError">NodeRunError</a></div></li><li><div class="item-name"><a class="enum" href="enum.OutputSlotError.html" title="enum maplibre::render::graph::OutputSlotError">OutputSlotError</a></div></li><li><div class="item-name"><a class="enum" href="enum.RenderGraphError.html" title="enum maplibre::render::graph::RenderGraphError">RenderGraphError</a></div></li><li><div class="item-name"><a class="enum" href="enum.RunSubGraphError.html" title="enum maplibre::render::graph::RunSubGraphError">RunSubGraphError</a></div></li><li><div class="item-name"><a class="enum" href="enum.SlotLabel.html" title="enum maplibre::render::graph::SlotLabel">SlotLabel</a></div><div class="desc docblock-short">A <a href="node_slot/enum.SlotLabel.html" title="enum maplibre::render::graph::node_slot::SlotLabel"><code>SlotLabel</code></a> is used to reference a slot by either its name or index
inside the <a href="graph/struct.RenderGraph.html" title="struct maplibre::render::graph::graph::RenderGraph"><code>RenderGraph</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.SlotType.html" title="enum maplibre::render::graph::SlotType">SlotType</a></div><div class="desc docblock-short">Describes the render resources created (output) or used (input) by
the render <a href="node/trait.Node.html" title="trait maplibre::render::graph::node::Node"><code>Nodes</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.SlotValue.html" title="enum maplibre::render::graph::SlotValue">SlotValue</a></div><div class="desc docblock-short">A value passed between render <a href="node/trait.Node.html" title="trait maplibre::render::graph::node::Node"><code>Nodes</code></a>.
Corresponds to the <a href="node_slot/enum.SlotType.html" title="enum maplibre::render::graph::node_slot::SlotType"><code>SlotType</code></a> specified in the <a href="graph/struct.RenderGraph.html" title="struct maplibre::render::graph::graph::RenderGraph"><code>RenderGraph</code></a>.</div></li></ul><h2 id="traits" class="section-header"><a href="#traits">Traits</a></h2><ul class="item-table"><li><div class="item-name"><a class="trait" href="trait.Node.html" title="trait maplibre::render::graph::Node">Node</a></div><div class="desc docblock-short">A render node that can be added to a <a href="graph/struct.RenderGraph.html" title="struct maplibre::render::graph::graph::RenderGraph"><code>RenderGraph</code></a>.</div></li></ul></section></div></main></body></html>