-
Notifications
You must be signed in to change notification settings - Fork 49
/
caches.html
14 lines (10 loc) · 6.19 KB
/
caches.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Cache types · RigidBodyDynamics.jl</title><link href="https://cdnjs.cloudflare.com/ajax/libs/normalize/4.2.0/normalize.min.css" rel="stylesheet" type="text/css"/><link href="https://fonts.googleapis.com/css?family=Lato|Roboto+Mono" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.2.0/require.min.js" data-main="assets/documenter.js"></script><script src="siteinfo.js"></script><script src="../versions.js"></script><link href="assets/documenter.css" rel="stylesheet" type="text/css"/></head><body><nav class="toc"><h1>RigidBodyDynamics.jl</h1><select id="version-selector" onChange="window.location.href=this.value" style="visibility: hidden"></select><form class="search" id="search-form" action="search.html"><input id="search-query" name="q" type="text" placeholder="Search docs"/></form><ul><li><a class="toctext" href="index.html">Home</a></li><li><a class="toctext" href="quickstart.html">Quick start guide</a></li><li><a class="toctext" href="spatial.html">Spatial vector algebra</a></li><li><a class="toctext" href="joints.html">Joints</a></li><li><a class="toctext" href="rigidbody.html">Rigid bodies</a></li><li><a class="toctext" href="mechanism.html">Mechanism</a></li><li><a class="toctext" href="mechanismstate.html">MechanismState</a></li><li><a class="toctext" href="algorithms.html">Kinematics/dynamics algorithms</a></li><li><a class="toctext" href="customcollections.html">Custom collection types</a></li><li class="current"><a class="toctext" href="caches.html">Cache types</a><ul class="internal"></ul></li><li><a class="toctext" href="simulation.html">Simulation</a></li><li><a class="toctext" href="benchmarks.html">Benchmarks</a></li></ul></nav><article id="docs"><header><nav><ul><li><a href="caches.html">Cache types</a></li></ul><a class="edit-page" href="https://github.com/JuliaRobotics/RigidBodyDynamics.jl/blob/master/docs/src/caches.md"><span class="fa"></span> Edit on GitHub</a></nav><hr/><div id="topbar"><span>Cache types</span><a class="fa fa-bars" href="#"></a></div></header><h1><a class="nav-anchor" id="StateCache-1" href="#StateCache-1"><code>StateCache</code></a></h1><section class="docstring"><div class="docstring-header"><a class="docstring-binding" id="RigidBodyDynamics.StateCache" href="#RigidBodyDynamics.StateCache"><code>RigidBodyDynamics.StateCache</code></a> — <span class="docstring-category">Type</span>.</div><div><div><pre><code class="language-julia">struct StateCache{M, JointCollection} <: RigidBodyDynamics.AbstractTypeDict</code></pre><p>A container that manages the creation and storage of <a href="mechanismstate.html#RigidBodyDynamics.MechanismState"><code>MechanismState</code></a> objects of various scalar types, associated with a given <code>Mechanism</code>.</p><p>A <code>StateCache</code> can be used to write generic functions that use <code>MechanismState</code> objects, while avoiding overhead due to the construction of a new <code>MechanismState</code> with a given scalar type every time the function is called.</p><p><strong>Examples</strong></p><pre><code class="language-julia-repl">julia> mechanism = rand_tree_mechanism(Float64, Revolute{Float64}, Prismatic{Float64}, QuaternionFloating{Float64});
julia> cache = StateCache(mechanism)
StateCache{…}
julia> state32 = cache[Float32]
MechanismState{Float32, Float64, Float64, …}(…)
julia> cache[Float32] === state32
true
julia> cache[Float64]
MechanismState{Float64, Float64, Float64, …}(…)</code></pre></div></div><a class="source-link" target="_blank" href="https://github.com/JuliaRobotics/RigidBodyDynamics.jl/blob/76c23d59410d62be3d363142875ea9c8c1eea909/src/caches.jl#L19">source</a></section><section class="docstring"><div class="docstring-header"><a class="docstring-binding" id="RigidBodyDynamics.DynamicsResultCache" href="#RigidBodyDynamics.DynamicsResultCache"><code>RigidBodyDynamics.DynamicsResultCache</code></a> — <span class="docstring-category">Type</span>.</div><div><div><pre><code class="language-julia">struct DynamicsResultCache{M} <: RigidBodyDynamics.AbstractTypeDict</code></pre><p>A container that manages the creation and storage of <a href="algorithms.html#RigidBodyDynamics.DynamicsResult"><code>DynamicsResult</code></a> objects of various scalar types, associated with a given <code>Mechanism</code>. Similar to <a href="caches.html#RigidBodyDynamics.StateCache"><code>StateCache</code></a>.</p></div></div><a class="source-link" target="_blank" href="https://github.com/JuliaRobotics/RigidBodyDynamics.jl/blob/76c23d59410d62be3d363142875ea9c8c1eea909/src/caches.jl#L67">source</a></section><section class="docstring"><div class="docstring-header"><a class="docstring-binding" id="RigidBodyDynamics.SegmentedVectorCache" href="#RigidBodyDynamics.SegmentedVectorCache"><code>RigidBodyDynamics.SegmentedVectorCache</code></a> — <span class="docstring-category">Type</span>.</div><div><div><pre><code class="language-julia">struct SegmentedVectorCache{K, KeyRange<:AbstractUnitRange{K}} <: RigidBodyDynamics.AbstractTypeDict</code></pre><p>A container that manages the creation and storage of heterogeneously typed <a href="customcollections.html#RigidBodyDynamics.CustomCollections.SegmentedVector"><code>SegmentedVector</code></a> objects. Similar to <a href="caches.html#RigidBodyDynamics.StateCache"><code>StateCache</code></a>.</p></div></div><a class="source-link" target="_blank" href="https://github.com/JuliaRobotics/RigidBodyDynamics.jl/blob/76c23d59410d62be3d363142875ea9c8c1eea909/src/caches.jl#L86">source</a></section><footer><hr/><a class="previous" href="customcollections.html"><span class="direction">Previous</span><span class="title">Custom collection types</span></a><a class="next" href="simulation.html"><span class="direction">Next</span><span class="title">Simulation</span></a></footer></article></body></html>