Metahuman_DNA_Calibration/docs/doxygen/build/xml/dna_2ReaderImpl_8h.xml

1336 lines
280 KiB
XML
Raw Normal View History

2022-11-28 19:21:26 +08:00
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.4" xml:lang="en-US">
<compounddef id="dna_2ReaderImpl_8h" kind="file" language="C++">
<compoundname>dna/ReaderImpl.h</compoundname>
<includes local="yes">dna/BaseImpl.h</includes>
<includes local="yes">dna/DenormalizedData.h</includes>
<includes refid="src_2dna_2TypeDefs_8h" local="yes">dna/TypeDefs.h</includes>
<includes local="no">cstddef</includes>
<includes local="no">limits</includes>
<includes local="no">tuple</includes>
<incdepgraph>
<node id="5">
<label>dna/types/Aliases.h</label>
<link refid="dna_2types_2Aliases_8h"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
</node>
<node id="6">
<label>dna/types/ArrayView.h</label>
<link refid="ArrayView_8h"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
</node>
<node id="10">
<label>dna/types/StringView.h</label>
<link refid="StringView_8h"/>
<childnode refid="6" relation="include">
</childnode>
</node>
<node id="12">
<label>pma/Defs.h</label>
<link refid="pma_2Defs_8h"/>
</node>
<node id="11">
<label>pma/MemoryResource.h</label>
<link refid="MemoryResource_8h"/>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
</node>
<node id="27">
<label>pma/PolyAllocator.h</label>
<link refid="PolyAllocator_8h"/>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
<childnode refid="31" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
</node>
<node id="13">
<label>pma/ScopedPtr.h</label>
<link refid="ScopedPtr_8h"/>
<childnode refid="14" relation="include">
</childnode>
</node>
<node id="32">
<label>pma/TypeDefs.h</label>
<link refid="include_2pma_2TypeDefs_8h"/>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="33" relation="include">
</childnode>
<childnode refid="34" relation="include">
</childnode>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
</node>
<node id="40">
<label>pma/resources/AlignedMemoryResource.h</label>
<link refid="AlignedMemoryResource_8h"/>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
</node>
<node id="41">
<label>pma/resources/ArenaMemoryResource.h</label>
<link refid="ArenaMemoryResource_8h"/>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
</node>
<node id="28">
<label>pma/resources/DefaultMemoryResource.h</label>
<link refid="DefaultMemoryResource_8h"/>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
</node>
<node id="16">
<label>status/Defs.h</label>
<link refid="status_2Defs_8h"/>
</node>
<node id="15">
<label>status/Status.h</label>
<link refid="Status_8h"/>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
</node>
<node id="17">
<label>status/StatusCode.h</label>
<link refid="StatusCode_8h"/>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
</node>
<node id="19">
<label>trio/Concepts.h</label>
<link refid="Concepts_8h"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
</node>
<node id="20">
<label>trio/Defs.h</label>
<link refid="trio_2Defs_8h"/>
</node>
<node id="18">
<label>trio/Stream.h</label>
<link refid="Stream_8h"/>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
</node>
<node id="24">
<label>trio/streams/FileStream.h</label>
<link refid="FileStream_8h"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
</node>
<node id="25">
<label>trio/streams/MemoryMappedFileStream.h</label>
<link refid="MemoryMappedFileStream_8h"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
</node>
<node id="26">
<label>trio/streams/MemoryStream.h</label>
<link refid="MemoryStream_8h"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
</node>
<node id="22">
<label>trio/types/Aliases.h</label>
<link refid="trio_2types_2Aliases_8h"/>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
</node>
<node id="23">
<label>trio/types/Parameters.h</label>
<link refid="Parameters_8h"/>
</node>
<node id="1">
<label>ReaderImpl.h</label>
<link refid="dna_2ReaderImpl_8h"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="46" relation="include">
</childnode>
<childnode refid="47" relation="include">
</childnode>
</node>
<node id="4">
<label>dna/TypeDefs.h</label>
<link refid="src_2dna_2TypeDefs_8h"/>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="32" relation="include">
</childnode>
<childnode refid="40" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="42" relation="include">
</childnode>
</node>
<node id="42">
<label>terse/types/DynArray.h</label>
<link refid="DynArray_8h"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="43" relation="include">
</childnode>
<childnode refid="44" relation="include">
</childnode>
<childnode refid="45" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
<childnode refid="31" relation="include">
</childnode>
</node>
<node id="7">
<label>algorithm</label>
</node>
<node id="8">
<label>cassert</label>
</node>
<node id="9">
<label>cstddef</label>
</node>
<node id="21">
<label>cstdint</label>
</node>
<node id="43">
<label>cstring</label>
</node>
<node id="2">
<label>dna/BaseImpl.h</label>
</node>
<node id="3">
<label>dna/DenormalizedData.h</label>
</node>
<node id="44">
<label>functional</label>
</node>
<node id="45">
<label>iterator</label>
</node>
<node id="46">
<label>limits</label>
</node>
<node id="33">
<label>list</label>
</node>
<node id="34">
<label>map</label>
</node>
<node id="29">
<label>memory</label>
</node>
<node id="30">
<label>scoped_allocator</label>
</node>
<node id="35">
<label>set</label>
</node>
<node id="36">
<label>string</label>
</node>
<node id="47">
<label>tuple</label>
</node>
<node id="31">
<label>type_traits</label>
</node>
<node id="37">
<label>unordered_map</label>
</node>
<node id="38">
<label>unordered_set</label>
</node>
<node id="14">
<label>utility</label>
</node>
<node id="39">
<label>vector</label>
</node>
</incdepgraph>
<innerclass refid="classdna_1_1ReaderImpl" prot="public">dna::ReaderImpl</innerclass>
<innernamespace refid="namespacedna">dna</innernamespace>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<programlisting>
<codeline lineno="1"><highlight class="comment">//<sp/>Copyright<sp/>Epic<sp/>Games,<sp/>Inc.<sp/>All<sp/>Rights<sp/>Reserved.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight></codeline>
<codeline lineno="3"><highlight class="normal"></highlight><highlight class="preprocessor">#pragma<sp/>once</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4"><highlight class="normal"></highlight></codeline>
<codeline lineno="5"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;dna/BaseImpl.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;dna/DenormalizedData.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="7"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="src_2dna_2TypeDefs_8h" kindref="compound">dna/TypeDefs.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="8"><highlight class="normal"></highlight></codeline>
<codeline lineno="9"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>_MSC_VER</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="10"><highlight class="normal"></highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/>#pragma<sp/>warning(push)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="11"><highlight class="normal"></highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/>#pragma<sp/>warning(disable<sp/>:<sp/>4365<sp/>4987)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="12"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="13"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;cstddef&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="14"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;limits&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="15"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;tuple&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="16"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>_MSC_VER</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="17"><highlight class="normal"></highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/>#pragma<sp/>warning(pop)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="18"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight></codeline>
<codeline lineno="20"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespacedna" kindref="compound">dna</ref><sp/>{</highlight></codeline>
<codeline lineno="21"><highlight class="normal"></highlight></codeline>
<codeline lineno="22"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="23" refid="classdna_1_1ReaderImpl" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classdna_1_1ReaderImpl" kindref="compound">ReaderImpl</ref><sp/>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/>TReaderBase,<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1BaseImpl" kindref="compound">BaseImpl</ref><sp/>{</highlight></codeline>
<codeline lineno="24"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="25" refid="classdna_1_1ReaderImpl_1a4eddc6e34a5f9e42db9fb5bb4c1e125a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">explicit</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1ReaderImpl_1a4eddc6e34a5f9e42db9fb5bb4c1e125a" kindref="member">ReaderImpl</ref>(<ref refid="classpma_1_1MemoryResource" kindref="compound">MemoryResource</ref>*<sp/>memRes_);</highlight></codeline>
<codeline lineno="26"><highlight class="normal"></highlight></codeline>
<codeline lineno="27"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>DescriptorReader<sp/>methods<sp/>start</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="28" refid="classdna_1_1ReaderImpl_1a5edd919c50fa7386b3e74b2ec5163007" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5edd919c50fa7386b3e74b2ec5163007" kindref="member">getName</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="29" refid="classdna_1_1ReaderImpl_1a71515069289352297d54e9620fba30a7" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespacedna_1a4a14ef1c085b2668735a8c8e965eec4f" kindref="member">Archetype</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a71515069289352297d54e9620fba30a7" kindref="member">getArchetype</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="30" refid="classdna_1_1ReaderImpl_1ac6efea09d83e1735816be80aafdadbc1" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespacedna_1ae2ab72c674a376b1ed4b37d59e7ec20f" kindref="member">Gender</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ac6efea09d83e1735816be80aafdadbc1" kindref="member">getGender</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="31" refid="classdna_1_1ReaderImpl_1ae2ddc31b03aaa53de56ce8cfd9163ea8" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1ae2ddc31b03aaa53de56ce8cfd9163ea8" kindref="member">getAge</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="32" refid="classdna_1_1ReaderImpl_1a36ae4b72aac88d91906241126c7f3495" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint32_t<sp/><ref refid="classdna_1_1ReaderImpl_1a36ae4b72aac88d91906241126c7f3495" kindref="member">getMetaDataCount</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="33" refid="classdna_1_1ReaderImpl_1a85e3f0cd448421641dcb098d6dcb7a2b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a85e3f0cd448421641dcb098d6dcb7a2b" kindref="member">getMetaDataKey</ref>(std::uint32_t<sp/>index)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="34" refid="classdna_1_1ReaderImpl_1a8e65a70d4985c20948ebfc8c52aaf184" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a8e65a70d4985c20948ebfc8c52aaf184" kindref="member">getMetaDataValue</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>key)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="35" refid="classdna_1_1ReaderImpl_1a5f6c443169de95c327fa0dd34ce90d9d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespacedna_1abf96ecde7d9e8593bf3b2dd0649645d7" kindref="member">TranslationUnit</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5f6c443169de95c327fa0dd34ce90d9d" kindref="member">getTranslationUnit</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="36" refid="classdna_1_1ReaderImpl_1a5b5fbc2a18d7dc7a012e4ecf57d63972" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespacedna_1a3c0e43a827bcc3c5546573ff589c2e38" kindref="member">RotationUnit</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5b5fbc2a18d7dc7a012e4ecf57d63972" kindref="member">getRotationUnit</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="37" refid="classdna_1_1ReaderImpl_1a1d6ab29dbea97d31677d6432062769ad" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structdna_1_1CoordinateSystem" kindref="compound">CoordinateSystem</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a1d6ab29dbea97d31677d6432062769ad" kindref="member">getCoordinateSystem</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="38" refid="classdna_1_1ReaderImpl_1ae8f135d7b71a353471516273dda76c47" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1ae8f135d7b71a353471516273dda76c47" kindref="member">getLODCount</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="39" refid="classdna_1_1ReaderImpl_1a602d639bacd3bfec2b62995fbcab49a8" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a602d639bacd3bfec2b62995fbcab49a8" kindref="member">getDBMaxLOD</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="40" refid="classdna_1_1ReaderImpl_1aca56f200fdaba8d1813746ab421dadec" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1aca56f200fdaba8d1813746ab421dadec" kindref="member">getDBComplexity</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="41" refid="classdna_1_1ReaderImpl_1ac3c5f4a38f1e364c5f548a379c3e18e1" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ac3c5f4a38f1e364c5f548a379c3e18e1" kindref="member">getDBName</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="42"><highlight class="normal"></highlight></codeline>
<codeline lineno="43"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>DefinitionReader<sp/>methods<sp/>start</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="44" refid="classdna_1_1ReaderImpl_1accf348be2ca2d7a253ba5a8fa0a0eb40" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1accf348be2ca2d7a253ba5a8fa0a0eb40" kindref="member">getGUIControlCount</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="45" refid="classdna_1_1ReaderImpl_1a981da716d32e0c57c193326588d5457f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a981da716d32e0c57c193326588d5457f" kindref="member">getGUIControlName</ref>(std::uint16_t<sp/>index)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="46" refid="classdna_1_1ReaderImpl_1acc0f580f4893b0962d433500dbd55555" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1acc0f580f4893b0962d433500dbd55555" kindref="member">getRawControlCount</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="47" refid="classdna_1_1ReaderImpl_1a3180a16050f396c24e5595ededb0a3b1" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a3180a16050f396c24e5595ededb0a3b1" kindref="member">getRawControlName</ref>(std::uint16_t<sp/>index)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="48" refid="classdna_1_1ReaderImpl_1ad7cbc5962b1756aef0951a439200c0d7" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1ad7cbc5962b1756aef0951a439200c0d7" kindref="member">getJointCount</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="49" refid="classdna_1_1ReaderImpl_1ab526bf1104c500803ffbdb4a163e9744" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ab526bf1104c500803ffbdb4a163e9744" kindref="member">getJointName</ref>(std::uint16_t<sp/>index)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="50" refid="classdna_1_1ReaderImpl_1ae55ab3455088c8b6b3845b4100a30dce" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1ae55ab3455088c8b6b3845b4100a30dce" kindref="member">getJointIndexListCount</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="51" refid="classdna_1_1ReaderImpl_1ae9487b282421a8d3640a3dc5ced6fd3c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ae9487b282421a8d3640a3dc5ced6fd3c" kindref="member">getJointIndicesForLOD</ref>(std::uint16_t<sp/>lod)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="52" refid="classdna_1_1ReaderImpl_1afb76e6e7400efe57bd11336a7c86172b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1afb76e6e7400efe57bd11336a7c86172b" kindref="member">getJointParentIndex</ref>(std::uint16_t<sp/>index)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="53" refid="classdna_1_1ReaderImpl_1a7580666eff2bcd269b186a41e8b753b8" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a7580666eff2bcd269b186a41e8b753b8" kindref="member">getBlendShapeChannelCount</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="54" refid="classdna_1_1ReaderImpl_1aeb001c4ae2f9318d0a558ffc53d2a278" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1aeb001c4ae2f9318d0a558ffc53d2a278" kindref="member">getBlendShapeChannelName</ref>(std::uint16_t<sp/>index)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="55" refid="classdna_1_1ReaderImpl_1a4351abbdf6c25e11810422cc00a1f2d3" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a4351abbdf6c25e11810422cc00a1f2d3" kindref="member">getBlendShapeChannelIndexListCount</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="56" refid="classdna_1_1ReaderImpl_1a1b0a7a2d54fb66ce587a688997b1d36a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a1b0a7a2d54fb66ce587a688997b1d36a" kindref="member">getBlendShapeChannelIndicesForLOD</ref>(std::uint16_t<sp/>lod)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="57" refid="classdna_1_1ReaderImpl_1a9975be336dfc3381f5e8ccca5c3f5e63" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a9975be336dfc3381f5e8ccca5c3f5e63" kindref="member">getAnimatedMapCount</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="58" refid="classdna_1_1ReaderImpl_1af4a3d0723b624f652fdacb2adaf5b00b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1af4a3d0723b624f652fdacb2adaf5b00b" kindref="member">getAnimatedMapName</ref>(std::uint16_t<sp/>index)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="59" refid="classdna_1_1ReaderImpl_1afbf5995e393062b5674863a706928533" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1afbf5995e393062b5674863a706928533" kindref="member">getAnimatedMapIndexListCount</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="60" refid="classdna_1_1ReaderImpl_1abcee6db673a185e01f66e2d194df72f1" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1abcee6db673a185e01f66e2d194df72f1" kindref="member">getAnimatedMapIndicesForLOD</ref>(std::uint16_t<sp/>lod)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="61" refid="classdna_1_1ReaderImpl_1a7e95f91012ef1a9df63a0e7f5a85895b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a7e95f91012ef1a9df63a0e7f5a85895b" kindref="member">getMeshCount</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="62" refid="classdna_1_1ReaderImpl_1af6462d9484e4e3f9f2e466bffab5b788" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1af6462d9484e4e3f9f2e466bffab5b788" kindref="member">getMeshName</ref>(std::uint16_t<sp/>index)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="63" refid="classdna_1_1ReaderImpl_1a5c36032dfd0ef3248600bbf84e05a274" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a5c36032dfd0ef3248600bbf84e05a274" kindref="member">getMeshIndexListCount</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="64" refid="classdna_1_1ReaderImpl_1aa2003607c09a73a42b86611622cd4de8" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1aa2003607c09a73a42b86611622cd4de8" kindref="member">getMeshIndicesForLOD</ref>(std::uint16_t<sp/>lod)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="65" refid="classdna_1_1ReaderImpl_1ab8ae70dd136a58d24d5c3bfb146c61bb" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1ab8ae70dd136a58d24d5c3bfb146c61bb" kindref="member">getMeshBlendShapeChannelMappingCount</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="66" refid="classdna_1_1ReaderImpl_1ab3ccc402373acbafa8d5fbc0c1d3c8ff" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structdna_1_1MeshBlendShapeChannelMapping" kindref="compound">MeshBlendShapeChannelMapping</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ab3ccc402373acbafa8d5fbc0c1d3c8ff" kindref="member">getMeshBlendShapeChannelMapping</ref>(std::uint16_t<sp/>index)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="67" refid="classdna_1_1ReaderImpl_1a0552e376fdb88bb0c07cf260a592163c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a0552e376fdb88bb0c07cf260a592163c" kindref="member">getMeshBlendShapeChannelMappingIndicesForLOD</ref>(std::uint16_t<sp/>lod)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="68" refid="classdna_1_1ReaderImpl_1a1e49a0465b695858d920a852584fa9dc" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structdna_1_1Vector3" kindref="compound">Vector3</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a1e49a0465b695858d920a852584fa9dc" kindref="member">getNeutralJointTranslation</ref>(std::uint16_t<sp/>index)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="69" refid="classdna_1_1ReaderImpl_1ad87c8c8917eb71a40ebe88b25a373a90" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ad87c8c8917eb71a40ebe88b25a373a90" kindref="member">getNeutralJointTranslationXs</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="70" refid="classdna_1_1ReaderImpl_1a4a0a420bb59c6927d9f2d1a7d5c887d5" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a4a0a420bb59c6927d9f2d1a7d5c887d5" kindref="member">getNeutralJointTranslationYs</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="71" refid="classdna_1_1ReaderImpl_1ab626571e35909b4cb29215d322b5c454" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ab626571e35909b4cb29215d322b5c454" kindref="member">getNeutralJointTranslationZs</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="72" refid="classdna_1_1ReaderImpl_1ae272ad7fef3d41f28b813b389904c67c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structdna_1_1Vector3" kindref="compound">Vector3</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ae272ad7fef3d41f28b813b389904c67c" kindref="member">getNeutralJointRotation</ref>(std::uint16_t<sp/>index)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="73" refid="classdna_1_1ReaderImpl_1aabdbf28d60758f25fb86b7604fc8b492" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1aabdbf28d60758f25fb86b7604fc8b492" kindref="member">getNeutralJointRotationXs</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="74" refid="classdna_1_1ReaderImpl_1a9d749ae40f86a8c7c107733b8b2fd6a3" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a9d749ae40f86a8c7c107733b8b2fd6a3" kindref="member">getNeutralJointRotationYs</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="75" refid="classdna_1_1ReaderImpl_1ac6e903945fc130d37654e6cb28f82e51" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ac6e903945fc130d37654e6cb28f82e51" kindref="member">getNeutralJointRotationZs</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="76"><highlight class="normal"></highlight></codeline>
<codeline lineno="77"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>BehaviorReader<sp/>methods<sp/>start</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="78" refid="classdna_1_1ReaderImpl_1a961913b02703cc298339618d1592a98e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a961913b02703cc298339618d1592a98e" kindref="member">getGUIToRawInputIndices</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="79" refid="classdna_1_1ReaderImpl_1abfda7e1c6270ddcf7c0187730ae5ff64" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1abfda7e1c6270ddcf7c0187730ae5ff64" kindref="member">getGUIToRawOutputIndices</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="80" refid="classdna_1_1ReaderImpl_1a71a6574ae85c319336d22d41837dfdd9" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a71a6574ae85c319336d22d41837dfdd9" kindref="member">getGUIToRawFromValues</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="81" refid="classdna_1_1ReaderImpl_1a5ec36eb78da0f61715a4a64ac622e031" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5ec36eb78da0f61715a4a64ac622e031" kindref="member">getGUIToRawToValues</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="82" refid="classdna_1_1ReaderImpl_1a9d65ae0fee6395114ef5d85fa98b6034" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a9d65ae0fee6395114ef5d85fa98b6034" kindref="member">getGUIToRawSlopeValues</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="83" refid="classdna_1_1ReaderImpl_1a5f2637eff4ec68e522f6908b63f8aedf" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5f2637eff4ec68e522f6908b63f8aedf" kindref="member">getGUIToRawCutValues</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="84" refid="classdna_1_1ReaderImpl_1aa5df124ca7a6fe8c8ba9b8975468191a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1aa5df124ca7a6fe8c8ba9b8975468191a" kindref="member">getPSDCount</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="85" refid="classdna_1_1ReaderImpl_1a82cd06debfa6eb79741484fedf7177aa" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a82cd06debfa6eb79741484fedf7177aa" kindref="member">getPSDRowIndices</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="86" refid="classdna_1_1ReaderImpl_1aa6946964b70a90e89d4c6a4e2acfad07" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1aa6946964b70a90e89d4c6a4e2acfad07" kindref="member">getPSDColumnIndices</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="87" refid="classdna_1_1ReaderImpl_1ad510393fa0877f6af7ac3dd2993e4fe5" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ad510393fa0877f6af7ac3dd2993e4fe5" kindref="member">getPSDValues</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="88" refid="classdna_1_1ReaderImpl_1a579bf8df63397ee31d233b41f1734090" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a579bf8df63397ee31d233b41f1734090" kindref="member">getJointRowCount</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="89" refid="classdna_1_1ReaderImpl_1af626c72e8a7abd61bbc9b4ab7bf1ba26" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1af626c72e8a7abd61bbc9b4ab7bf1ba26" kindref="member">getJointColumnCount</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="90" refid="classdna_1_1ReaderImpl_1a4f1fa96cd0ead2ee3ed97b66065d9784" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a4f1fa96cd0ead2ee3ed97b66065d9784" kindref="member">getJointVariableAttributeIndices</ref>(std::uint16_t<sp/>lod)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="91" refid="classdna_1_1ReaderImpl_1a820a661617acca86d5472f4e6efc339d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a820a661617acca86d5472f4e6efc339d" kindref="member">getJointGroupCount</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="92" refid="classdna_1_1ReaderImpl_1a8f39e5b86f5779b9470d4d7c9360e11f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a8f39e5b86f5779b9470d4d7c9360e11f" kindref="member">getJointGroupLODs</ref>(std::uint16_t<sp/>jointGroupIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="93" refid="classdna_1_1ReaderImpl_1a4fd0b0de2f0d7d462da784e11e0b99db" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a4fd0b0de2f0d7d462da784e11e0b99db" kindref="member">getJointGroupInputIndices</ref>(std::uint16_t<sp/>jointGroupIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="94" refid="classdna_1_1ReaderImpl_1a269a2542860a3dbd2c18eeb71ddfca48" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a269a2542860a3dbd2c18eeb71ddfca48" kindref="member">getJointGroupOutputIndices</ref>(std::uint16_t<sp/>jointGroupIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="95" refid="classdna_1_1ReaderImpl_1ab523ed4332ef007b9368d2ecf03ab572" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ab523ed4332ef007b9368d2ecf03ab572" kindref="member">getJointGroupValues</ref>(std::uint16_t<sp/>jointGroupIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="96" refid="classdna_1_1ReaderImpl_1ab802650f9ec38e3bdfb403bd1fec4915" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ab802650f9ec38e3bdfb403bd1fec4915" kindref="member">getJointGroupJointIndices</ref>(std::uint16_t<sp/>jointGroupIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="97" refid="classdna_1_1ReaderImpl_1aac54b695f6d3f2e2d2fcecb3d933d1d1" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1aac54b695f6d3f2e2d2fcecb3d933d1d1" kindref="member">getBlendShapeChannelLODs</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="98" refid="classdna_1_1ReaderImpl_1a7ede6b0475651224b6b7bef5fa405f4f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a7ede6b0475651224b6b7bef5fa405f4f" kindref="member">getBlendShapeChannelOutputIndices</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="99" refid="classdna_1_1ReaderImpl_1a7b7335431d32e8530cb38db817c907dc" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a7b7335431d32e8530cb38db817c907dc" kindref="member">getBlendShapeChannelInputIndices</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="100" refid="classdna_1_1ReaderImpl_1afc68f9759453440236a84c53ec89299a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1afc68f9759453440236a84c53ec89299a" kindref="member">getAnimatedMapLODs</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="101" refid="classdna_1_1ReaderImpl_1ac9552675b375d9105ccfdce063041fdd" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ac9552675b375d9105ccfdce063041fdd" kindref="member">getAnimatedMapInputIndices</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="102" refid="classdna_1_1ReaderImpl_1a5221c9e68ce8ed44d1ec83d0eb16a5a8" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5221c9e68ce8ed44d1ec83d0eb16a5a8" kindref="member">getAnimatedMapOutputIndices</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="103" refid="classdna_1_1ReaderImpl_1a0b8cab7471ca3831ad8ec27b71ce365d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a0b8cab7471ca3831ad8ec27b71ce365d" kindref="member">getAnimatedMapFromValues</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="104" refid="classdna_1_1ReaderImpl_1a5f7b41aed62ed8907026647f98f108dc" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5f7b41aed62ed8907026647f98f108dc" kindref="member">getAnimatedMapToValues</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="105" refid="classdna_1_1ReaderImpl_1ae83dce702042ab7a5fee8a9b94ff81a4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ae83dce702042ab7a5fee8a9b94ff81a4" kindref="member">getAnimatedMapSlopeValues</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="106" refid="classdna_1_1ReaderImpl_1a024d2a434ee21d7ee8674eb6eb98a8fa" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a024d2a434ee21d7ee8674eb6eb98a8fa" kindref="member">getAnimatedMapCutValues</ref>()<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="107"><highlight class="normal"></highlight></codeline>
<codeline lineno="108"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>GeometryReader<sp/>methods<sp/>start</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="109" refid="classdna_1_1ReaderImpl_1a76a42c049836ebf807d2f09b0f4a1f40" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint32_t<sp/><ref refid="classdna_1_1ReaderImpl_1a76a42c049836ebf807d2f09b0f4a1f40" kindref="member">getVertexPositionCount</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="110" refid="classdna_1_1ReaderImpl_1aa124ea3c20c2ffd705a13c166d8a7376" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structdna_1_1Vector3" kindref="compound">Position</ref><sp/><ref refid="classdna_1_1ReaderImpl_1aa124ea3c20c2ffd705a13c166d8a7376" kindref="member">getVertexPosition</ref>(std::uint16_t<sp/>meshIndex,<sp/>std::uint32_t<sp/>vertexIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="111" refid="classdna_1_1ReaderImpl_1abfab10afc0871abf2a8973902f950dce" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1abfab10afc0871abf2a8973902f950dce" kindref="member">getVertexPositionXs</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="112" refid="classdna_1_1ReaderImpl_1a98a2a0d64c050bf6a88b1777a849f992" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a98a2a0d64c050bf6a88b1777a849f992" kindref="member">getVertexPositionYs</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="113" refid="classdna_1_1ReaderImpl_1a011b7aded68f336dc576d284851f0aa0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a011b7aded68f336dc576d284851f0aa0" kindref="member">getVertexPositionZs</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="114" refid="classdna_1_1ReaderImpl_1a8289d851f2941ef4ce248df7804222a8" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint32_t<sp/><ref refid="classdna_1_1ReaderImpl_1a8289d851f2941ef4ce248df7804222a8" kindref="member">getVertexTextureCoordinateCount</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="115" refid="classdna_1_1ReaderImpl_1a1afd36f4def07f8c9855e05323aaced6" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structdna_1_1TextureCoordinate" kindref="compound">TextureCoordinate</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a1afd36f4def07f8c9855e05323aaced6" kindref="member">getVertexTextureCoordinate</ref>(std::uint16_t<sp/>meshIndex,</highlight></codeline>
<codeline lineno="116"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint32_t<sp/>textureCoordinateIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="117" refid="classdna_1_1ReaderImpl_1a5435131d271e014c6a2df6388c036a56" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5435131d271e014c6a2df6388c036a56" kindref="member">getVertexTextureCoordinateUs</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="118" refid="classdna_1_1ReaderImpl_1a49af26d7a2ca1eef44119d6848a49d1d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a49af26d7a2ca1eef44119d6848a49d1d" kindref="member">getVertexTextureCoordinateVs</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="119" refid="classdna_1_1ReaderImpl_1a6954d40fde0541cca5fd7848f058c23a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint32_t<sp/><ref refid="classdna_1_1ReaderImpl_1a6954d40fde0541cca5fd7848f058c23a" kindref="member">getVertexNormalCount</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="120" refid="classdna_1_1ReaderImpl_1a3ae85767fd893e45c4e3b95ae47de9e4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structdna_1_1Vector3" kindref="compound">Normal</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a3ae85767fd893e45c4e3b95ae47de9e4" kindref="member">getVertexNormal</ref>(std::uint16_t<sp/>meshIndex,<sp/>std::uint32_t<sp/>normalIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="121" refid="classdna_1_1ReaderImpl_1ac9d192fb2cf3907ba8f4662863a109b7" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ac9d192fb2cf3907ba8f4662863a109b7" kindref="member">getVertexNormalXs</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="122" refid="classdna_1_1ReaderImpl_1aae830df7822337a2f372ce7e50af8349" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1aae830df7822337a2f372ce7e50af8349" kindref="member">getVertexNormalYs</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="123" refid="classdna_1_1ReaderImpl_1a5f8dbcde8762ce6d82960dad066f9044" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5f8dbcde8762ce6d82960dad066f9044" kindref="member">getVertexNormalZs</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="124" refid="classdna_1_1ReaderImpl_1a05ae2dbd7fd65c120ad090ca19615f91" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint32_t<sp/><ref refid="classdna_1_1ReaderImpl_1a05ae2dbd7fd65c120ad090ca19615f91" kindref="member">getFaceCount</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="125" refid="classdna_1_1ReaderImpl_1a41fc933603d09ebf0eed93942cb95fe3" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint32_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a41fc933603d09ebf0eed93942cb95fe3" kindref="member">getFaceVertexLayoutIndices</ref>(std::uint16_t<sp/>meshIndex,<sp/>std::uint32_t<sp/>faceIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="126" refid="classdna_1_1ReaderImpl_1adf7ff31cb12c193030378ab64790d323" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint32_t<sp/><ref refid="classdna_1_1ReaderImpl_1adf7ff31cb12c193030378ab64790d323" kindref="member">getVertexLayoutCount</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="127" refid="classdna_1_1ReaderImpl_1a508534d5babfbf0438adf0ad0e3a35e3" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structdna_1_1VertexLayout" kindref="compound">VertexLayout</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a508534d5babfbf0438adf0ad0e3a35e3" kindref="member">getVertexLayout</ref>(std::uint16_t<sp/>meshIndex,<sp/>std::uint32_t<sp/>layoutIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="128" refid="classdna_1_1ReaderImpl_1a9d9c2c1aaa79bf97dbfbedb822879310" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint32_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a9d9c2c1aaa79bf97dbfbedb822879310" kindref="member">getVertexLayoutPositionIndices</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="129" refid="classdna_1_1ReaderImpl_1a919767a1ab942d16510627827c67a132" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint32_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a919767a1ab942d16510627827c67a132" kindref="member">getVertexLayoutTextureCoordinateIndices</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="130" refid="classdna_1_1ReaderImpl_1afdaafdcee055e1085b797a158333b9ec" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint32_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1afdaafdcee055e1085b797a158333b9ec" kindref="member">getVertexLayoutNormalIndices</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="131" refid="classdna_1_1ReaderImpl_1aaabf4865fdf6c8e0bae1f2949eef29f1" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1aaabf4865fdf6c8e0bae1f2949eef29f1" kindref="member">getMaximumInfluencePerVertex</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="132" refid="classdna_1_1ReaderImpl_1a56b675830c4a92540aa273239321992b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint32_t<sp/><ref refid="classdna_1_1ReaderImpl_1a56b675830c4a92540aa273239321992b" kindref="member">getSkinWeightsCount</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="133" refid="classdna_1_1ReaderImpl_1a242c156216e60fd7f2dadf7b98c7956b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a242c156216e60fd7f2dadf7b98c7956b" kindref="member">getSkinWeightsValues</ref>(std::uint16_t<sp/>meshIndex,<sp/>std::uint32_t<sp/>vertexIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="134" refid="classdna_1_1ReaderImpl_1a3cd51b6126e022e94980682f73c34feb" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a3cd51b6126e022e94980682f73c34feb" kindref="member">getSkinWeightsJointIndices</ref>(std::uint16_t<sp/>meshIndex,</highlight></codeline>
<codeline lineno="135"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint32_t<sp/>vertexIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="136" refid="classdna_1_1ReaderImpl_1a86ec57e4dd7a8a8cf648328409c23d7c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a86ec57e4dd7a8a8cf648328409c23d7c" kindref="member">getBlendShapeTargetCount</ref>(std::uint16_t<sp/>meshIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="137" refid="classdna_1_1ReaderImpl_1a906a195ee4f65cf054c04cc65cab34e0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a906a195ee4f65cf054c04cc65cab34e0" kindref="member">getBlendShapeChannelIndex</ref>(std::uint16_t<sp/>meshIndex,<sp/>std::uint16_t<sp/>blendShapeTargetIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="138" refid="classdna_1_1ReaderImpl_1a886aa8c04812636274b2113510fc2d1c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint32_t<sp/><ref refid="classdna_1_1ReaderImpl_1a886aa8c04812636274b2113510fc2d1c" kindref="member">getBlendShapeTargetDeltaCount</ref>(std::uint16_t<sp/>meshIndex,<sp/>std::uint16_t<sp/>blendShapeTargetIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="139" refid="classdna_1_1ReaderImpl_1a99d70c755475ceb0cd6805387c577550" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structdna_1_1Vector3" kindref="compound">Delta</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a99d70c755475ceb0cd6805387c577550" kindref="member">getBlendShapeTargetDelta</ref>(std::uint16_t<sp/>meshIndex,<sp/>std::uint16_t<sp/>blendShapeTargetIndex,</highlight></codeline>
<codeline lineno="140"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint32_t<sp/>deltaIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="141" refid="classdna_1_1ReaderImpl_1a15e27631474314baa573700bfba1663e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a15e27631474314baa573700bfba1663e" kindref="member">getBlendShapeTargetDeltaXs</ref>(std::uint16_t<sp/>meshIndex,</highlight></codeline>
<codeline lineno="142"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/>blendShapeTargetIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="143" refid="classdna_1_1ReaderImpl_1a5b73b53fdc5b7930ea6e7d674c91817b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5b73b53fdc5b7930ea6e7d674c91817b" kindref="member">getBlendShapeTargetDeltaYs</ref>(std::uint16_t<sp/>meshIndex,</highlight></codeline>
<codeline lineno="144"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/>blendShapeTargetIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="145" refid="classdna_1_1ReaderImpl_1a82648b9102a8bf499a683154b2303a92" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a82648b9102a8bf499a683154b2303a92" kindref="member">getBlendShapeTargetDeltaZs</ref>(std::uint16_t<sp/>meshIndex,</highlight></codeline>
<codeline lineno="146"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/>blendShapeTargetIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="147" refid="classdna_1_1ReaderImpl_1a46e339cd990297cdb67129a03b1a0974" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint32_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a46e339cd990297cdb67129a03b1a0974" kindref="member">getBlendShapeTargetVertexIndices</ref>(std::uint16_t<sp/>meshIndex,</highlight></codeline>
<codeline lineno="148"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/>blendShapeTargetIndex)<sp/></highlight><highlight class="keyword">const<sp/>override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="149"><highlight class="normal"></highlight></codeline>
<codeline lineno="150"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">protected</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="151" refid="classdna_1_1ReaderImpl_1a38c1bef845fd7a17caad652ac4a363d6" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">mutable</highlight><highlight class="normal"><sp/><ref refid="structdna_1_1DenormalizedData" kindref="compound">DenormalizedData&lt;TReaderBase&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a38c1bef845fd7a17caad652ac4a363d6" kindref="member">cache</ref>;</highlight></codeline>
<codeline lineno="152"><highlight class="normal"></highlight></codeline>
<codeline lineno="153"><highlight class="normal">};</highlight></codeline>
<codeline lineno="154"><highlight class="normal"></highlight></codeline>
<codeline lineno="155"><highlight class="normal"></highlight></codeline>
<codeline lineno="156"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>_MSC_VER</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="157"><highlight class="normal"></highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/>#pragma<sp/>warning(push)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="158"><highlight class="normal"></highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/>#pragma<sp/>warning(disable<sp/>:<sp/>4589)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="159"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="160"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="161" refid="classdna_1_1ReaderImpl_1a4eddc6e34a5f9e42db9fb5bb4c1e125a" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1ReaderImpl_1a4eddc6e34a5f9e42db9fb5bb4c1e125a" kindref="member">ReaderImpl&lt;TReaderBase&gt;::ReaderImpl</ref>(<ref refid="classpma_1_1MemoryResource" kindref="compound">MemoryResource</ref>*<sp/>memRes_)<sp/>:<sp/><ref refid="classdna_1_1BaseImpl" kindref="compound">BaseImpl</ref>{memRes_},<sp/>cache{memRes_}<sp/>{</highlight></codeline>
<codeline lineno="162"><highlight class="normal">}</highlight></codeline>
<codeline lineno="163"><highlight class="normal"></highlight></codeline>
<codeline lineno="164"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>_MSC_VER</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="165"><highlight class="normal"></highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/>#pragma<sp/>warning(pop)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="166"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="167"><highlight class="normal"></highlight></codeline>
<codeline lineno="168"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>_MSC_VER</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="169"><highlight class="normal"></highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/>#pragma<sp/>warning(push)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="170"><highlight class="normal"></highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/>#pragma<sp/>warning(disable<sp/>:<sp/>4505)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="171"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="172"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="173" refid="classdna_1_1ReaderImpl_1a5edd919c50fa7386b3e74b2ec5163007" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5edd919c50fa7386b3e74b2ec5163007" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getName</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="174"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{<ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.name.data(),<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.name.size()};</highlight></codeline>
<codeline lineno="175"><highlight class="normal">}</highlight></codeline>
<codeline lineno="176"><highlight class="normal"></highlight></codeline>
<codeline lineno="177"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="178" refid="classdna_1_1ReaderImpl_1a71515069289352297d54e9620fba30a7" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="namespacedna_1a4a14ef1c085b2668735a8c8e965eec4f" kindref="member">Archetype</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a71515069289352297d54e9620fba30a7" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getArchetype</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="179"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal"><ref refid="namespacedna_1a4a14ef1c085b2668735a8c8e965eec4f" kindref="member">Archetype</ref></highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.archetype);</highlight></codeline>
<codeline lineno="180"><highlight class="normal">}</highlight></codeline>
<codeline lineno="181"><highlight class="normal"></highlight></codeline>
<codeline lineno="182"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="183" refid="classdna_1_1ReaderImpl_1ac6efea09d83e1735816be80aafdadbc1" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="namespacedna_1ae2ab72c674a376b1ed4b37d59e7ec20f" kindref="member">Gender</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ac6efea09d83e1735816be80aafdadbc1" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getGender</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="184"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal"><ref refid="namespacedna_1ae2ab72c674a376b1ed4b37d59e7ec20f" kindref="member">Gender</ref></highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.gender);</highlight></codeline>
<codeline lineno="185"><highlight class="normal">}</highlight></codeline>
<codeline lineno="186"><highlight class="normal"></highlight></codeline>
<codeline lineno="187"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="188" refid="classdna_1_1ReaderImpl_1ae2ddc31b03aaa53de56ce8cfd9163ea8" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1ae2ddc31b03aaa53de56ce8cfd9163ea8" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getAge</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="189"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.age;</highlight></codeline>
<codeline lineno="190"><highlight class="normal">}</highlight></codeline>
<codeline lineno="191"><highlight class="normal"></highlight></codeline>
<codeline lineno="192"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="193" refid="classdna_1_1ReaderImpl_1a36ae4b72aac88d91906241126c7f3495" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint32_t<sp/><ref refid="classdna_1_1ReaderImpl_1a36ae4b72aac88d91906241126c7f3495" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getMetaDataCount</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="194"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.metadata.size());</highlight></codeline>
<codeline lineno="195"><highlight class="normal">}</highlight></codeline>
<codeline lineno="196"><highlight class="normal"></highlight></codeline>
<codeline lineno="197"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="198" refid="classdna_1_1ReaderImpl_1a85e3f0cd448421641dcb098d6dcb7a2b" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a85e3f0cd448421641dcb098d6dcb7a2b" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getMetaDataKey</ref>(std::uint32_t<sp/>index)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="199"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(index<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.metadata.size())<sp/>{</highlight></codeline>
<codeline lineno="200"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>key<sp/>=<sp/>std::get&lt;0&gt;(<ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.metadata[index]);</highlight></codeline>
<codeline lineno="201"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{key.data(),<sp/>key.size()};</highlight></codeline>
<codeline lineno="202"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="203"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="204"><highlight class="normal">}</highlight></codeline>
<codeline lineno="205"><highlight class="normal"></highlight></codeline>
<codeline lineno="206"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="207" refid="classdna_1_1ReaderImpl_1a8e65a70d4985c20948ebfc8c52aaf184" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a8e65a70d4985c20948ebfc8c52aaf184" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getMetaDataValue</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>key)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="208"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>data:<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.metadata)<sp/>{</highlight></codeline>
<codeline lineno="209"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(std::get&lt;0&gt;(data)<sp/>==<sp/>key)<sp/>{</highlight></codeline>
<codeline lineno="210"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>value<sp/>=<sp/>std::get&lt;1&gt;(data);</highlight></codeline>
<codeline lineno="211"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{value.data(),<sp/>value.size()};</highlight></codeline>
<codeline lineno="212"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="213"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="214"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="215"><highlight class="normal">}</highlight></codeline>
<codeline lineno="216"><highlight class="normal"></highlight></codeline>
<codeline lineno="217"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="218" refid="classdna_1_1ReaderImpl_1a5f6c443169de95c327fa0dd34ce90d9d" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="namespacedna_1abf96ecde7d9e8593bf3b2dd0649645d7" kindref="member">TranslationUnit</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5f6c443169de95c327fa0dd34ce90d9d" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getTranslationUnit</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="219"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal"><ref refid="namespacedna_1abf96ecde7d9e8593bf3b2dd0649645d7" kindref="member">TranslationUnit</ref></highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.translationUnit);</highlight></codeline>
<codeline lineno="220"><highlight class="normal">}</highlight></codeline>
<codeline lineno="221"><highlight class="normal"></highlight></codeline>
<codeline lineno="222"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="223" refid="classdna_1_1ReaderImpl_1a5b5fbc2a18d7dc7a012e4ecf57d63972" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="namespacedna_1a3c0e43a827bcc3c5546573ff589c2e38" kindref="member">RotationUnit</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5b5fbc2a18d7dc7a012e4ecf57d63972" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getRotationUnit</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="224"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal"><ref refid="namespacedna_1a3c0e43a827bcc3c5546573ff589c2e38" kindref="member">RotationUnit</ref></highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.rotationUnit);</highlight></codeline>
<codeline lineno="225"><highlight class="normal">}</highlight></codeline>
<codeline lineno="226"><highlight class="normal"></highlight></codeline>
<codeline lineno="227"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="228" refid="classdna_1_1ReaderImpl_1a1d6ab29dbea97d31677d6432062769ad" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="structdna_1_1CoordinateSystem" kindref="compound">CoordinateSystem</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a1d6ab29dbea97d31677d6432062769ad" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getCoordinateSystem</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="229"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="230"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal"><ref refid="namespacedna_1aa2b1342c0dc280c8862b5fb224ac9a50" kindref="member">Direction</ref></highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.coordinateSystem.xAxis),</highlight></codeline>
<codeline lineno="231"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal"><ref refid="namespacedna_1aa2b1342c0dc280c8862b5fb224ac9a50" kindref="member">Direction</ref></highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.coordinateSystem.yAxis),</highlight></codeline>
<codeline lineno="232"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal"><ref refid="namespacedna_1aa2b1342c0dc280c8862b5fb224ac9a50" kindref="member">Direction</ref></highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.coordinateSystem.zAxis)</highlight></codeline>
<codeline lineno="233"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="234"><highlight class="normal">}</highlight></codeline>
<codeline lineno="235"><highlight class="normal"></highlight></codeline>
<codeline lineno="236"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="237" refid="classdna_1_1ReaderImpl_1ae8f135d7b71a353471516273dda76c47" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1ae8f135d7b71a353471516273dda76c47" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getLODCount</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="238"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.lodCount;</highlight></codeline>
<codeline lineno="239"><highlight class="normal">}</highlight></codeline>
<codeline lineno="240"><highlight class="normal"></highlight></codeline>
<codeline lineno="241"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="242" refid="classdna_1_1ReaderImpl_1a602d639bacd3bfec2b62995fbcab49a8" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a602d639bacd3bfec2b62995fbcab49a8" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getDBMaxLOD</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="243"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.maxLOD;</highlight></codeline>
<codeline lineno="244"><highlight class="normal">}</highlight></codeline>
<codeline lineno="245"><highlight class="normal"></highlight></codeline>
<codeline lineno="246"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="247" refid="classdna_1_1ReaderImpl_1aca56f200fdaba8d1813746ab421dadec" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1aca56f200fdaba8d1813746ab421dadec" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getDBComplexity</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="248"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{<ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.complexity.data(),<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.complexity.size()};</highlight></codeline>
<codeline lineno="249"><highlight class="normal">}</highlight></codeline>
<codeline lineno="250"><highlight class="normal"></highlight></codeline>
<codeline lineno="251"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="252" refid="classdna_1_1ReaderImpl_1ac3c5f4a38f1e364c5f548a379c3e18e1" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ac3c5f4a38f1e364c5f548a379c3e18e1" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getDBName</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="253"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{<ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.dbName.data(),<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.descriptor.dbName.size()};</highlight></codeline>
<codeline lineno="254"><highlight class="normal">}</highlight></codeline>
<codeline lineno="255"><highlight class="normal"></highlight></codeline>
<codeline lineno="256"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="257" refid="classdna_1_1ReaderImpl_1accf348be2ca2d7a253ba5a8fa0a0eb40" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1accf348be2ca2d7a253ba5a8fa0a0eb40" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getGUIControlCount</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="258"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.definition.guiControlNames.size());</highlight></codeline>
<codeline lineno="259"><highlight class="normal">}</highlight></codeline>
<codeline lineno="260"><highlight class="normal"></highlight></codeline>
<codeline lineno="261"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="262" refid="classdna_1_1ReaderImpl_1a981da716d32e0c57c193326588d5457f" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a981da716d32e0c57c193326588d5457f" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getGUIControlName</ref>(std::uint16_t<sp/>index)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="263"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(index<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.guiControlNames.size())<sp/>{</highlight></codeline>
<codeline lineno="264"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>guiControlName<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.guiControlNames[index];</highlight></codeline>
<codeline lineno="265"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{guiControlName.data(),<sp/>guiControlName.size()};</highlight></codeline>
<codeline lineno="266"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="267"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="268"><highlight class="normal">}</highlight></codeline>
<codeline lineno="269"><highlight class="normal"></highlight></codeline>
<codeline lineno="270"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="271" refid="classdna_1_1ReaderImpl_1acc0f580f4893b0962d433500dbd55555" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1acc0f580f4893b0962d433500dbd55555" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getRawControlCount</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="272"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.definition.rawControlNames.size());</highlight></codeline>
<codeline lineno="273"><highlight class="normal">}</highlight></codeline>
<codeline lineno="274"><highlight class="normal"></highlight></codeline>
<codeline lineno="275"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="276" refid="classdna_1_1ReaderImpl_1a3180a16050f396c24e5595ededb0a3b1" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a3180a16050f396c24e5595ededb0a3b1" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getRawControlName</ref>(std::uint16_t<sp/>index)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="277"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(index<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.rawControlNames.size())<sp/>{</highlight></codeline>
<codeline lineno="278"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>rawControlName<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.rawControlNames[index];</highlight></codeline>
<codeline lineno="279"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{rawControlName.data(),<sp/>rawControlName.size()};</highlight></codeline>
<codeline lineno="280"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="281"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="282"><highlight class="normal">}</highlight></codeline>
<codeline lineno="283"><highlight class="normal"></highlight></codeline>
<codeline lineno="284"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="285" refid="classdna_1_1ReaderImpl_1ad7cbc5962b1756aef0951a439200c0d7" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1ad7cbc5962b1756aef0951a439200c0d7" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getJointCount</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="286"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.definition.jointNames.size());</highlight></codeline>
<codeline lineno="287"><highlight class="normal">}</highlight></codeline>
<codeline lineno="288"><highlight class="normal"></highlight></codeline>
<codeline lineno="289"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="290" refid="classdna_1_1ReaderImpl_1ab526bf1104c500803ffbdb4a163e9744" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ab526bf1104c500803ffbdb4a163e9744" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getJointName</ref>(std::uint16_t<sp/>index)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="291"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(index<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.jointNames.size())<sp/>{</highlight></codeline>
<codeline lineno="292"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>jointName<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.jointNames[index];</highlight></codeline>
<codeline lineno="293"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{jointName.data(),<sp/>jointName.size()};</highlight></codeline>
<codeline lineno="294"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="295"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="296"><highlight class="normal">}</highlight></codeline>
<codeline lineno="297"><highlight class="normal"></highlight></codeline>
<codeline lineno="298"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="299" refid="classdna_1_1ReaderImpl_1ae55ab3455088c8b6b3845b4100a30dce" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1ae55ab3455088c8b6b3845b4100a30dce" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getJointIndexListCount</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="300"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.lodJointMapping.getIndexListCount();</highlight></codeline>
<codeline lineno="301"><highlight class="normal">}</highlight></codeline>
<codeline lineno="302"><highlight class="normal"></highlight></codeline>
<codeline lineno="303"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="304" refid="classdna_1_1ReaderImpl_1ae9487b282421a8d3640a3dc5ced6fd3c" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ae9487b282421a8d3640a3dc5ced6fd3c" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getJointIndicesForLOD</ref>(std::uint16_t<sp/>lod)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="305"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.lodJointMapping.getIndices(lod);</highlight></codeline>
<codeline lineno="306"><highlight class="normal">}</highlight></codeline>
<codeline lineno="307"><highlight class="normal"></highlight></codeline>
<codeline lineno="308"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="309" refid="classdna_1_1ReaderImpl_1afb76e6e7400efe57bd11336a7c86172b" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1afb76e6e7400efe57bd11336a7c86172b" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getJointParentIndex</ref>(std::uint16_t<sp/>index)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="310"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(index<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.jointHierarchy.size())<sp/>{</highlight></codeline>
<codeline lineno="311"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.jointHierarchy[index];</highlight></codeline>
<codeline lineno="312"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="313"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>std::numeric_limits&lt;std::uint16_t&gt;::max();</highlight></codeline>
<codeline lineno="314"><highlight class="normal">}</highlight></codeline>
<codeline lineno="315"><highlight class="normal"></highlight></codeline>
<codeline lineno="316"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="317" refid="classdna_1_1ReaderImpl_1a7580666eff2bcd269b186a41e8b753b8" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a7580666eff2bcd269b186a41e8b753b8" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getBlendShapeChannelCount</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="318"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.definition.blendShapeChannelNames.size());</highlight></codeline>
<codeline lineno="319"><highlight class="normal">}</highlight></codeline>
<codeline lineno="320"><highlight class="normal"></highlight></codeline>
<codeline lineno="321"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="322" refid="classdna_1_1ReaderImpl_1aeb001c4ae2f9318d0a558ffc53d2a278" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1aeb001c4ae2f9318d0a558ffc53d2a278" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getBlendShapeChannelName</ref>(std::uint16_t<sp/>index)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="323"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(index<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.blendShapeChannelNames.size())<sp/>{</highlight></codeline>
<codeline lineno="324"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>blendShapeName<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.blendShapeChannelNames[index];</highlight></codeline>
<codeline lineno="325"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{blendShapeName.data(),<sp/>blendShapeName.size()};</highlight></codeline>
<codeline lineno="326"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="327"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="328"><highlight class="normal">}</highlight></codeline>
<codeline lineno="329"><highlight class="normal"></highlight></codeline>
<codeline lineno="330"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="331" refid="classdna_1_1ReaderImpl_1a4351abbdf6c25e11810422cc00a1f2d3" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a4351abbdf6c25e11810422cc00a1f2d3" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getBlendShapeChannelIndexListCount</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="332"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.lodBlendShapeMapping.getIndexListCount();</highlight></codeline>
<codeline lineno="333"><highlight class="normal">}</highlight></codeline>
<codeline lineno="334"><highlight class="normal"></highlight></codeline>
<codeline lineno="335"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="336" refid="classdna_1_1ReaderImpl_1a1b0a7a2d54fb66ce587a688997b1d36a" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a1b0a7a2d54fb66ce587a688997b1d36a" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getBlendShapeChannelIndicesForLOD</ref>(std::uint16_t<sp/>lod)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="337"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.lodBlendShapeMapping.getIndices(lod);</highlight></codeline>
<codeline lineno="338"><highlight class="normal">}</highlight></codeline>
<codeline lineno="339"><highlight class="normal"></highlight></codeline>
<codeline lineno="340"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="341" refid="classdna_1_1ReaderImpl_1a9975be336dfc3381f5e8ccca5c3f5e63" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a9975be336dfc3381f5e8ccca5c3f5e63" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getAnimatedMapCount</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="342"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.definition.animatedMapNames.size());</highlight></codeline>
<codeline lineno="343"><highlight class="normal">}</highlight></codeline>
<codeline lineno="344"><highlight class="normal"></highlight></codeline>
<codeline lineno="345"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="346" refid="classdna_1_1ReaderImpl_1af4a3d0723b624f652fdacb2adaf5b00b" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1af4a3d0723b624f652fdacb2adaf5b00b" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getAnimatedMapName</ref>(std::uint16_t<sp/>index)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="347"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(index<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.animatedMapNames.size())<sp/>{</highlight></codeline>
<codeline lineno="348"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>animatedMapName<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.animatedMapNames[index];</highlight></codeline>
<codeline lineno="349"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{animatedMapName.data(),<sp/>animatedMapName.size()};</highlight></codeline>
<codeline lineno="350"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="351"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="352"><highlight class="normal">}</highlight></codeline>
<codeline lineno="353"><highlight class="normal"></highlight></codeline>
<codeline lineno="354"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="355" refid="classdna_1_1ReaderImpl_1afbf5995e393062b5674863a706928533" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1afbf5995e393062b5674863a706928533" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getAnimatedMapIndexListCount</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="356"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.lodAnimatedMapMapping.getIndexListCount();</highlight></codeline>
<codeline lineno="357"><highlight class="normal">}</highlight></codeline>
<codeline lineno="358"><highlight class="normal"></highlight></codeline>
<codeline lineno="359"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="360" refid="classdna_1_1ReaderImpl_1abcee6db673a185e01f66e2d194df72f1" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1abcee6db673a185e01f66e2d194df72f1" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getAnimatedMapIndicesForLOD</ref>(std::uint16_t<sp/>lod)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="361"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.lodAnimatedMapMapping.getIndices(lod);</highlight></codeline>
<codeline lineno="362"><highlight class="normal">}</highlight></codeline>
<codeline lineno="363"><highlight class="normal"></highlight></codeline>
<codeline lineno="364"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="365" refid="classdna_1_1ReaderImpl_1a7e95f91012ef1a9df63a0e7f5a85895b" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a7e95f91012ef1a9df63a0e7f5a85895b" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getMeshCount</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="366"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.definition.meshNames.size());</highlight></codeline>
<codeline lineno="367"><highlight class="normal">}</highlight></codeline>
<codeline lineno="368"><highlight class="normal"></highlight></codeline>
<codeline lineno="369"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="370" refid="classdna_1_1ReaderImpl_1af6462d9484e4e3f9f2e466bffab5b788" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1StringView" kindref="compound">StringView</ref><sp/><ref refid="classdna_1_1ReaderImpl_1af6462d9484e4e3f9f2e466bffab5b788" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getMeshName</ref>(std::uint16_t<sp/>index)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="371"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(index<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.meshNames.size())<sp/>{</highlight></codeline>
<codeline lineno="372"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>meshName<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.meshNames[index];</highlight></codeline>
<codeline lineno="373"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{meshName.data(),<sp/>meshName.size()};</highlight></codeline>
<codeline lineno="374"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="375"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="376"><highlight class="normal">}</highlight></codeline>
<codeline lineno="377"><highlight class="normal"></highlight></codeline>
<codeline lineno="378"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="379" refid="classdna_1_1ReaderImpl_1a5c36032dfd0ef3248600bbf84e05a274" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a5c36032dfd0ef3248600bbf84e05a274" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getMeshIndexListCount</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="380"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.lodMeshMapping.getIndexListCount();</highlight></codeline>
<codeline lineno="381"><highlight class="normal">}</highlight></codeline>
<codeline lineno="382"><highlight class="normal"></highlight></codeline>
<codeline lineno="383"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="384" refid="classdna_1_1ReaderImpl_1aa2003607c09a73a42b86611622cd4de8" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1aa2003607c09a73a42b86611622cd4de8" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getMeshIndicesForLOD</ref>(std::uint16_t<sp/>lod)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="385"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.lodMeshMapping.getIndices(lod);</highlight></codeline>
<codeline lineno="386"><highlight class="normal">}</highlight></codeline>
<codeline lineno="387"><highlight class="normal"></highlight></codeline>
<codeline lineno="388"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="389" refid="classdna_1_1ReaderImpl_1ab8ae70dd136a58d24d5c3bfb146c61bb" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1ab8ae70dd136a58d24d5c3bfb146c61bb" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getMeshBlendShapeChannelMappingCount</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="390"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.definition.meshBlendShapeChannelMapping.size());</highlight></codeline>
<codeline lineno="391"><highlight class="normal">}</highlight></codeline>
<codeline lineno="392"><highlight class="normal"></highlight></codeline>
<codeline lineno="393"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="394" refid="classdna_1_1ReaderImpl_1ab3ccc402373acbafa8d5fbc0c1d3c8ff" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="structdna_1_1MeshBlendShapeChannelMapping" kindref="compound">MeshBlendShapeChannelMapping</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ab3ccc402373acbafa8d5fbc0c1d3c8ff" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getMeshBlendShapeChannelMapping</ref>(std::uint16_t<sp/>index)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="395"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>mapping<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.meshBlendShapeChannelMapping.get(index);</highlight></codeline>
<codeline lineno="396"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{mapping.from,<sp/>mapping.to};</highlight></codeline>
<codeline lineno="397"><highlight class="normal">}</highlight></codeline>
<codeline lineno="398"><highlight class="normal"></highlight></codeline>
<codeline lineno="399"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="400" refid="classdna_1_1ReaderImpl_1a0552e376fdb88bb0c07cf260a592163c" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a0552e376fdb88bb0c07cf260a592163c" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getMeshBlendShapeChannelMappingIndicesForLOD</ref>(std::uint16_t<sp/>lod)</highlight><highlight class="keyword"></highlight></codeline>
<codeline lineno="401"><highlight class="keyword">const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="402"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(cache.meshBlendShapeMappingIndices.getLODCount()<sp/>==<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(0))<sp/>{</highlight></codeline>
<codeline lineno="403"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cache.populate(</highlight><highlight class="keyword">this</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="404"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="405"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>cache.meshBlendShapeMappingIndices.getIndices(lod);</highlight></codeline>
<codeline lineno="406"><highlight class="normal">}</highlight></codeline>
<codeline lineno="407"><highlight class="normal"></highlight></codeline>
<codeline lineno="408"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="409" refid="classdna_1_1ReaderImpl_1a1e49a0465b695858d920a852584fa9dc" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="structdna_1_1Vector3" kindref="compound">Vector3</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a1e49a0465b695858d920a852584fa9dc" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getNeutralJointTranslation</ref>(std::uint16_t<sp/>index)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="410"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>translations<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.neutralJointTranslations;</highlight></codeline>
<codeline lineno="411"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(index<sp/>&lt;<sp/>translations.xs.size())<sp/>{</highlight></codeline>
<codeline lineno="412"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{translations.xs[index],<sp/>translations.ys[index],<sp/>translations.zs[index]};</highlight></codeline>
<codeline lineno="413"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="414"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="415"><highlight class="normal">}</highlight></codeline>
<codeline lineno="416"><highlight class="normal"></highlight></codeline>
<codeline lineno="417"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="418" refid="classdna_1_1ReaderImpl_1ad87c8c8917eb71a40ebe88b25a373a90" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ad87c8c8917eb71a40ebe88b25a373a90" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getNeutralJointTranslationXs</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="419"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>xs<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.neutralJointTranslations.xs;</highlight></codeline>
<codeline lineno="420"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{xs.data(),<sp/>xs.size()};</highlight></codeline>
<codeline lineno="421"><highlight class="normal">}</highlight></codeline>
<codeline lineno="422"><highlight class="normal"></highlight></codeline>
<codeline lineno="423"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="424" refid="classdna_1_1ReaderImpl_1a4a0a420bb59c6927d9f2d1a7d5c887d5" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a4a0a420bb59c6927d9f2d1a7d5c887d5" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getNeutralJointTranslationYs</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="425"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>ys<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.neutralJointTranslations.ys;</highlight></codeline>
<codeline lineno="426"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{ys.data(),<sp/>ys.size()};</highlight></codeline>
<codeline lineno="427"><highlight class="normal">}</highlight></codeline>
<codeline lineno="428"><highlight class="normal"></highlight></codeline>
<codeline lineno="429"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="430" refid="classdna_1_1ReaderImpl_1ab626571e35909b4cb29215d322b5c454" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ab626571e35909b4cb29215d322b5c454" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getNeutralJointTranslationZs</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="431"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>zs<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.neutralJointTranslations.zs;</highlight></codeline>
<codeline lineno="432"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{zs.data(),<sp/>zs.size()};</highlight></codeline>
<codeline lineno="433"><highlight class="normal">}</highlight></codeline>
<codeline lineno="434"><highlight class="normal"></highlight></codeline>
<codeline lineno="435"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="436" refid="classdna_1_1ReaderImpl_1ae272ad7fef3d41f28b813b389904c67c" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="structdna_1_1Vector3" kindref="compound">Vector3</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ae272ad7fef3d41f28b813b389904c67c" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getNeutralJointRotation</ref>(std::uint16_t<sp/>index)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="437"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>rotations<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.neutralJointRotations;</highlight></codeline>
<codeline lineno="438"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(index<sp/>&lt;<sp/>rotations.size())<sp/>{</highlight></codeline>
<codeline lineno="439"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{rotations.xs[index],<sp/>rotations.ys[index],<sp/>rotations.zs[index]};</highlight></codeline>
<codeline lineno="440"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="441"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="442"><highlight class="normal">}</highlight></codeline>
<codeline lineno="443"><highlight class="normal"></highlight></codeline>
<codeline lineno="444"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="445" refid="classdna_1_1ReaderImpl_1aabdbf28d60758f25fb86b7604fc8b492" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1aabdbf28d60758f25fb86b7604fc8b492" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getNeutralJointRotationXs</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="446"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>xs<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.neutralJointRotations.xs;</highlight></codeline>
<codeline lineno="447"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{xs.data(),<sp/>xs.size()};</highlight></codeline>
<codeline lineno="448"><highlight class="normal">}</highlight></codeline>
<codeline lineno="449"><highlight class="normal"></highlight></codeline>
<codeline lineno="450"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="451" refid="classdna_1_1ReaderImpl_1a9d749ae40f86a8c7c107733b8b2fd6a3" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a9d749ae40f86a8c7c107733b8b2fd6a3" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getNeutralJointRotationYs</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="452"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>ys<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.neutralJointRotations.ys;</highlight></codeline>
<codeline lineno="453"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{ys.data(),<sp/>ys.size()};</highlight></codeline>
<codeline lineno="454"><highlight class="normal">}</highlight></codeline>
<codeline lineno="455"><highlight class="normal"></highlight></codeline>
<codeline lineno="456"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="457" refid="classdna_1_1ReaderImpl_1ac6e903945fc130d37654e6cb28f82e51" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ac6e903945fc130d37654e6cb28f82e51" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getNeutralJointRotationZs</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="458"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>zs<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.definition.neutralJointRotations.zs;</highlight></codeline>
<codeline lineno="459"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{zs.data(),<sp/>zs.size()};</highlight></codeline>
<codeline lineno="460"><highlight class="normal">}</highlight></codeline>
<codeline lineno="461"><highlight class="normal"></highlight></codeline>
<codeline lineno="462"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="463" refid="classdna_1_1ReaderImpl_1a961913b02703cc298339618d1592a98e" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a961913b02703cc298339618d1592a98e" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getGUIToRawInputIndices</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="464"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>inputIndices<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.controls.conditionals.inputIndices;</highlight></codeline>
<codeline lineno="465"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{inputIndices.data(),<sp/>inputIndices.size()};</highlight></codeline>
<codeline lineno="466"><highlight class="normal">}</highlight></codeline>
<codeline lineno="467"><highlight class="normal"></highlight></codeline>
<codeline lineno="468"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="469" refid="classdna_1_1ReaderImpl_1abfda7e1c6270ddcf7c0187730ae5ff64" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1abfda7e1c6270ddcf7c0187730ae5ff64" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getGUIToRawOutputIndices</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="470"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>outputIndices<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.controls.conditionals.outputIndices;</highlight></codeline>
<codeline lineno="471"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{outputIndices.data(),<sp/>outputIndices.size()};</highlight></codeline>
<codeline lineno="472"><highlight class="normal">}</highlight></codeline>
<codeline lineno="473"><highlight class="normal"></highlight></codeline>
<codeline lineno="474"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="475" refid="classdna_1_1ReaderImpl_1a71a6574ae85c319336d22d41837dfdd9" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a71a6574ae85c319336d22d41837dfdd9" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getGUIToRawFromValues</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="476"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>fromValues<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.controls.conditionals.fromValues;</highlight></codeline>
<codeline lineno="477"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{fromValues.data(),<sp/>fromValues.size()};</highlight></codeline>
<codeline lineno="478"><highlight class="normal">}</highlight></codeline>
<codeline lineno="479"><highlight class="normal"></highlight></codeline>
<codeline lineno="480"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="481" refid="classdna_1_1ReaderImpl_1a5ec36eb78da0f61715a4a64ac622e031" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5ec36eb78da0f61715a4a64ac622e031" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getGUIToRawToValues</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="482"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>toValues<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.controls.conditionals.toValues;</highlight></codeline>
<codeline lineno="483"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{toValues.data(),<sp/>toValues.size()};</highlight></codeline>
<codeline lineno="484"><highlight class="normal">}</highlight></codeline>
<codeline lineno="485"><highlight class="normal"></highlight></codeline>
<codeline lineno="486"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="487" refid="classdna_1_1ReaderImpl_1a9d65ae0fee6395114ef5d85fa98b6034" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a9d65ae0fee6395114ef5d85fa98b6034" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getGUIToRawSlopeValues</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="488"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>slopeValues<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.controls.conditionals.slopeValues;</highlight></codeline>
<codeline lineno="489"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{slopeValues.data(),<sp/>slopeValues.size()};</highlight></codeline>
<codeline lineno="490"><highlight class="normal">}</highlight></codeline>
<codeline lineno="491"><highlight class="normal"></highlight></codeline>
<codeline lineno="492"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="493" refid="classdna_1_1ReaderImpl_1a5f2637eff4ec68e522f6908b63f8aedf" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5f2637eff4ec68e522f6908b63f8aedf" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getGUIToRawCutValues</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="494"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>cutValues<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.controls.conditionals.cutValues;</highlight></codeline>
<codeline lineno="495"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{cutValues.data(),<sp/>cutValues.size()};</highlight></codeline>
<codeline lineno="496"><highlight class="normal">}</highlight></codeline>
<codeline lineno="497"><highlight class="normal"></highlight></codeline>
<codeline lineno="498"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="499" refid="classdna_1_1ReaderImpl_1aa5df124ca7a6fe8c8ba9b8975468191a" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1aa5df124ca7a6fe8c8ba9b8975468191a" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getPSDCount</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="500"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.controls.psdCount;</highlight></codeline>
<codeline lineno="501"><highlight class="normal">}</highlight></codeline>
<codeline lineno="502"><highlight class="normal"></highlight></codeline>
<codeline lineno="503"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="504" refid="classdna_1_1ReaderImpl_1a82cd06debfa6eb79741484fedf7177aa" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a82cd06debfa6eb79741484fedf7177aa" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getPSDRowIndices</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="505"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>rows<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.controls.psds.rows;</highlight></codeline>
<codeline lineno="506"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{rows.data(),<sp/>rows.size()};</highlight></codeline>
<codeline lineno="507"><highlight class="normal">}</highlight></codeline>
<codeline lineno="508"><highlight class="normal"></highlight></codeline>
<codeline lineno="509"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="510" refid="classdna_1_1ReaderImpl_1aa6946964b70a90e89d4c6a4e2acfad07" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1aa6946964b70a90e89d4c6a4e2acfad07" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getPSDColumnIndices</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="511"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>columns<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.controls.psds.columns;</highlight></codeline>
<codeline lineno="512"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{columns.data(),<sp/>columns.size()};</highlight></codeline>
<codeline lineno="513"><highlight class="normal">}</highlight></codeline>
<codeline lineno="514"><highlight class="normal"></highlight></codeline>
<codeline lineno="515"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="516" refid="classdna_1_1ReaderImpl_1ad510393fa0877f6af7ac3dd2993e4fe5" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ad510393fa0877f6af7ac3dd2993e4fe5" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getPSDValues</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="517"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>values<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.controls.psds.values;</highlight></codeline>
<codeline lineno="518"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{values.data(),<sp/>values.size()};</highlight></codeline>
<codeline lineno="519"><highlight class="normal">}</highlight></codeline>
<codeline lineno="520"><highlight class="normal"></highlight></codeline>
<codeline lineno="521"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="522" refid="classdna_1_1ReaderImpl_1a579bf8df63397ee31d233b41f1734090" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a579bf8df63397ee31d233b41f1734090" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getJointRowCount</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="523"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.joints.rowCount;</highlight></codeline>
<codeline lineno="524"><highlight class="normal">}</highlight></codeline>
<codeline lineno="525"><highlight class="normal"></highlight></codeline>
<codeline lineno="526"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="527" refid="classdna_1_1ReaderImpl_1af626c72e8a7abd61bbc9b4ab7bf1ba26" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1af626c72e8a7abd61bbc9b4ab7bf1ba26" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getJointColumnCount</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="528"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.joints.colCount;</highlight></codeline>
<codeline lineno="529"><highlight class="normal">}</highlight></codeline>
<codeline lineno="530"><highlight class="normal"></highlight></codeline>
<codeline lineno="531"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="532" refid="classdna_1_1ReaderImpl_1a4f1fa96cd0ead2ee3ed97b66065d9784" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a4f1fa96cd0ead2ee3ed97b66065d9784" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getJointVariableAttributeIndices</ref>(std::uint16_t<sp/>lod)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="533"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(cache.jointVariableAttributeIndices.getLODCount()<sp/>==<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(0))<sp/>{</highlight></codeline>
<codeline lineno="534"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cache.populate(</highlight><highlight class="keyword">this</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="535"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="536"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>cache.jointVariableAttributeIndices.getIndices(lod);</highlight></codeline>
<codeline lineno="537"><highlight class="normal">}</highlight></codeline>
<codeline lineno="538"><highlight class="normal"></highlight></codeline>
<codeline lineno="539"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="540" refid="classdna_1_1ReaderImpl_1a820a661617acca86d5472f4e6efc339d" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a820a661617acca86d5472f4e6efc339d" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getJointGroupCount</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="541"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.behavior.joints.jointGroups.size());</highlight></codeline>
<codeline lineno="542"><highlight class="normal">}</highlight></codeline>
<codeline lineno="543"><highlight class="normal"></highlight></codeline>
<codeline lineno="544"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="545" refid="classdna_1_1ReaderImpl_1a8f39e5b86f5779b9470d4d7c9360e11f" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a8f39e5b86f5779b9470d4d7c9360e11f" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getJointGroupLODs</ref>(std::uint16_t<sp/>jointGroupIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="546"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(jointGroupIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.joints.jointGroups.size())<sp/>{</highlight></codeline>
<codeline lineno="547"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>lods<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.joints.jointGroups[jointGroupIndex].lods;</highlight></codeline>
<codeline lineno="548"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{lods.data(),<sp/>lods.size()};</highlight></codeline>
<codeline lineno="549"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="550"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="551"><highlight class="normal">}</highlight></codeline>
<codeline lineno="552"><highlight class="normal"></highlight></codeline>
<codeline lineno="553"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="554" refid="classdna_1_1ReaderImpl_1a4fd0b0de2f0d7d462da784e11e0b99db" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a4fd0b0de2f0d7d462da784e11e0b99db" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getJointGroupInputIndices</ref>(std::uint16_t<sp/>jointGroupIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="555"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(jointGroupIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.joints.jointGroups.size())<sp/>{</highlight></codeline>
<codeline lineno="556"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>inputIndices<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.joints.jointGroups[jointGroupIndex].inputIndices;</highlight></codeline>
<codeline lineno="557"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{inputIndices.data(),<sp/>inputIndices.size()};</highlight></codeline>
<codeline lineno="558"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="559"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="560"><highlight class="normal">}</highlight></codeline>
<codeline lineno="561"><highlight class="normal"></highlight></codeline>
<codeline lineno="562"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="563" refid="classdna_1_1ReaderImpl_1a269a2542860a3dbd2c18eeb71ddfca48" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a269a2542860a3dbd2c18eeb71ddfca48" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getJointGroupOutputIndices</ref>(std::uint16_t<sp/>jointGroupIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="564"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(jointGroupIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.joints.jointGroups.size())<sp/>{</highlight></codeline>
<codeline lineno="565"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>outputIndices<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.joints.jointGroups[jointGroupIndex].outputIndices;</highlight></codeline>
<codeline lineno="566"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{outputIndices.data(),<sp/>outputIndices.size()};</highlight></codeline>
<codeline lineno="567"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="568"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="569"><highlight class="normal">}</highlight></codeline>
<codeline lineno="570"><highlight class="normal"></highlight></codeline>
<codeline lineno="571"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="572" refid="classdna_1_1ReaderImpl_1ab523ed4332ef007b9368d2ecf03ab572" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ab523ed4332ef007b9368d2ecf03ab572" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getJointGroupValues</ref>(std::uint16_t<sp/>jointGroupIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="573"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(jointGroupIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.joints.jointGroups.size())<sp/>{</highlight></codeline>
<codeline lineno="574"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>values<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.joints.jointGroups[jointGroupIndex].values;</highlight></codeline>
<codeline lineno="575"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{values.data(),<sp/>values.size()};</highlight></codeline>
<codeline lineno="576"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="577"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="578"><highlight class="normal">}</highlight></codeline>
<codeline lineno="579"><highlight class="normal"></highlight></codeline>
<codeline lineno="580"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="581" refid="classdna_1_1ReaderImpl_1ab802650f9ec38e3bdfb403bd1fec4915" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ab802650f9ec38e3bdfb403bd1fec4915" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getJointGroupJointIndices</ref>(std::uint16_t<sp/>jointGroupIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="582"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(jointGroupIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.joints.jointGroups.size())<sp/>{</highlight></codeline>
<codeline lineno="583"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>jointIndices<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.joints.jointGroups[jointGroupIndex].jointIndices;</highlight></codeline>
<codeline lineno="584"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{jointIndices.data(),<sp/>jointIndices.size()};</highlight></codeline>
<codeline lineno="585"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="586"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="587"><highlight class="normal">}</highlight></codeline>
<codeline lineno="588"><highlight class="normal"></highlight></codeline>
<codeline lineno="589"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="590" refid="classdna_1_1ReaderImpl_1aac54b695f6d3f2e2d2fcecb3d933d1d1" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1aac54b695f6d3f2e2d2fcecb3d933d1d1" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getBlendShapeChannelLODs</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="591"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>lods<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.blendShapeChannels.lods;</highlight></codeline>
<codeline lineno="592"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{lods.data(),<sp/>lods.size()};</highlight></codeline>
<codeline lineno="593"><highlight class="normal">}</highlight></codeline>
<codeline lineno="594"><highlight class="normal"></highlight></codeline>
<codeline lineno="595"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="596" refid="classdna_1_1ReaderImpl_1a7b7335431d32e8530cb38db817c907dc" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a7b7335431d32e8530cb38db817c907dc" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getBlendShapeChannelInputIndices</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="597"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>inputIndices<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.blendShapeChannels.inputIndices;</highlight></codeline>
<codeline lineno="598"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{inputIndices.data(),<sp/>inputIndices.size()};</highlight></codeline>
<codeline lineno="599"><highlight class="normal">}</highlight></codeline>
<codeline lineno="600"><highlight class="normal"></highlight></codeline>
<codeline lineno="601"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="602" refid="classdna_1_1ReaderImpl_1a7ede6b0475651224b6b7bef5fa405f4f" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a7ede6b0475651224b6b7bef5fa405f4f" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getBlendShapeChannelOutputIndices</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="603"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>outputIndices<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.blendShapeChannels.outputIndices;</highlight></codeline>
<codeline lineno="604"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{outputIndices.data(),<sp/>outputIndices.size()};</highlight></codeline>
<codeline lineno="605"><highlight class="normal">}</highlight></codeline>
<codeline lineno="606"><highlight class="normal"></highlight></codeline>
<codeline lineno="607"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="608" refid="classdna_1_1ReaderImpl_1afc68f9759453440236a84c53ec89299a" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1afc68f9759453440236a84c53ec89299a" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getAnimatedMapLODs</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="609"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>lods<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.animatedMaps.lods;</highlight></codeline>
<codeline lineno="610"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{lods.data(),<sp/>lods.size()};</highlight></codeline>
<codeline lineno="611"><highlight class="normal">}</highlight></codeline>
<codeline lineno="612"><highlight class="normal"></highlight></codeline>
<codeline lineno="613"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="614" refid="classdna_1_1ReaderImpl_1ac9552675b375d9105ccfdce063041fdd" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ac9552675b375d9105ccfdce063041fdd" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getAnimatedMapInputIndices</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="615"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>inputIndices<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.animatedMaps.conditionals.inputIndices;</highlight></codeline>
<codeline lineno="616"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{inputIndices.data(),<sp/>inputIndices.size()};</highlight></codeline>
<codeline lineno="617"><highlight class="normal">}</highlight></codeline>
<codeline lineno="618"><highlight class="normal"></highlight></codeline>
<codeline lineno="619"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="620" refid="classdna_1_1ReaderImpl_1a5221c9e68ce8ed44d1ec83d0eb16a5a8" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5221c9e68ce8ed44d1ec83d0eb16a5a8" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getAnimatedMapOutputIndices</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="621"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>outputIndices<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.animatedMaps.conditionals.outputIndices;</highlight></codeline>
<codeline lineno="622"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{outputIndices.data(),<sp/>outputIndices.size()};</highlight></codeline>
<codeline lineno="623"><highlight class="normal">}</highlight></codeline>
<codeline lineno="624"><highlight class="normal"></highlight></codeline>
<codeline lineno="625"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="626" refid="classdna_1_1ReaderImpl_1a0b8cab7471ca3831ad8ec27b71ce365d" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a0b8cab7471ca3831ad8ec27b71ce365d" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getAnimatedMapFromValues</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="627"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>fromValues<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.animatedMaps.conditionals.fromValues;</highlight></codeline>
<codeline lineno="628"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{fromValues.data(),<sp/>fromValues.size()};</highlight></codeline>
<codeline lineno="629"><highlight class="normal">}</highlight></codeline>
<codeline lineno="630"><highlight class="normal"></highlight></codeline>
<codeline lineno="631"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="632" refid="classdna_1_1ReaderImpl_1a5f7b41aed62ed8907026647f98f108dc" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5f7b41aed62ed8907026647f98f108dc" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getAnimatedMapToValues</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="633"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>toValues<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.animatedMaps.conditionals.toValues;</highlight></codeline>
<codeline lineno="634"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{toValues.data(),<sp/>toValues.size()};</highlight></codeline>
<codeline lineno="635"><highlight class="normal">}</highlight></codeline>
<codeline lineno="636"><highlight class="normal"></highlight></codeline>
<codeline lineno="637"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="638" refid="classdna_1_1ReaderImpl_1ae83dce702042ab7a5fee8a9b94ff81a4" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ae83dce702042ab7a5fee8a9b94ff81a4" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getAnimatedMapSlopeValues</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="639"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>slopeValues<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.animatedMaps.conditionals.slopeValues;</highlight></codeline>
<codeline lineno="640"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{slopeValues.data(),<sp/>slopeValues.size()};</highlight></codeline>
<codeline lineno="641"><highlight class="normal">}</highlight></codeline>
<codeline lineno="642"><highlight class="normal"></highlight></codeline>
<codeline lineno="643"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="644" refid="classdna_1_1ReaderImpl_1a024d2a434ee21d7ee8674eb6eb98a8fa" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a024d2a434ee21d7ee8674eb6eb98a8fa" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getAnimatedMapCutValues</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="645"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>cutValues<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.behavior.animatedMaps.conditionals.cutValues;</highlight></codeline>
<codeline lineno="646"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{cutValues.data(),<sp/>cutValues.size()};</highlight></codeline>
<codeline lineno="647"><highlight class="normal">}</highlight></codeline>
<codeline lineno="648"><highlight class="normal"></highlight></codeline>
<codeline lineno="649"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="650" refid="classdna_1_1ReaderImpl_1a76a42c049836ebf807d2f09b0f4a1f40" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint32_t<sp/><ref refid="classdna_1_1ReaderImpl_1a76a42c049836ebf807d2f09b0f4a1f40" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexPositionCount</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="651"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="652"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].positions.xs.size());</highlight></codeline>
<codeline lineno="653"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="654"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0u;</highlight></codeline>
<codeline lineno="655"><highlight class="normal">}</highlight></codeline>
<codeline lineno="656"><highlight class="normal"></highlight></codeline>
<codeline lineno="657"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="658" refid="classdna_1_1ReaderImpl_1aa124ea3c20c2ffd705a13c166d8a7376" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="structdna_1_1Vector3" kindref="compound">Position</ref><sp/><ref refid="classdna_1_1ReaderImpl_1aa124ea3c20c2ffd705a13c166d8a7376" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexPosition</ref>(std::uint16_t<sp/>meshIndex,<sp/>std::uint32_t<sp/>vertexIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="659"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="660"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>positions<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].positions;</highlight></codeline>
<codeline lineno="661"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vertexIndex<sp/>&lt;<sp/>positions.size())<sp/>{</highlight></codeline>
<codeline lineno="662"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{positions.xs[vertexIndex],<sp/>positions.ys[vertexIndex],<sp/>positions.zs[vertexIndex]};</highlight></codeline>
<codeline lineno="663"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="664"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="665"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="666"><highlight class="normal">}</highlight></codeline>
<codeline lineno="667"><highlight class="normal"></highlight></codeline>
<codeline lineno="668"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="669" refid="classdna_1_1ReaderImpl_1abfab10afc0871abf2a8973902f950dce" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1abfab10afc0871abf2a8973902f950dce" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexPositionXs</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="670"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="671"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>xPositions<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].positions.xs;</highlight></codeline>
<codeline lineno="672"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{xPositions.data(),<sp/>xPositions.size()};</highlight></codeline>
<codeline lineno="673"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="674"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="675"><highlight class="normal">}</highlight></codeline>
<codeline lineno="676"><highlight class="normal"></highlight></codeline>
<codeline lineno="677"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="678" refid="classdna_1_1ReaderImpl_1a98a2a0d64c050bf6a88b1777a849f992" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a98a2a0d64c050bf6a88b1777a849f992" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexPositionYs</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="679"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="680"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>yPositions<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].positions.ys;</highlight></codeline>
<codeline lineno="681"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{yPositions.data(),<sp/>yPositions.size()};</highlight></codeline>
<codeline lineno="682"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="683"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="684"><highlight class="normal">}</highlight></codeline>
<codeline lineno="685"><highlight class="normal"></highlight></codeline>
<codeline lineno="686"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="687" refid="classdna_1_1ReaderImpl_1a011b7aded68f336dc576d284851f0aa0" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a011b7aded68f336dc576d284851f0aa0" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexPositionZs</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="688"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="689"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>zPositions<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].positions.zs;</highlight></codeline>
<codeline lineno="690"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{zPositions.data(),<sp/>zPositions.size()};</highlight></codeline>
<codeline lineno="691"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="692"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="693"><highlight class="normal">}</highlight></codeline>
<codeline lineno="694"><highlight class="normal"></highlight></codeline>
<codeline lineno="695"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="696" refid="classdna_1_1ReaderImpl_1a8289d851f2941ef4ce248df7804222a8" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint32_t<sp/><ref refid="classdna_1_1ReaderImpl_1a8289d851f2941ef4ce248df7804222a8" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexTextureCoordinateCount</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="697"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="698"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].textureCoordinates.us.size());</highlight></codeline>
<codeline lineno="699"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="700"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0u;</highlight></codeline>
<codeline lineno="701"><highlight class="normal">}</highlight></codeline>
<codeline lineno="702"><highlight class="normal"></highlight></codeline>
<codeline lineno="703"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="704" refid="classdna_1_1ReaderImpl_1a1afd36f4def07f8c9855e05323aaced6" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="structdna_1_1TextureCoordinate" kindref="compound">TextureCoordinate</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a1afd36f4def07f8c9855e05323aaced6" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexTextureCoordinate</ref>(std::uint16_t<sp/>meshIndex,</highlight></codeline>
<codeline lineno="705"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint32_t<sp/>textureCoordinateIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="706"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="707"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>textureCoordinates<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].textureCoordinates;</highlight></codeline>
<codeline lineno="708"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(textureCoordinateIndex<sp/>&lt;<sp/>textureCoordinates.size())<sp/>{</highlight></codeline>
<codeline lineno="709"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{textureCoordinates.us[textureCoordinateIndex],<sp/>textureCoordinates.vs[textureCoordinateIndex]};</highlight></codeline>
<codeline lineno="710"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="711"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="712"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="713"><highlight class="normal">}</highlight></codeline>
<codeline lineno="714"><highlight class="normal"></highlight></codeline>
<codeline lineno="715"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="716" refid="classdna_1_1ReaderImpl_1a5435131d271e014c6a2df6388c036a56" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5435131d271e014c6a2df6388c036a56" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexTextureCoordinateUs</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="717"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>uTextureCoordinates<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].textureCoordinates.us;</highlight></codeline>
<codeline lineno="718"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{uTextureCoordinates.data(),<sp/>uTextureCoordinates.size()};</highlight></codeline>
<codeline lineno="719"><highlight class="normal">}</highlight></codeline>
<codeline lineno="720"><highlight class="normal"></highlight></codeline>
<codeline lineno="721"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="722" refid="classdna_1_1ReaderImpl_1a49af26d7a2ca1eef44119d6848a49d1d" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a49af26d7a2ca1eef44119d6848a49d1d" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexTextureCoordinateVs</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="723"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>vTextureCoordinates<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].textureCoordinates.vs;</highlight></codeline>
<codeline lineno="724"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{vTextureCoordinates.data(),<sp/>vTextureCoordinates.size()};</highlight></codeline>
<codeline lineno="725"><highlight class="normal">}</highlight></codeline>
<codeline lineno="726"><highlight class="normal"></highlight></codeline>
<codeline lineno="727"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="728" refid="classdna_1_1ReaderImpl_1a6954d40fde0541cca5fd7848f058c23a" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint32_t<sp/><ref refid="classdna_1_1ReaderImpl_1a6954d40fde0541cca5fd7848f058c23a" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexNormalCount</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="729"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="730"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].normals.xs.size());</highlight></codeline>
<codeline lineno="731"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="732"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0u;</highlight></codeline>
<codeline lineno="733"><highlight class="normal">}</highlight></codeline>
<codeline lineno="734"><highlight class="normal"></highlight></codeline>
<codeline lineno="735"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="736" refid="classdna_1_1ReaderImpl_1a3ae85767fd893e45c4e3b95ae47de9e4" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="structdna_1_1Vector3" kindref="compound">Normal</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a3ae85767fd893e45c4e3b95ae47de9e4" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexNormal</ref>(std::uint16_t<sp/>meshIndex,<sp/>std::uint32_t<sp/>normalIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="737"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="738"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>normals<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].normals;</highlight></codeline>
<codeline lineno="739"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(normalIndex<sp/>&lt;<sp/>normals.size())<sp/>{</highlight></codeline>
<codeline lineno="740"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{normals.xs[normalIndex],<sp/>normals.ys[normalIndex],<sp/>normals.zs[normalIndex]};</highlight></codeline>
<codeline lineno="741"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="742"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="743"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="744"><highlight class="normal">}</highlight></codeline>
<codeline lineno="745"><highlight class="normal"></highlight></codeline>
<codeline lineno="746"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="747" refid="classdna_1_1ReaderImpl_1ac9d192fb2cf3907ba8f4662863a109b7" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1ac9d192fb2cf3907ba8f4662863a109b7" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexNormalXs</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="748"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="749"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>xNormals<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].normals.xs;</highlight></codeline>
<codeline lineno="750"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{xNormals.data(),<sp/>xNormals.size()};</highlight></codeline>
<codeline lineno="751"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="752"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="753"><highlight class="normal">}</highlight></codeline>
<codeline lineno="754"><highlight class="normal"></highlight></codeline>
<codeline lineno="755"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="756" refid="classdna_1_1ReaderImpl_1aae830df7822337a2f372ce7e50af8349" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1aae830df7822337a2f372ce7e50af8349" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexNormalYs</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="757"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="758"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>yNormals<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].normals.ys;</highlight></codeline>
<codeline lineno="759"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{yNormals.data(),<sp/>yNormals.size()};</highlight></codeline>
<codeline lineno="760"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="761"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="762"><highlight class="normal">}</highlight></codeline>
<codeline lineno="763"><highlight class="normal"></highlight></codeline>
<codeline lineno="764"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="765" refid="classdna_1_1ReaderImpl_1a5f8dbcde8762ce6d82960dad066f9044" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5f8dbcde8762ce6d82960dad066f9044" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexNormalZs</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="766"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="767"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>zNormals<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].normals.zs;</highlight></codeline>
<codeline lineno="768"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{zNormals.data(),<sp/>zNormals.size()};</highlight></codeline>
<codeline lineno="769"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="770"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="771"><highlight class="normal">}</highlight></codeline>
<codeline lineno="772"><highlight class="normal"></highlight></codeline>
<codeline lineno="773"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="774" refid="classdna_1_1ReaderImpl_1a05ae2dbd7fd65c120ad090ca19615f91" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint32_t<sp/><ref refid="classdna_1_1ReaderImpl_1a05ae2dbd7fd65c120ad090ca19615f91" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getFaceCount</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="775"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="776"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].faces.size());</highlight></codeline>
<codeline lineno="777"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="778"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0u;</highlight></codeline>
<codeline lineno="779"><highlight class="normal">}</highlight></codeline>
<codeline lineno="780"><highlight class="normal"></highlight></codeline>
<codeline lineno="781"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="782" refid="classdna_1_1ReaderImpl_1a41fc933603d09ebf0eed93942cb95fe3" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint32_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a41fc933603d09ebf0eed93942cb95fe3" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getFaceVertexLayoutIndices</ref>(std::uint16_t<sp/>meshIndex,</highlight></codeline>
<codeline lineno="783"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint32_t<sp/>faceIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="784"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>meshes<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes;</highlight></codeline>
<codeline lineno="785"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((meshIndex<sp/>&lt;<sp/>meshes.size())<sp/>&amp;&amp;<sp/>(faceIndex<sp/>&lt;<sp/>meshes[meshIndex].faces.size()))<sp/>{</highlight></codeline>
<codeline lineno="786"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>layoutIndices<sp/>=<sp/>meshes[meshIndex].faces[faceIndex].layoutIndices;</highlight></codeline>
<codeline lineno="787"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{layoutIndices.data(),<sp/>layoutIndices.size()};</highlight></codeline>
<codeline lineno="788"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="789"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="790"><highlight class="normal">}</highlight></codeline>
<codeline lineno="791"><highlight class="normal"></highlight></codeline>
<codeline lineno="792"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="793" refid="classdna_1_1ReaderImpl_1adf7ff31cb12c193030378ab64790d323" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint32_t<sp/><ref refid="classdna_1_1ReaderImpl_1adf7ff31cb12c193030378ab64790d323" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexLayoutCount</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="794"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="795"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].layouts.positions.size());</highlight></codeline>
<codeline lineno="796"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="797"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0u;</highlight></codeline>
<codeline lineno="798"><highlight class="normal">}</highlight></codeline>
<codeline lineno="799"><highlight class="normal"></highlight></codeline>
<codeline lineno="800"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="801" refid="classdna_1_1ReaderImpl_1a508534d5babfbf0438adf0ad0e3a35e3" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="structdna_1_1VertexLayout" kindref="compound">VertexLayout</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a508534d5babfbf0438adf0ad0e3a35e3" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexLayout</ref>(std::uint16_t<sp/>meshIndex,<sp/>std::uint32_t<sp/>layoutIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="802"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="803"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>layouts<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].layouts;</highlight></codeline>
<codeline lineno="804"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(layoutIndex<sp/>&lt;<sp/>layouts.size())<sp/>{</highlight></codeline>
<codeline lineno="805"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{layouts.positions[layoutIndex],<sp/>layouts.textureCoordinates[layoutIndex],<sp/>layouts.normals[layoutIndex]};</highlight></codeline>
<codeline lineno="806"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="807"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="808"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="809"><highlight class="normal">}</highlight></codeline>
<codeline lineno="810"><highlight class="normal"></highlight></codeline>
<codeline lineno="811"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="812" refid="classdna_1_1ReaderImpl_1a9d9c2c1aaa79bf97dbfbedb822879310" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint32_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a9d9c2c1aaa79bf97dbfbedb822879310" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexLayoutPositionIndices</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="813"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="814"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>positions<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].layouts.positions;</highlight></codeline>
<codeline lineno="815"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{positions.data(),<sp/>positions.size()};</highlight></codeline>
<codeline lineno="816"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="817"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="818"><highlight class="normal">}</highlight></codeline>
<codeline lineno="819"><highlight class="normal"></highlight></codeline>
<codeline lineno="820"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="821" refid="classdna_1_1ReaderImpl_1a919767a1ab942d16510627827c67a132" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint32_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a919767a1ab942d16510627827c67a132" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexLayoutTextureCoordinateIndices</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"></highlight></codeline>
<codeline lineno="822"><highlight class="keyword">const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="823"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="824"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>textureCoordinated<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].layouts.textureCoordinates;</highlight></codeline>
<codeline lineno="825"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{textureCoordinated.data(),<sp/>textureCoordinated.size()};</highlight></codeline>
<codeline lineno="826"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="827"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="828"><highlight class="normal">}</highlight></codeline>
<codeline lineno="829"><highlight class="normal"></highlight></codeline>
<codeline lineno="830"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="831" refid="classdna_1_1ReaderImpl_1afdaafdcee055e1085b797a158333b9ec" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint32_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1afdaafdcee055e1085b797a158333b9ec" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getVertexLayoutNormalIndices</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="832"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="833"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>normals<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].layouts.normals;</highlight></codeline>
<codeline lineno="834"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{normals.data(),<sp/>normals.size()};</highlight></codeline>
<codeline lineno="835"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="836"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="837"><highlight class="normal">}</highlight></codeline>
<codeline lineno="838"><highlight class="normal"></highlight></codeline>
<codeline lineno="839"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="840" refid="classdna_1_1ReaderImpl_1aaabf4865fdf6c8e0bae1f2949eef29f1" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1aaabf4865fdf6c8e0bae1f2949eef29f1" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getMaximumInfluencePerVertex</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="841"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="842"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].maximumInfluencePerVertex;</highlight></codeline>
<codeline lineno="843"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="844"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="845"><highlight class="normal">}</highlight></codeline>
<codeline lineno="846"><highlight class="normal"></highlight></codeline>
<codeline lineno="847"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="848" refid="classdna_1_1ReaderImpl_1a56b675830c4a92540aa273239321992b" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint32_t<sp/><ref refid="classdna_1_1ReaderImpl_1a56b675830c4a92540aa273239321992b" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getSkinWeightsCount</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="849"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>meshes<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes;</highlight></codeline>
<codeline lineno="850"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/>meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="851"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(meshes[meshIndex].skinWeights.size());</highlight></codeline>
<codeline lineno="852"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="853"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="854"><highlight class="normal">}</highlight></codeline>
<codeline lineno="855"><highlight class="normal"></highlight></codeline>
<codeline lineno="856"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="857" refid="classdna_1_1ReaderImpl_1a242c156216e60fd7f2dadf7b98c7956b" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a242c156216e60fd7f2dadf7b98c7956b" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getSkinWeightsValues</ref>(std::uint16_t<sp/>meshIndex,</highlight></codeline>
<codeline lineno="858"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint32_t<sp/>vertexIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="859"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>meshes<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes;</highlight></codeline>
<codeline lineno="860"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((meshIndex<sp/>&lt;<sp/>meshes.size())<sp/>&amp;&amp;<sp/>(vertexIndex<sp/>&lt;<sp/>meshes[meshIndex].skinWeights.size()))<sp/>{</highlight></codeline>
<codeline lineno="861"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>weights<sp/>=<sp/>meshes[meshIndex].skinWeights[vertexIndex].weights;</highlight></codeline>
<codeline lineno="862"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{weights.data(),<sp/>weights.size()};</highlight></codeline>
<codeline lineno="863"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="864"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="865"><highlight class="normal">}</highlight></codeline>
<codeline lineno="866"><highlight class="normal"></highlight></codeline>
<codeline lineno="867"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="868" refid="classdna_1_1ReaderImpl_1a3cd51b6126e022e94980682f73c34feb" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a3cd51b6126e022e94980682f73c34feb" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getSkinWeightsJointIndices</ref>(std::uint16_t<sp/>meshIndex,</highlight></codeline>
<codeline lineno="869"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint32_t<sp/>vertexIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="870"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>meshes<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes;</highlight></codeline>
<codeline lineno="871"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((meshIndex<sp/>&lt;<sp/>meshes.size())<sp/>&amp;&amp;<sp/>(vertexIndex<sp/>&lt;<sp/>meshes[meshIndex].skinWeights.size()))<sp/>{</highlight></codeline>
<codeline lineno="872"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>jointIndices<sp/>=<sp/>meshes[meshIndex].skinWeights[vertexIndex].jointIndices;</highlight></codeline>
<codeline lineno="873"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{jointIndices.data(),<sp/>jointIndices.size()};</highlight></codeline>
<codeline lineno="874"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="875"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="876"><highlight class="normal">}</highlight></codeline>
<codeline lineno="877"><highlight class="normal"></highlight></codeline>
<codeline lineno="878"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="879" refid="classdna_1_1ReaderImpl_1a86ec57e4dd7a8a8cf648328409c23d7c" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a86ec57e4dd7a8a8cf648328409c23d7c" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getBlendShapeTargetCount</ref>(std::uint16_t<sp/>meshIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="880"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(meshIndex<sp/>&lt;<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes.size())<sp/>{</highlight></codeline>
<codeline lineno="881"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes[meshIndex].blendShapeTargets.size());</highlight></codeline>
<codeline lineno="882"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="883"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="884"><highlight class="normal">}</highlight></codeline>
<codeline lineno="885"><highlight class="normal"></highlight></codeline>
<codeline lineno="886"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="887" refid="classdna_1_1ReaderImpl_1a906a195ee4f65cf054c04cc65cab34e0" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint16_t<sp/><ref refid="classdna_1_1ReaderImpl_1a906a195ee4f65cf054c04cc65cab34e0" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getBlendShapeChannelIndex</ref>(std::uint16_t<sp/>meshIndex,</highlight></codeline>
<codeline lineno="888"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/>blendShapeTargetIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="889"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>meshes<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes;</highlight></codeline>
<codeline lineno="890"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((meshIndex<sp/>&lt;<sp/>meshes.size())<sp/>&amp;&amp;<sp/>(blendShapeTargetIndex<sp/>&lt;<sp/>meshes[meshIndex].blendShapeTargets.size()))<sp/>{</highlight></codeline>
<codeline lineno="891"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>meshes[meshIndex].blendShapeTargets[blendShapeTargetIndex].blendShapeChannelIndex;</highlight></codeline>
<codeline lineno="892"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="893"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="894"><highlight class="normal">}</highlight></codeline>
<codeline lineno="895"><highlight class="normal"></highlight></codeline>
<codeline lineno="896"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="897" refid="classdna_1_1ReaderImpl_1a886aa8c04812636274b2113510fc2d1c" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::uint32_t<sp/><ref refid="classdna_1_1ReaderImpl_1a886aa8c04812636274b2113510fc2d1c" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getBlendShapeTargetDeltaCount</ref>(std::uint16_t<sp/>meshIndex,</highlight></codeline>
<codeline lineno="898"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/>blendShapeTargetIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="899"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>meshes<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes;</highlight></codeline>
<codeline lineno="900"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((meshIndex<sp/>&lt;<sp/>meshes.size())<sp/>&amp;&amp;<sp/>(blendShapeTargetIndex<sp/>&lt;<sp/>meshes[meshIndex].blendShapeTargets.size()))<sp/>{</highlight></codeline>
<codeline lineno="901"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(meshes[meshIndex].blendShapeTargets[blendShapeTargetIndex].deltas.xs.size());</highlight></codeline>
<codeline lineno="902"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="903"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="904"><highlight class="normal">}</highlight></codeline>
<codeline lineno="905"><highlight class="normal"></highlight></codeline>
<codeline lineno="906"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="907" refid="classdna_1_1ReaderImpl_1a99d70c755475ceb0cd6805387c577550" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="structdna_1_1Vector3" kindref="compound">Delta</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a99d70c755475ceb0cd6805387c577550" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getBlendShapeTargetDelta</ref>(std::uint16_t<sp/>meshIndex,</highlight></codeline>
<codeline lineno="908"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/>blendShapeTargetIndex,</highlight></codeline>
<codeline lineno="909"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint32_t<sp/>deltaIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="910"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>meshes<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes;</highlight></codeline>
<codeline lineno="911"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((meshIndex<sp/>&lt;<sp/>meshes.size())<sp/>&amp;&amp;<sp/>(blendShapeTargetIndex<sp/>&lt;<sp/>meshes[meshIndex].blendShapeTargets.size())<sp/>&amp;&amp;</highlight></codeline>
<codeline lineno="912"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(deltaIndex<sp/>&lt;<sp/>meshes[meshIndex].blendShapeTargets[blendShapeTargetIndex].deltas.size()))<sp/>{</highlight></codeline>
<codeline lineno="913"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>deltas<sp/>=<sp/>meshes[meshIndex].blendShapeTargets[blendShapeTargetIndex].deltas;</highlight></codeline>
<codeline lineno="914"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{deltas.xs[deltaIndex],<sp/>deltas.ys[deltaIndex],<sp/>deltas.zs[deltaIndex]};</highlight></codeline>
<codeline lineno="915"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="916"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="917"><highlight class="normal">}</highlight></codeline>
<codeline lineno="918"><highlight class="normal"></highlight></codeline>
<codeline lineno="919"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="920" refid="classdna_1_1ReaderImpl_1a15e27631474314baa573700bfba1663e" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a15e27631474314baa573700bfba1663e" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getBlendShapeTargetDeltaXs</ref>(std::uint16_t<sp/>meshIndex,</highlight></codeline>
<codeline lineno="921"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/>blendShapeTargetIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="922"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>meshes<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes;</highlight></codeline>
<codeline lineno="923"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((meshIndex<sp/>&lt;<sp/>meshes.size())<sp/>&amp;&amp;<sp/>(blendShapeTargetIndex<sp/>&lt;<sp/>meshes[meshIndex].blendShapeTargets.size()))<sp/>{</highlight></codeline>
<codeline lineno="924"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>xDeltas<sp/>=<sp/>meshes[meshIndex].blendShapeTargets[blendShapeTargetIndex].deltas.xs;</highlight></codeline>
<codeline lineno="925"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{xDeltas.data(),<sp/>xDeltas.size()};</highlight></codeline>
<codeline lineno="926"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="927"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="928"><highlight class="normal">}</highlight></codeline>
<codeline lineno="929"><highlight class="normal"></highlight></codeline>
<codeline lineno="930"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="931" refid="classdna_1_1ReaderImpl_1a5b73b53fdc5b7930ea6e7d674c91817b" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a5b73b53fdc5b7930ea6e7d674c91817b" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getBlendShapeTargetDeltaYs</ref>(std::uint16_t<sp/>meshIndex,</highlight></codeline>
<codeline lineno="932"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/>blendShapeTargetIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="933"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>meshes<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes;</highlight></codeline>
<codeline lineno="934"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((meshIndex<sp/>&lt;<sp/>meshes.size())<sp/>&amp;&amp;<sp/>(blendShapeTargetIndex<sp/>&lt;<sp/>meshes[meshIndex].blendShapeTargets.size()))<sp/>{</highlight></codeline>
<codeline lineno="935"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>yDeltas<sp/>=<sp/>meshes[meshIndex].blendShapeTargets[blendShapeTargetIndex].deltas.ys;</highlight></codeline>
<codeline lineno="936"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{yDeltas.data(),<sp/>yDeltas.size()};</highlight></codeline>
<codeline lineno="937"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="938"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="939"><highlight class="normal">}</highlight></codeline>
<codeline lineno="940"><highlight class="normal"></highlight></codeline>
<codeline lineno="941"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="942" refid="classdna_1_1ReaderImpl_1a82648b9102a8bf499a683154b2303a92" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a82648b9102a8bf499a683154b2303a92" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getBlendShapeTargetDeltaZs</ref>(std::uint16_t<sp/>meshIndex,</highlight></codeline>
<codeline lineno="943"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/>blendShapeTargetIndex)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="944"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>meshes<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes;</highlight></codeline>
<codeline lineno="945"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((meshIndex<sp/>&lt;<sp/>meshes.size())<sp/>&amp;&amp;<sp/>(blendShapeTargetIndex<sp/>&lt;<sp/>meshes[meshIndex].blendShapeTargets.size()))<sp/>{</highlight></codeline>
<codeline lineno="946"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>zDeltas<sp/>=<sp/>meshes[meshIndex].blendShapeTargets[blendShapeTargetIndex].deltas.zs;</highlight></codeline>
<codeline lineno="947"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{zDeltas.data(),<sp/>zDeltas.size()};</highlight></codeline>
<codeline lineno="948"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="949"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="950"><highlight class="normal">}</highlight></codeline>
<codeline lineno="951"><highlight class="normal"></highlight></codeline>
<codeline lineno="952"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TReaderBase&gt;</highlight></codeline>
<codeline lineno="953" refid="classdna_1_1ReaderImpl_1a46e339cd990297cdb67129a03b1a0974" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint32_t&gt;</ref><sp/><ref refid="classdna_1_1ReaderImpl_1a46e339cd990297cdb67129a03b1a0974" kindref="member">ReaderImpl&lt;TReaderBase&gt;::getBlendShapeTargetVertexIndices</ref>(std::uint16_t<sp/>meshIndex,</highlight></codeline>
<codeline lineno="954"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/>blendShapeTargetIndex)</highlight><highlight class="keyword"></highlight></codeline>
<codeline lineno="955"><highlight class="keyword">const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="956"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>meshes<sp/>=<sp/><ref refid="namespacedna" kindref="compound">dna</ref>.geometry.meshes;</highlight></codeline>
<codeline lineno="957"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((meshIndex<sp/>&lt;<sp/>meshes.size())<sp/>&amp;&amp;<sp/>(blendShapeTargetIndex<sp/>&lt;<sp/>meshes[meshIndex].blendShapeTargets.size()))<sp/>{</highlight></codeline>
<codeline lineno="958"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>vertexIndices<sp/>=<sp/>meshes[meshIndex].blendShapeTargets[blendShapeTargetIndex].vertexIndices;</highlight></codeline>
<codeline lineno="959"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{vertexIndices.data(),<sp/>vertexIndices.size()};</highlight></codeline>
<codeline lineno="960"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="961"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{};</highlight></codeline>
<codeline lineno="962"><highlight class="normal">}</highlight></codeline>
<codeline lineno="963"><highlight class="normal"></highlight></codeline>
<codeline lineno="964"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>_MSC_VER</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="965"><highlight class="normal"></highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/>#pragma<sp/>warning(pop)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="966"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="967"><highlight class="normal"></highlight></codeline>
<codeline lineno="968"><highlight class="normal">}<sp/><sp/></highlight><highlight class="comment">//<sp/>namespace<sp/>dna</highlight><highlight class="normal"></highlight></codeline>
</programlisting>
<location file="C:/source/MetaHuman-DNA-Calibration/dnacalib/DNACalib/src/dna/ReaderImpl.h"/>
</compounddef>
</doxygen>