44 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`."><meta name="keywords" content="rust, rustlang, rust-lang, graph"><title>maplibre::render::graph - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><script defer src="../../../main.js"></script>
<noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.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><a class="sidebar-logo" href="../../../maplibre/index.html"><div class="logo-container"><img class="rust-logo" src="../../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"></h2>
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../../maplibre/index.html"><div class="logo-container"><img class="rust-logo" src="../../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"><a href="#">Module graph</a></h2><div class="sidebar-elems"><section><div class="block"><ul><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></div></section><div id="sidebar-vars" data-name="graph" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../../maplibre/index.html"><img class="rust-logo" src="../../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">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" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../../src/maplibre/render/graph/mod.rs.html#1-46">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="mod" href="context/index.html" title="maplibre::render::graph::context mod">context</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="edge/index.html" title="maplibre::render::graph::edge mod">edge</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="graph/index.html" title="maplibre::render::graph::graph mod">graph</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="node/index.html" title="maplibre::render::graph::node mod">node</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="node_slot/index.html" title="maplibre::render::graph::node_slot mod">node_slot</a></div><div class="item-right docblock-short"></div></div></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Edges.html" title="maplibre::render::graph::Edges struct">Edges</a></div><div class="item-right docblock-short"><p>A collection of input and output <a href="edge/enum.Edge.html"><code>Edges</code></a> for a <a href="node/trait.Node.html" title="Node"><code>Node</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.EmptyNode.html" title="maplibre::render::graph::EmptyNode struct">EmptyNode</a></div><div class="item-right docblock-short"><p>A <a href="node/trait.Node.html" title="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"><code>RenderGraph</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.GraphInputNode.html" title="maplibre::render::graph::GraphInputNode struct">GraphInputNode</a></div><div class="item-right docblock-short"><p>A <a href="node/trait.Node.html" title="Node"><code>Node</code></a> which acts as an entry point for a <a href="graph/struct.RenderGraph.html" title="RenderGraph"><code>RenderGraph</code></a> with custom inputs.
It has the same input and output slots and simply copies them over when run.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.NodeId.html" title="maplibre::render::graph::NodeId struct">NodeId</a></div><div class="item-right docblock-short"><p>A <a href="node/trait.Node.html" title="Node"><code>Node</code></a> identifier.
It automatically generates its own random uuid.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.NodeState.html" title="maplibre::render::graph::NodeState struct">NodeState</a></div><div class="item-right docblock-short"><p>The internal representation of a <a href="node/trait.Node.html" title="Node"><code>Node</code></a>, with all data required
by the <a href="graph/struct.RenderGraph.html"><code>RenderGraph</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.RenderContext.html" title="maplibre::render::graph::RenderContext struct">RenderContext</a></div><div class="item-right docblock-short"><p>The context with all information required to interact with the GPU.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.RenderGraph.html" title="maplibre::render::graph::RenderGraph struct">RenderGraph</a></div><div class="item-right docblock-short"><p>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.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.RenderGraphContext.html" title="maplibre::render::graph::RenderGraphContext struct">RenderGraphContext</a></div><div class="item-right docblock-short"><p>The context with all graph information required to run a <a href="node/trait.Node.html"><code>Node</code></a>.
This context is created for each node by the <code>RenderGraphRunner</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.RunSubGraph.html" title="maplibre::render::graph::RunSubGraph struct">RunSubGraph</a></div><div class="item-right docblock-short"><p>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.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.SlotInfo.html" title="maplibre::render::graph::SlotInfo struct">SlotInfo</a></div><div class="item-right docblock-short"><p>The internal representation of a slot, which specifies its <a href="node_slot/enum.SlotType.html" title="SlotType"><code>SlotType</code></a> and name.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.SlotInfos.html" title="maplibre::render::graph::SlotInfos struct">SlotInfos</a></div><div class="item-right docblock-short"><p>A collection of input or output <a href="node_slot/struct.SlotInfo.html"><code>SlotInfos</code></a> for
a <a href="node/struct.NodeState.html"><code>NodeState</code></a>.</p>
</div></div></div><h2 id="enums" class="small-section-header"><a href="#enums">Enums</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.Edge.html" title="maplibre::render::graph::Edge enum">Edge</a></div><div class="item-right docblock-short"><p>An edge, which connects two <a href="node/trait.Node.html"><code>Nodes</code></a> in
a <a href="crate::render_graph::RenderGraph"><code>RenderGraph</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.EdgeExistence.html" title="maplibre::render::graph::EdgeExistence enum">EdgeExistence</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.InputSlotError.html" title="maplibre::render::graph::InputSlotError enum">InputSlotError</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.NodeLabel.html" title="maplibre::render::graph::NodeLabel enum">NodeLabel</a></div><div class="item-right docblock-short"><p>A <a href="node/enum.NodeLabel.html" title="NodeLabel"><code>NodeLabel</code></a> is used to reference a <a href="node/struct.NodeState.html" title="NodeState"><code>NodeState</code></a> by either its name or <a href="node/struct.NodeId.html" title="NodeId"><code>NodeId</code></a>
inside the <a href="graph/struct.RenderGraph.html"><code>RenderGraph</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.NodeRunError.html" title="maplibre::render::graph::NodeRunError enum">NodeRunError</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.OutputSlotError.html" title="maplibre::render::graph::OutputSlotError enum">OutputSlotError</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.RenderGraphError.html" title="maplibre::render::graph::RenderGraphError enum">RenderGraphError</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.RunSubGraphError.html" title="maplibre::render::graph::RunSubGraphError enum">RunSubGraphError</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.SlotLabel.html" title="maplibre::render::graph::SlotLabel enum">SlotLabel</a></div><div class="item-right docblock-short"><p>A <a href="node_slot/enum.SlotLabel.html" title="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"><code>RenderGraph</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.SlotType.html" title="maplibre::render::graph::SlotType enum">SlotType</a></div><div class="item-right docblock-short"><p>Describes the render resources created (output) or used (input) by
the render <a href="node/trait.Node.html"><code>Nodes</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.SlotValue.html" title="maplibre::render::graph::SlotValue enum">SlotValue</a></div><div class="item-right docblock-short"><p>A value passed between render <a href="node/trait.Node.html"><code>Nodes</code></a>.
Corresponds to the <a href="node_slot/enum.SlotType.html" title="SlotType"><code>SlotType</code></a> specified in the <a href="graph/struct.RenderGraph.html"><code>RenderGraph</code></a>.</p>
</div></div></div><h2 id="traits" class="small-section-header"><a href="#traits">Traits</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.Node.html" title="maplibre::render::graph::Node trait">Node</a></div><div class="item-right docblock-short"><p>A render node that can be added to a <a href="graph/struct.RenderGraph.html"><code>RenderGraph</code></a>.</p>
</div></div></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="maplibre" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.60.0 (7737e0b5c 2022-04-04)" ></div>
</body></html>