Metahuman_DNA_Calibration/docs/doxygen/build/xml/Writer_8cpp.xml

956 lines
136 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="Writer_8cpp" kind="file" language="C++">
<compoundname>Writer.cpp</compoundname>
<includes refid="Writer_8h" local="yes">dna/Writer.h</includes>
<includes refid="Reader_8h" local="yes">dna/Reader.h</includes>
<includes refid="DataLayerBitmask_8h" local="yes">dna/DataLayerBitmask.h</includes>
<includes refid="src_2dna_2TypeDefs_8h" local="yes">dna/TypeDefs.h</includes>
<includes refid="Vector3_8h" local="yes">dna/types/Vector3.h</includes>
<includes local="no">functional</includes>
<incdepgraph>
<node id="3">
<label>dna/DataLayer.h</label>
<link refid="DataLayer_8h"/>
</node>
<node id="4">
<label>dna/Defs.h</label>
<link refid="dna_2Defs_8h"/>
</node>
<node id="34">
<label>dna/Reader.h</label>
<link refid="Reader_8h"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="38" relation="include">
</childnode>
</node>
<node id="2">
<label>dna/Writer.h</label>
<link refid="Writer_8h"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="32" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
</node>
<node id="35">
<label>dna/layers/BehaviorReader.h</label>
<link refid="BehaviorReader_8h"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="5">
<label>dna/layers/BehaviorWriter.h</label>
<link refid="BehaviorWriter_8h"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="36">
<label>dna/layers/DefinitionReader.h</label>
<link refid="DefinitionReader_8h"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="31" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="6">
<label>dna/layers/DefinitionWriter.h</label>
<link refid="DefinitionWriter_8h"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="31" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="8">
<label>dna/layers/Descriptor.h</label>
<link refid="Descriptor_8h"/>
</node>
<node id="37">
<label>dna/layers/DescriptorReader.h</label>
<link refid="DescriptorReader_8h"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="7">
<label>dna/layers/DescriptorWriter.h</label>
<link refid="DescriptorWriter_8h"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="33">
<label>dna/layers/Geometry.h</label>
<link refid="Geometry_8h"/>
<childnode refid="31" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="38">
<label>dna/layers/GeometryReader.h</label>
<link refid="GeometryReader_8h"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
<childnode refid="33" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="32">
<label>dna/layers/GeometryWriter.h</label>
<link refid="GeometryWriter_8h"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="33" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="9">
<label>dna/types/Aliases.h</label>
<link refid="dna_2types_2Aliases_8h"/>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
</node>
<node id="10">
<label>dna/types/ArrayView.h</label>
<link refid="ArrayView_8h"/>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="14">
<label>dna/types/StringView.h</label>
<link refid="StringView_8h"/>
<childnode refid="10" relation="include">
</childnode>
</node>
<node id="31">
<label>dna/types/Vector3.h</label>
<link refid="Vector3_8h"/>
</node>
<node id="16">
<label>pma/Defs.h</label>
<link refid="pma_2Defs_8h"/>
</node>
<node id="15">
<label>pma/MemoryResource.h</label>
<link refid="MemoryResource_8h"/>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="43">
<label>pma/PolyAllocator.h</label>
<link refid="PolyAllocator_8h"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="44" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="45" relation="include">
</childnode>
<childnode refid="46" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
</node>
<node id="17">
<label>pma/ScopedPtr.h</label>
<link refid="ScopedPtr_8h"/>
<childnode refid="18" relation="include">
</childnode>
</node>
<node id="47">
<label>pma/TypeDefs.h</label>
<link refid="include_2pma_2TypeDefs_8h"/>
<childnode refid="43" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="48" relation="include">
</childnode>
<childnode refid="49" relation="include">
</childnode>
<childnode refid="50" relation="include">
</childnode>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="52" relation="include">
</childnode>
<childnode refid="53" relation="include">
</childnode>
<childnode refid="54" relation="include">
</childnode>
</node>
<node id="55">
<label>pma/resources/AlignedMemoryResource.h</label>
<link refid="AlignedMemoryResource_8h"/>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="56">
<label>pma/resources/ArenaMemoryResource.h</label>
<link refid="ArenaMemoryResource_8h"/>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="44">
<label>pma/resources/DefaultMemoryResource.h</label>
<link refid="DefaultMemoryResource_8h"/>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="20">
<label>status/Defs.h</label>
<link refid="status_2Defs_8h"/>
</node>
<node id="19">
<label>status/Status.h</label>
<link refid="Status_8h"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
</node>
<node id="21">
<label>status/StatusCode.h</label>
<link refid="StatusCode_8h"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="23">
<label>trio/Concepts.h</label>
<link refid="Concepts_8h"/>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="24">
<label>trio/Defs.h</label>
<link refid="trio_2Defs_8h"/>
</node>
<node id="22">
<label>trio/Stream.h</label>
<link refid="Stream_8h"/>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="28">
<label>trio/streams/FileStream.h</label>
<link refid="FileStream_8h"/>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
</node>
<node id="29">
<label>trio/streams/MemoryMappedFileStream.h</label>
<link refid="MemoryMappedFileStream_8h"/>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="30">
<label>trio/streams/MemoryStream.h</label>
<link refid="MemoryStream_8h"/>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="26">
<label>trio/types/Aliases.h</label>
<link refid="trio_2types_2Aliases_8h"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
</node>
<node id="27">
<label>trio/types/Parameters.h</label>
<link refid="Parameters_8h"/>
</node>
<node id="39">
<label>dna/DataLayerBitmask.h</label>
<link refid="DataLayerBitmask_8h"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="40" relation="include">
</childnode>
</node>
<node id="42">
<label>dna/TypeDefs.h</label>
<link refid="src_2dna_2TypeDefs_8h"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="43" relation="include">
</childnode>
<childnode refid="47" relation="include">
</childnode>
<childnode refid="55" relation="include">
</childnode>
<childnode refid="56" relation="include">
</childnode>
<childnode refid="44" relation="include">
</childnode>
<childnode refid="57" relation="include">
</childnode>
</node>
<node id="1">
<label>Writer.cpp</label>
<link refid="Writer_8cpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="34" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="42" relation="include">
</childnode>
<childnode refid="31" relation="include">
</childnode>
<childnode refid="59" relation="include">
</childnode>
</node>
<node id="40">
<label>dna/utils/ScopedEnumEx.h</label>
<link refid="dna_2utils_2ScopedEnumEx_8h"/>
<childnode refid="41" relation="include">
</childnode>
</node>
<node id="57">
<label>terse/types/DynArray.h</label>
<link refid="DynArray_8h"/>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="58" relation="include">
</childnode>
<childnode refid="59" relation="include">
</childnode>
<childnode refid="60" relation="include">
</childnode>
<childnode refid="45" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
</node>
<node id="11">
<label>algorithm</label>
</node>
<node id="12">
<label>cassert</label>
</node>
<node id="13">
<label>cstddef</label>
</node>
<node id="25">
<label>cstdint</label>
</node>
<node id="58">
<label>cstring</label>
</node>
<node id="59">
<label>functional</label>
</node>
<node id="60">
<label>iterator</label>
</node>
<node id="48">
<label>list</label>
</node>
<node id="49">
<label>map</label>
</node>
<node id="45">
<label>memory</label>
</node>
<node id="46">
<label>scoped_allocator</label>
</node>
<node id="50">
<label>set</label>
</node>
<node id="51">
<label>string</label>
</node>
<node id="41">
<label>type_traits</label>
</node>
<node id="52">
<label>unordered_map</label>
</node>
<node id="53">
<label>unordered_set</label>
</node>
<node id="18">
<label>utility</label>
</node>
<node id="54">
<label>vector</label>
</node>
</incdepgraph>
<innernamespace refid="namespacedna">dna</innernamespace>
<innernamespace refid="namespacedna_1_1anonymous__namespace_02Writer_8cpp_03">dna::anonymous_namespace{Writer.cpp}</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">#include<sp/>&quot;<ref refid="Writer_8h" kindref="compound">dna/Writer.h</ref>&quot;</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;<ref refid="Reader_8h" kindref="compound">dna/Reader.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="DataLayerBitmask_8h" kindref="compound">dna/DataLayerBitmask.h</ref>&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><highlight class="preprocessor">#include<sp/>&quot;<ref refid="Vector3_8h" kindref="compound">dna/types/Vector3.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="9"><highlight class="normal"></highlight></codeline>
<codeline lineno="10"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>_MSC_VER</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="11"><highlight class="normal"></highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/>#pragma<sp/>warning(push)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="12"><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="13"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="14"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;functional&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="15"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>_MSC_VER</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="16"><highlight class="normal"></highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/>#pragma<sp/>warning(pop)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="17"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="18"><highlight class="normal"></highlight></codeline>
<codeline lineno="19"><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="20"><highlight class="normal"></highlight></codeline>
<codeline lineno="21" refid="namespacedna_1_1anonymous__namespace_02Writer_8cpp_03" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="22"><highlight class="normal"></highlight></codeline>
<codeline lineno="23" refid="namespacedna_1_1anonymous__namespace_02Writer_8cpp_03_1a71fe93446fa05854a008c73fa057c3a6" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="namespacedna_1_1anonymous__namespace_02Writer_8cpp_03_1a71fe93446fa05854a008c73fa057c3a6" kindref="member">Vector3Vector</ref><sp/>=<sp/><ref refid="namespacepma_1a2d6fe21d674b98f7f9bc8dc3a2776cb9" kindref="member">Vector&lt;Vector3&gt;</ref>;</highlight></codeline>
<codeline lineno="24" refid="namespacedna_1_1anonymous__namespace_02Writer_8cpp_03_1a722bae6b2f49102c463c2794a7530e4c" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="namespacedna_1_1anonymous__namespace_02Writer_8cpp_03_1a722bae6b2f49102c463c2794a7530e4c" kindref="member">TextureCoordinateVector</ref><sp/>=<sp/><ref refid="namespacepma_1a2d6fe21d674b98f7f9bc8dc3a2776cb9" kindref="member">Vector&lt;TextureCoordinate&gt;</ref>;</highlight></codeline>
<codeline lineno="25" refid="namespacedna_1_1anonymous__namespace_02Writer_8cpp_03_1ab0637f2a1766653676d156ac5983816c" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="namespacedna_1_1anonymous__namespace_02Writer_8cpp_03_1ab0637f2a1766653676d156ac5983816c" kindref="member">VertexLayoutVector</ref><sp/>=<sp/><ref refid="namespacepma_1a2d6fe21d674b98f7f9bc8dc3a2776cb9" kindref="member">Vector&lt;VertexLayout&gt;</ref>;</highlight></codeline>
<codeline lineno="26"><highlight class="normal"></highlight></codeline>
<codeline lineno="27"><highlight class="normal">}<sp/><sp/></highlight><highlight class="comment">//<sp/>namespace</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="28"><highlight class="normal"></highlight></codeline>
<codeline lineno="29"><highlight class="normal"><ref refid="classdna_1_1DescriptorWriter_1a055ce84ed039856b57c64db2dd5bb584" kindref="member">DescriptorWriter::~DescriptorWriter</ref>()<sp/>=<sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="30"><highlight class="normal"><ref refid="classdna_1_1DefinitionWriter_1ad68a8a51b3ae0bc1ac4103d49359a023" kindref="member">DefinitionWriter::~DefinitionWriter</ref>()<sp/>=<sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="31"><highlight class="normal"><ref refid="classdna_1_1BehaviorWriter_1adfc84089a2ef97576a91b061d839af46" kindref="member">BehaviorWriter::~BehaviorWriter</ref>()<sp/>=<sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="32"><highlight class="normal"><ref refid="classdna_1_1GeometryWriter_1a5867e2af786f11103b0e694312f15334" kindref="member">GeometryWriter::~GeometryWriter</ref>()<sp/>=<sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="33"><highlight class="normal"><ref refid="classdna_1_1Writer_1a0d344c575be95fce166e56b61056e0fd" kindref="member">Writer::~Writer</ref>()<sp/>=<sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="34"><highlight class="normal"></highlight></codeline>
<codeline lineno="35"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>TVector,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>TGetter&gt;</highlight></codeline>
<codeline lineno="36" refid="namespacedna_1a6edfa927291a6fab8c621ad4b080f15b" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>TVector<sp/><ref refid="namespacedna_1a6edfa927291a6fab8c621ad4b080f15b" kindref="member">collect_n</ref>(std::size_t<sp/>count,<sp/>TGetter<sp/>getter,<sp/><ref refid="classpma_1_1MemoryResource" kindref="compound">MemoryResource</ref>*<sp/>memRes)<sp/>{</highlight></codeline>
<codeline lineno="37"><highlight class="normal"><sp/><sp/><sp/><sp/>TVector<sp/>retval{memRes};</highlight></codeline>
<codeline lineno="38"><highlight class="normal"><sp/><sp/><sp/><sp/>retval.reserve(count);</highlight></codeline>
<codeline lineno="39"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::size_t<sp/>i<sp/>=<sp/>0ul;<sp/>i<sp/>&lt;<sp/>count;<sp/>++i)<sp/>{</highlight></codeline>
<codeline lineno="40"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>retval.push_back(getter(i));</highlight></codeline>
<codeline lineno="41"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="42"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>retval;</highlight></codeline>
<codeline lineno="43"><highlight class="normal">}</highlight></codeline>
<codeline lineno="44"><highlight class="normal"></highlight></codeline>
<codeline lineno="45" refid="namespacedna_1a3dd6b21633eba36a583be501ee467fa6" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="namespacedna_1a3dd6b21633eba36a583be501ee467fa6" kindref="member">copyDescriptor</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1DescriptorReader" kindref="compound">DescriptorReader</ref>*<sp/>source,<sp/><ref refid="classdna_1_1DescriptorWriter" kindref="compound">DescriptorWriter</ref>*<sp/>destination,<sp/><ref refid="classpma_1_1MemoryResource" kindref="compound">MemoryResource</ref>*<sp/><sp/></highlight><highlight class="comment">/*unused*/</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="46"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DescriptorWriter_1a9af57f937e1d24de1b6fcad6f109e4e0" kindref="member">setName</ref>(source-&gt;<ref refid="classdna_1_1DescriptorReader_1a421dc8eaebfd2940ebf7a7b42987a247" kindref="member">getName</ref>());</highlight></codeline>
<codeline lineno="47"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DescriptorWriter_1aed61cd3661fe097ac1792608ea13971b" kindref="member">setArchetype</ref>(source-&gt;<ref refid="classdna_1_1DescriptorReader_1a27bdf08bcbc0ffc73be4c6d1c4242f87" kindref="member">getArchetype</ref>());</highlight></codeline>
<codeline lineno="48"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DescriptorWriter_1a7f5376ccecaa926aba462ff4cba47244" kindref="member">setGender</ref>(source-&gt;<ref refid="classdna_1_1DescriptorReader_1ae41de3dc5c2dbaced840dcac773b16a2" kindref="member">getGender</ref>());</highlight></codeline>
<codeline lineno="49"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DescriptorWriter_1a23839423080cbbef906d2edc1eb47b2a" kindref="member">setAge</ref>(source-&gt;<ref refid="classdna_1_1DescriptorReader_1adf37388277858ed1880f4587dc3c17bb" kindref="member">getAge</ref>());</highlight></codeline>
<codeline lineno="50"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DescriptorWriter_1ace23be7b6e8b6104f472ca3f1d4b2235" kindref="member">clearMetaData</ref>();</highlight></codeline>
<codeline lineno="51"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint32_t<sp/>i<sp/>=<sp/>0u;<sp/>i<sp/>&lt;<sp/>source-&gt;<ref refid="classdna_1_1DescriptorReader_1a883464cf9ef0e733eae4c52e20c8e997" kindref="member">getMetaDataCount</ref>();<sp/>++i)<sp/>{</highlight></codeline>
<codeline lineno="52"><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"><sp/>key<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1DescriptorReader_1ac0a59511e545c660a9e5d1336ae6fc3c" kindref="member">getMetaDataKey</ref>(i);</highlight></codeline>
<codeline lineno="53"><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"><sp/>value<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1DescriptorReader_1a141c0d87063cd15317bc91a13e73dcf8" kindref="member">getMetaDataValue</ref>(key);</highlight></codeline>
<codeline lineno="54"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DescriptorWriter_1a03d2b0ecc0a5e01081e9a5fccec9ca65" kindref="member">setMetaData</ref>(key,<sp/>value);</highlight></codeline>
<codeline lineno="55"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="56"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DescriptorWriter_1ac104f5869d0b01c92e8dcc7b6fcf7cc9" kindref="member">setTranslationUnit</ref>(source-&gt;<ref refid="classdna_1_1DescriptorReader_1aadfe5c13952fbbdbf8fea0a862817e00" kindref="member">getTranslationUnit</ref>());</highlight></codeline>
<codeline lineno="57"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DescriptorWriter_1a1756bb4c64fb48a95af1daea77c6b5a6" kindref="member">setRotationUnit</ref>(source-&gt;<ref refid="classdna_1_1DescriptorReader_1aa8ea617301975ab2eaf42510ba470b1a" kindref="member">getRotationUnit</ref>());</highlight></codeline>
<codeline lineno="58"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DescriptorWriter_1a0a118e6fd0b17b4b40ff265f45d442e7" kindref="member">setCoordinateSystem</ref>(source-&gt;<ref refid="classdna_1_1DescriptorReader_1aec61b30a983756b0b42523b1fd1b4bcc" kindref="member">getCoordinateSystem</ref>());</highlight></codeline>
<codeline lineno="59"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DescriptorWriter_1a20f5c0bd82865136e3df7c9d67585213" kindref="member">setLODCount</ref>(source-&gt;<ref refid="classdna_1_1DescriptorReader_1a5049f3e40b919fd15476ff24ea46ec32" kindref="member">getLODCount</ref>());</highlight></codeline>
<codeline lineno="60"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DescriptorWriter_1a30f909fc6dcb53baa4462b45644056d5" kindref="member">setDBMaxLOD</ref>(source-&gt;<ref refid="classdna_1_1DescriptorReader_1a17d3855616540f144aa35f3a2afe08b2" kindref="member">getDBMaxLOD</ref>());</highlight></codeline>
<codeline lineno="61"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DescriptorWriter_1ac194e90483e1fb937ad43cc57d9f9dba" kindref="member">setDBComplexity</ref>(source-&gt;<ref refid="classdna_1_1DescriptorReader_1a43466c9804dda58f1ff3694c94213b97" kindref="member">getDBComplexity</ref>());</highlight></codeline>
<codeline lineno="62"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DescriptorWriter_1ac7b713af76afdc4f89af288b983c6779" kindref="member">setDBName</ref>(source-&gt;<ref refid="classdna_1_1DescriptorReader_1a7007f41a06776604bd636040eb780e59" kindref="member">getDBName</ref>());</highlight></codeline>
<codeline lineno="63"><highlight class="normal">}</highlight></codeline>
<codeline lineno="64"><highlight class="normal"></highlight></codeline>
<codeline lineno="65" refid="namespacedna_1a371ddf780a3211d8f4ba894755c7bcce" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>std::pair&lt;bool,<sp/>std::uint16_t&gt;<sp/><ref refid="namespacedna_1a371ddf780a3211d8f4ba894755c7bcce" kindref="member">findIndices</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespacepma_1a66acdf887e847cb2662b905e682b0132" kindref="member">Matrix&lt;std::uint16_t&gt;</ref>&amp;<sp/>source,<sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint16_t&gt;</ref><sp/>indices)<sp/>{</highlight></codeline>
<codeline lineno="66"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>In<sp/>the<sp/>common<sp/>scenario<sp/>each<sp/>LOD<sp/>has<sp/>it&apos;s<sp/>unique<sp/>set<sp/>of<sp/>indices</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::size_t<sp/>i<sp/>=<sp/>0ul;<sp/>i<sp/>&lt;<sp/>source.size();<sp/>++i)<sp/>{</highlight></codeline>
<codeline lineno="68"><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/>candidate{source[i].<ref refid="classtrust_1_1ArrayView_1a90e50dd55c347dadd8863e21696e6f64" kindref="member">data</ref>(),<sp/>source[i].size()};</highlight></codeline>
<codeline lineno="69"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(indices<sp/>==<sp/>candidate)<sp/>{</highlight></codeline>
<codeline lineno="70"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Unless<sp/>the<sp/>indices<sp/>are<sp/>the<sp/>same<sp/>between<sp/>multiple<sp/>LODs,<sp/>in<sp/>which<sp/>case<sp/>use<sp/>the</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="71"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>already<sp/>registered<sp/>index</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="72"><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/>{</highlight><highlight class="keyword">true</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">(i)};</highlight></codeline>
<codeline lineno="73"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="74"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="75"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{</highlight><highlight class="keyword">false</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">(0)};</highlight></codeline>
<codeline lineno="76"><highlight class="normal">}</highlight></codeline>
<codeline lineno="77"><highlight class="normal"></highlight></codeline>
<codeline lineno="78" refid="namespacedna_1aa6d2a1e06befb26359ecb9520d189b9f" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="namespacedna_1aa6d2a1e06befb26359ecb9520d189b9f" kindref="member">IndicesGetter</ref><sp/>=<sp/>std::function&lt;ConstArrayView&lt;std::uint16_t&gt;(std::uint16_t)&gt;;</highlight></codeline>
<codeline lineno="79" refid="namespacedna_1a8e24a6224edae74951b361bd329793a8" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="namespacedna_1a8e24a6224edae74951b361bd329793a8" kindref="member">IndicesSetter</ref><sp/>=<sp/>std::function&lt;void<sp/>(std::uint16_t,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::uint16_t*,<sp/>std::uint16_t)&gt;;</highlight></codeline>
<codeline lineno="80" refid="namespacedna_1aa5e4b325b343cf2a4d495485227ab904" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="namespacedna_1aa5e4b325b343cf2a4d495485227ab904" kindref="member">LODMappingSetter</ref><sp/>=<sp/>std::function&lt;void<sp/>(std::uint16_t,<sp/>std::uint16_t)&gt;;</highlight></codeline>
<codeline lineno="81"><highlight class="normal"></highlight></codeline>
<codeline lineno="82" refid="namespacedna_1a2f45e075b5acc7b36f4d4de005c09f4d" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="namespacedna_1a2f45e075b5acc7b36f4d4de005c09f4d" kindref="member">copyNameIndices</ref>(<ref refid="namespacedna_1aa6d2a1e06befb26359ecb9520d189b9f" kindref="member">IndicesGetter</ref><sp/>getIndices,</highlight></codeline>
<codeline lineno="83"><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/><ref refid="namespacedna_1a8e24a6224edae74951b361bd329793a8" kindref="member">IndicesSetter</ref><sp/>setIndices,</highlight></codeline>
<codeline lineno="84"><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/><ref refid="namespacedna_1aa5e4b325b343cf2a4d495485227ab904" kindref="member">LODMappingSetter</ref><sp/>setLODMapping,</highlight></codeline>
<codeline lineno="85"><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/>std::uint16_t<sp/>lodCount,</highlight></codeline>
<codeline lineno="86"><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/><ref refid="classpma_1_1MemoryResource" kindref="compound">MemoryResource</ref>*<sp/>memRes)<sp/>{</highlight></codeline>
<codeline lineno="87"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="namespacepma_1a66acdf887e847cb2662b905e682b0132" kindref="member">Matrix&lt;std::uint16_t&gt;</ref><sp/>allIndices{memRes};</highlight></codeline>
<codeline lineno="88"><highlight class="normal"><sp/><sp/><sp/><sp/>std::uint16_t<sp/>index<sp/>=<sp/>0u;</highlight></codeline>
<codeline lineno="89"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint16_t<sp/>lod<sp/>=<sp/>0u;<sp/>lod<sp/>&lt;<sp/>lodCount;<sp/>++lod)<sp/>{</highlight></codeline>
<codeline lineno="90"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>indices<sp/>=<sp/>getIndices(lod);</highlight></codeline>
<codeline lineno="91"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Check<sp/>if<sp/>these<sp/>same<sp/>indices<sp/>were<sp/>perhaps<sp/>already<sp/>used<sp/>for<sp/>previous<sp/>LODs</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="92"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>found<sp/>=<sp/><ref refid="namespacedna_1a371ddf780a3211d8f4ba894755c7bcce" kindref="member">findIndices</ref>(allIndices,<sp/>indices);</highlight></codeline>
<codeline lineno="93"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!found.first)<sp/>{</highlight></codeline>
<codeline lineno="94"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>setIndices(index,<sp/>indices.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(indices.size()));</highlight></codeline>
<codeline lineno="95"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>setLODMapping(lod,<sp/>index);</highlight></codeline>
<codeline lineno="96"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>allIndices.emplace_back(indices.begin(),<sp/>indices.end());</highlight></codeline>
<codeline lineno="97"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>++index;</highlight></codeline>
<codeline lineno="98"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="99"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Already<sp/>used<sp/>so<sp/>do<sp/>not<sp/>replicate<sp/>the<sp/>same<sp/>data<sp/>twice</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="100"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>setLODMapping(lod,<sp/>found.second);</highlight></codeline>
<codeline lineno="101"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="102"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="103"><highlight class="normal">}</highlight></codeline>
<codeline lineno="104"><highlight class="normal"></highlight></codeline>
<codeline lineno="105" refid="namespacedna_1a16f3f0150d5c559e35eda9ee663b38fb" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="namespacedna_1a16f3f0150d5c559e35eda9ee663b38fb" kindref="member">copyDefinition</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1DefinitionReader" kindref="compound">DefinitionReader</ref>*<sp/>source,<sp/><ref refid="classdna_1_1DefinitionWriter" kindref="compound">DefinitionWriter</ref>*<sp/>destination,<sp/><ref refid="classpma_1_1MemoryResource" kindref="compound">MemoryResource</ref>*<sp/>memRes)<sp/>{</highlight></codeline>
<codeline lineno="106"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1a51ec75c1d95e3f6b11e76a63bff7830a" kindref="member">clearGUIControlNames</ref>();</highlight></codeline>
<codeline lineno="107"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1abc7053615464e121b86bb6c3c3605398" kindref="member">clearRawControlNames</ref>();</highlight></codeline>
<codeline lineno="108"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1a623e9d447ff61291f0c4eebb2a52161d" kindref="member">clearJointNames</ref>();</highlight></codeline>
<codeline lineno="109"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1aa69021d1daa96e5dc6c664a4a4d5b6f1" kindref="member">clearBlendShapeChannelNames</ref>();</highlight></codeline>
<codeline lineno="110"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1afab13f64abd3b2600cbb33f513c6e4bb" kindref="member">clearAnimatedMapNames</ref>();</highlight></codeline>
<codeline lineno="111"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1a12aa23a21232da2ffaa51e4dc6748bb8" kindref="member">clearMeshNames</ref>();</highlight></codeline>
<codeline lineno="112"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1af5678ae2507289472d3bf7db42cf5737" kindref="member">clearJointIndices</ref>();</highlight></codeline>
<codeline lineno="113"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1ada594e28662c8743180659e88666de30" kindref="member">clearLODJointMappings</ref>();</highlight></codeline>
<codeline lineno="114"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1a7ccdfa0345f7789514a8dbb77fd9d6bf" kindref="member">clearBlendShapeChannelIndices</ref>();</highlight></codeline>
<codeline lineno="115"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1a2fa5d2b6c9fb5725cc0bba2ea7c5b1ab" kindref="member">clearLODBlendShapeChannelMappings</ref>();</highlight></codeline>
<codeline lineno="116"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1a833ddf3aa21ae018e73923a9c17e8f6c" kindref="member">clearAnimatedMapIndices</ref>();</highlight></codeline>
<codeline lineno="117"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1ae88b611a59fdfadfef3fef6316bf7e0f" kindref="member">clearLODAnimatedMapMappings</ref>();</highlight></codeline>
<codeline lineno="118"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1aa4875b5153d765696a6693add5dd0c46" kindref="member">clearMeshIndices</ref>();</highlight></codeline>
<codeline lineno="119"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1a4e8476c54bee8764db7e22f2d813c5e0" kindref="member">clearLODMeshMappings</ref>();</highlight></codeline>
<codeline lineno="120"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1a0df6e5029b789fd4a14208d1416cd246" kindref="member">clearMeshBlendShapeChannelMappings</ref>();</highlight></codeline>
<codeline lineno="121"><highlight class="normal"></highlight></codeline>
<codeline lineno="122"><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/>lodCount<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1DescriptorReader_1a5049f3e40b919fd15476ff24ea46ec32" kindref="member">getLODCount</ref>();</highlight></codeline>
<codeline lineno="123"><highlight class="normal"></highlight></codeline>
<codeline lineno="124"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint16_t<sp/>i<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1a70c2f16889d2aa1f6c55ffaed75aa8d7" kindref="member">getGUIControlCount</ref>();<sp/>i<sp/>&gt;<sp/>0u;<sp/>--i)<sp/>{</highlight></codeline>
<codeline lineno="125"><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"><sp/>idx<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">(i<sp/>-<sp/>1u);</highlight></codeline>
<codeline lineno="126"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1acbe167777c421076e740f9e775f1ca52" kindref="member">setGUIControlName</ref>(idx,<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1acc5b028b9f5d8d936b6d99682906c8b1" kindref="member">getGUIControlName</ref>(idx).<ref refid="classtrust_1_1ArrayView_1a90e50dd55c347dadd8863e21696e6f64" kindref="member">data</ref>());</highlight></codeline>
<codeline lineno="127"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="128"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint16_t<sp/>i<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1a0a8fa3d33f47640520f5cc676788470e" kindref="member">getRawControlCount</ref>();<sp/>i<sp/>&gt;<sp/>0u;<sp/>--i)<sp/>{</highlight></codeline>
<codeline lineno="129"><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"><sp/>idx<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">(i<sp/>-<sp/>1u);</highlight></codeline>
<codeline lineno="130"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1a603d4b1155e298fc240c991c51a35057" kindref="member">setRawControlName</ref>(idx,<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1a4c39e828758f6249408fca4fbc4b89c0" kindref="member">getRawControlName</ref>(idx).<ref refid="classtrust_1_1ArrayView_1a90e50dd55c347dadd8863e21696e6f64" kindref="member">data</ref>());</highlight></codeline>
<codeline lineno="131"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="132"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint16_t<sp/>i<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1acb077a6f51c59fcfc8a2e6dd2de6cf2e" kindref="member">getJointCount</ref>();<sp/>i<sp/>&gt;<sp/>0u;<sp/>--i)<sp/>{</highlight></codeline>
<codeline lineno="133"><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"><sp/>idx<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">(i<sp/>-<sp/>1u);</highlight></codeline>
<codeline lineno="134"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1aaece7b99c2c0a9a91667920dc7ee489b" kindref="member">setJointName</ref>(idx,<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1aed66db160f6517e3ec4fda3f3e124c45" kindref="member">getJointName</ref>(idx).<ref refid="classtrust_1_1ArrayView_1a90e50dd55c347dadd8863e21696e6f64" kindref="member">data</ref>());</highlight></codeline>
<codeline lineno="135"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="136"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint16_t<sp/>i<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1abbfe6ca7c250868c9b5690c9e6dd73f2" kindref="member">getBlendShapeChannelCount</ref>();<sp/>i<sp/>&gt;<sp/>0u;<sp/>--i)<sp/>{</highlight></codeline>
<codeline lineno="137"><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"><sp/>idx<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">(i<sp/>-<sp/>1u);</highlight></codeline>
<codeline lineno="138"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1a16e68f1b1ec7a84ca03764c16a114b89" kindref="member">setBlendShapeChannelName</ref>(idx,<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1a9162ea692bf3c45f65b7a569d5061623" kindref="member">getBlendShapeChannelName</ref>(idx).<ref refid="classtrust_1_1ArrayView_1a90e50dd55c347dadd8863e21696e6f64" kindref="member">data</ref>());</highlight></codeline>
<codeline lineno="139"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="140"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint16_t<sp/>i<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1a817e01dd0c8c013ddeb87200a77f444e" kindref="member">getAnimatedMapCount</ref>();<sp/>i<sp/>&gt;<sp/>0u;<sp/>--i)<sp/>{</highlight></codeline>
<codeline lineno="141"><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"><sp/>idx<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">(i<sp/>-<sp/>1u);</highlight></codeline>
<codeline lineno="142"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1a952b9e26982e07b7cff4118cb7e4b3d9" kindref="member">setAnimatedMapName</ref>(idx,<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1a057aa04a10d076a1569995339d95533d" kindref="member">getAnimatedMapName</ref>(idx));</highlight></codeline>
<codeline lineno="143"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="144"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint16_t<sp/>i<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1a7fa8d1c480f84b2af00902dcb220925e" kindref="member">getMeshCount</ref>();<sp/>i<sp/>&gt;<sp/>0u;<sp/>--i)<sp/>{</highlight></codeline>
<codeline lineno="145"><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"><sp/>idx<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">(i<sp/>-<sp/>1u);</highlight></codeline>
<codeline lineno="146"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1a3a04e9932ae29728b79d6fe38b86755f" kindref="member">setMeshName</ref>(idx,<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1a10353a0640d78d4ede523391293b9b30" kindref="member">getMeshName</ref>(idx).<ref refid="classtrust_1_1ArrayView_1a90e50dd55c347dadd8863e21696e6f64" kindref="member">data</ref>());</highlight></codeline>
<codeline lineno="147"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="148"><highlight class="normal"></highlight></codeline>
<codeline lineno="149"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/>namespace<sp/></highlight><highlight class="normal">std::placeholders;</highlight></codeline>
<codeline lineno="150"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="namespacedna_1a2f45e075b5acc7b36f4d4de005c09f4d" kindref="member">copyNameIndices</ref>(</highlight></codeline>
<codeline lineno="151"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::bind(&amp;<ref refid="classdna_1_1DefinitionReader_1a066b94bddd1f346c695eb7dd8a6dbc64" kindref="member">DefinitionReader::getJointIndicesForLOD</ref>,<sp/>source,<sp/>_1),</highlight></codeline>
<codeline lineno="152"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::bind(&amp;<ref refid="classdna_1_1DefinitionWriter_1a6d2908222c87eaae02f42897a3800ffb" kindref="member">DefinitionWriter::setJointIndices</ref>,<sp/>destination,<sp/>_1,<sp/>_2,<sp/>_3),</highlight></codeline>
<codeline lineno="153"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::bind(&amp;<ref refid="classdna_1_1DefinitionWriter_1ab455cc12547a8bf8fd640442c2cd37a4" kindref="member">DefinitionWriter::setLODJointMapping</ref>,<sp/>destination,<sp/>_1,<sp/>_2),</highlight></codeline>
<codeline lineno="154"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lodCount,</highlight></codeline>
<codeline lineno="155"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>memRes);</highlight></codeline>
<codeline lineno="156"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="namespacedna_1a2f45e075b5acc7b36f4d4de005c09f4d" kindref="member">copyNameIndices</ref>(</highlight></codeline>
<codeline lineno="157"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::bind(&amp;<ref refid="classdna_1_1DefinitionReader_1a052f479fb9782af634667a2c7d86dd7d" kindref="member">DefinitionReader::getBlendShapeChannelIndicesForLOD</ref>,<sp/>source,<sp/>_1),</highlight></codeline>
<codeline lineno="158"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::bind(&amp;<ref refid="classdna_1_1DefinitionWriter_1ae938261e6df4857c604fbde039d02f3c" kindref="member">DefinitionWriter::setBlendShapeChannelIndices</ref>,<sp/>destination,<sp/>_1,<sp/>_2,<sp/>_3),</highlight></codeline>
<codeline lineno="159"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::bind(&amp;<ref refid="classdna_1_1DefinitionWriter_1aecc6f0194a3ede2fd3a5949b5d726fab" kindref="member">DefinitionWriter::setLODBlendShapeChannelMapping</ref>,<sp/>destination,<sp/>_1,<sp/>_2),</highlight></codeline>
<codeline lineno="160"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lodCount,</highlight></codeline>
<codeline lineno="161"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>memRes);</highlight></codeline>
<codeline lineno="162"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="namespacedna_1a2f45e075b5acc7b36f4d4de005c09f4d" kindref="member">copyNameIndices</ref>(</highlight></codeline>
<codeline lineno="163"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::bind(&amp;<ref refid="classdna_1_1DefinitionReader_1aeb215a0f41d4d5b38bb331e14c937155" kindref="member">DefinitionReader::getAnimatedMapIndicesForLOD</ref>,<sp/>source,<sp/>_1),</highlight></codeline>
<codeline lineno="164"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::bind(&amp;<ref refid="classdna_1_1DefinitionWriter_1a9b34f7c55202132ea233bf62305e95fd" kindref="member">DefinitionWriter::setAnimatedMapIndices</ref>,<sp/>destination,<sp/>_1,<sp/>_2,<sp/>_3),</highlight></codeline>
<codeline lineno="165"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::bind(&amp;<ref refid="classdna_1_1DefinitionWriter_1ac8fbf066b96f5405488ea83ccd0b3ed2" kindref="member">DefinitionWriter::setLODAnimatedMapMapping</ref>,<sp/>destination,<sp/>_1,<sp/>_2),</highlight></codeline>
<codeline lineno="166"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lodCount,</highlight></codeline>
<codeline lineno="167"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>memRes);</highlight></codeline>
<codeline lineno="168"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="namespacedna_1a2f45e075b5acc7b36f4d4de005c09f4d" kindref="member">copyNameIndices</ref>(</highlight></codeline>
<codeline lineno="169"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::bind(&amp;<ref refid="classdna_1_1DefinitionReader_1a65511704aa8c9721359e3913dab1f023" kindref="member">DefinitionReader::getMeshIndicesForLOD</ref>,<sp/>source,<sp/>_1),</highlight></codeline>
<codeline lineno="170"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::bind(&amp;<ref refid="classdna_1_1DefinitionWriter_1a1ede54dbf2feef53b1210297a74ecb3d" kindref="member">DefinitionWriter::setMeshIndices</ref>,<sp/>destination,<sp/>_1,<sp/>_2,<sp/>_3),</highlight></codeline>
<codeline lineno="171"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::bind(&amp;<ref refid="classdna_1_1DefinitionWriter_1a76c1e2ef776b647c7313c6373daa0ad5" kindref="member">DefinitionWriter::setLODMeshMapping</ref>,<sp/>destination,<sp/>_1,<sp/>_2),</highlight></codeline>
<codeline lineno="172"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lodCount,</highlight></codeline>
<codeline lineno="173"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>memRes);</highlight></codeline>
<codeline lineno="174"><highlight class="normal"></highlight></codeline>
<codeline lineno="175"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="namespacepma_1a2d6fe21d674b98f7f9bc8dc3a2776cb9" kindref="member">Vector&lt;std::uint16_t&gt;</ref><sp/>jointHierarchy{memRes};</highlight></codeline>
<codeline lineno="176"><highlight class="normal"><sp/><sp/><sp/><sp/>jointHierarchy.reserve(source-&gt;<ref refid="classdna_1_1DefinitionReader_1acb077a6f51c59fcfc8a2e6dd2de6cf2e" kindref="member">getJointCount</ref>());</highlight></codeline>
<codeline lineno="177"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint16_t<sp/>i<sp/>=<sp/>0u;<sp/>i<sp/>&lt;<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1acb077a6f51c59fcfc8a2e6dd2de6cf2e" kindref="member">getJointCount</ref>();<sp/>++i)<sp/>{</highlight></codeline>
<codeline lineno="178"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>jointHierarchy.push_back(source-&gt;<ref refid="classdna_1_1DefinitionReader_1a82bfc19b2253282dd790133139d82019" kindref="member">getJointParentIndex</ref>(i));</highlight></codeline>
<codeline lineno="179"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="180"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1a69035647abcca8cad52431ca759fc96d" kindref="member">setJointHierarchy</ref>(jointHierarchy.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(jointHierarchy.size()));</highlight></codeline>
<codeline lineno="181"><highlight class="normal"></highlight></codeline>
<codeline lineno="182"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint16_t<sp/>i<sp/>=<sp/>0u;<sp/>i<sp/>&lt;<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1aa653c8e3f7fa43344f2855eba8ef91c6" kindref="member">getMeshBlendShapeChannelMappingCount</ref>();<sp/>++i)<sp/>{</highlight></codeline>
<codeline lineno="183"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>mapping<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1a391df62515b035a3a53dea3f6a31a0a5" kindref="member">getMeshBlendShapeChannelMapping</ref>(i);</highlight></codeline>
<codeline lineno="184"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1a2af79d245c8106f3d9d893033355826d" kindref="member">setMeshBlendShapeChannelMapping</ref>(i,<sp/>mapping.meshIndex,<sp/>mapping.blendShapeChannelIndex);</highlight></codeline>
<codeline lineno="185"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="186"><highlight class="normal"></highlight></codeline>
<codeline lineno="187"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>jointCount<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1acb077a6f51c59fcfc8a2e6dd2de6cf2e" kindref="member">getJointCount</ref>();</highlight></codeline>
<codeline lineno="188"><highlight class="normal"></highlight></codeline>
<codeline lineno="189"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>translations<sp/>=<sp/>collect_n&lt;Vector3Vector&gt;(jointCount,<sp/>[source](std::size_t<sp/>index)<sp/>{</highlight></codeline>
<codeline lineno="190"><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/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1ac77468257dabbf2e1376c6a932fe6a51" kindref="member">getNeutralJointTranslation</ref>(</highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(index));</highlight></codeline>
<codeline lineno="191"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>},<sp/>memRes);</highlight></codeline>
<codeline lineno="192"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1af64d1d8956f3d0cd3165dae9df275c41" kindref="member">setNeutralJointTranslations</ref>(translations.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(translations.size()));</highlight></codeline>
<codeline lineno="193"><highlight class="normal"></highlight></codeline>
<codeline lineno="194"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>rotations<sp/>=<sp/>collect_n&lt;Vector3Vector&gt;(jointCount,<sp/>[source](std::size_t<sp/>index)<sp/>{</highlight></codeline>
<codeline lineno="195"><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/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1a1779ee479199ca32799e8b93fb15bb18" kindref="member">getNeutralJointRotation</ref>(</highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(index));</highlight></codeline>
<codeline lineno="196"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>},<sp/>memRes);</highlight></codeline>
<codeline lineno="197"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1DefinitionWriter_1a487bb27204d18dc9f120a3c18cd1539b" kindref="member">setNeutralJointRotations</ref>(rotations.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(rotations.size()));</highlight></codeline>
<codeline lineno="198"><highlight class="normal">}</highlight></codeline>
<codeline lineno="199"><highlight class="normal"></highlight></codeline>
<codeline lineno="200" refid="namespacedna_1af9aee0c3b362245afd07c38b8b421fff" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="namespacedna_1af9aee0c3b362245afd07c38b8b421fff" kindref="member">copyBehavior</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1BehaviorReader" kindref="compound">BehaviorReader</ref>*<sp/>source,<sp/><ref refid="classdna_1_1BehaviorWriter" kindref="compound">BehaviorWriter</ref>*<sp/>destination,<sp/><ref refid="classpma_1_1MemoryResource" kindref="compound">MemoryResource</ref>*<sp/><sp/></highlight><highlight class="comment">/*unused*/</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="201"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a6b9475d1a888a5e7b61c5a64eb40f2ae" kindref="member">clearJointGroups</ref>();</highlight></codeline>
<codeline lineno="202"><highlight class="normal"></highlight></codeline>
<codeline lineno="203"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>guiToRawInputIndices<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1a6cf853f5d537e6b8e2634ebf3388b529" kindref="member">getGUIToRawInputIndices</ref>();</highlight></codeline>
<codeline lineno="204"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a220225a3400609ea6ad701d82231fcd2" kindref="member">setGUIToRawInputIndices</ref>(guiToRawInputIndices.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(guiToRawInputIndices.size()));</highlight></codeline>
<codeline lineno="205"><highlight class="normal"></highlight></codeline>
<codeline lineno="206"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>guiToRawOutputIndices<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1a8e6d36a27afd3a08e565fb0fe55f22b4" kindref="member">getGUIToRawOutputIndices</ref>();</highlight></codeline>
<codeline lineno="207"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a8ff614803260b787dedf6c24f13d5d30" kindref="member">setGUIToRawOutputIndices</ref>(guiToRawOutputIndices.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(guiToRawOutputIndices.size()));</highlight></codeline>
<codeline lineno="208"><highlight class="normal"></highlight></codeline>
<codeline lineno="209"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>guiToRawFromValues<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1a4fd0213dcb2856b64280454228729855" kindref="member">getGUIToRawFromValues</ref>();</highlight></codeline>
<codeline lineno="210"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1ac2c53991d953244d8d8d9cfef3814537" kindref="member">setGUIToRawFromValues</ref>(guiToRawFromValues.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(guiToRawFromValues.size()));</highlight></codeline>
<codeline lineno="211"><highlight class="normal"></highlight></codeline>
<codeline lineno="212"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>guiToRawToValues<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1abe4d1ce29676b07d805e685199a1ef0c" kindref="member">getGUIToRawToValues</ref>();</highlight></codeline>
<codeline lineno="213"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a834af50cb5c8f1567ab474bb4dce9131" kindref="member">setGUIToRawToValues</ref>(guiToRawToValues.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(guiToRawToValues.size()));</highlight></codeline>
<codeline lineno="214"><highlight class="normal"></highlight></codeline>
<codeline lineno="215"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>guiToRawSlopeValues<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1a05f06e0f08a8f2676f0286300d880d12" kindref="member">getGUIToRawSlopeValues</ref>();</highlight></codeline>
<codeline lineno="216"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a5b6f8d09f7e14f2d4aca12b03247fa55" kindref="member">setGUIToRawSlopeValues</ref>(guiToRawSlopeValues.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(guiToRawSlopeValues.size()));</highlight></codeline>
<codeline lineno="217"><highlight class="normal"></highlight></codeline>
<codeline lineno="218"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>guiToRawCutValues<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1a68f381f520ebfd68f02020ce8f5b0a69" kindref="member">getGUIToRawCutValues</ref>();</highlight></codeline>
<codeline lineno="219"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1adba15d24dd5998ea0bb9e16c8043f078" kindref="member">setGUIToRawCutValues</ref>(guiToRawCutValues.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(guiToRawCutValues.size()));</highlight></codeline>
<codeline lineno="220"><highlight class="normal"></highlight></codeline>
<codeline lineno="221"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a318c9585948a1b810d3c175adc612cd3" kindref="member">setPSDCount</ref>(source-&gt;<ref refid="classdna_1_1BehaviorReader_1a651c99df2bd266b16efb83ff1fedac7d" kindref="member">getPSDCount</ref>());</highlight></codeline>
<codeline lineno="222"><highlight class="normal"></highlight></codeline>
<codeline lineno="223"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>psdRowIndices<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1a09f89a0f76798571d7f619f19d19787e" kindref="member">getPSDRowIndices</ref>();</highlight></codeline>
<codeline lineno="224"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a8b9013b6c4f7fddc63bc3d540024366a" kindref="member">setPSDRowIndices</ref>(psdRowIndices.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(psdRowIndices.size()));</highlight></codeline>
<codeline lineno="225"><highlight class="normal"></highlight></codeline>
<codeline lineno="226"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>psdColumnIndices<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1a35f70e12a860c73d452e27fed9b75f42" kindref="member">getPSDColumnIndices</ref>();</highlight></codeline>
<codeline lineno="227"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1ae9c842c529475cd612097967b76bbbdc" kindref="member">setPSDColumnIndices</ref>(psdColumnIndices.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(psdColumnIndices.size()));</highlight></codeline>
<codeline lineno="228"><highlight class="normal"></highlight></codeline>
<codeline lineno="229"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>psdValues<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1ab177725a27c3664055a86aa8e9eaae3d" kindref="member">getPSDValues</ref>();</highlight></codeline>
<codeline lineno="230"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1ab0914f0c6d936da871ca3c494f78ae18" kindref="member">setPSDValues</ref>(psdValues.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(psdValues.size()));</highlight></codeline>
<codeline lineno="231"><highlight class="normal"></highlight></codeline>
<codeline lineno="232"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a28cb22e4690d1921c71775c939652c80" kindref="member">setJointRowCount</ref>(source-&gt;<ref refid="classdna_1_1BehaviorReader_1a6121d56124f208317bd3a719a5885da7" kindref="member">getJointRowCount</ref>());</highlight></codeline>
<codeline lineno="233"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1ae20b30d9f64ce34affae4c8bb8efa445" kindref="member">setJointColumnCount</ref>(source-&gt;<ref refid="classdna_1_1BehaviorReader_1ad8f0c4104ae71e2cae20de68ca7dac7e" kindref="member">getJointColumnCount</ref>());</highlight></codeline>
<codeline lineno="234"><highlight class="normal"></highlight></codeline>
<codeline lineno="235"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint16_t<sp/>jointGroupIndexPlusOne<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1ac543cf35eccf547b45d37c4c7abd0dc2" kindref="member">getJointGroupCount</ref>();</highlight></codeline>
<codeline lineno="236"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>jointGroupIndexPlusOne<sp/>&gt;<sp/>0u;</highlight></codeline>
<codeline lineno="237"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>--jointGroupIndexPlusOne)<sp/>{</highlight></codeline>
<codeline lineno="238"><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"><sp/>jointGroupIndex<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">(jointGroupIndexPlusOne<sp/>-<sp/>1u);</highlight></codeline>
<codeline lineno="239"><highlight class="normal"></highlight></codeline>
<codeline lineno="240"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>jointGroupLODs<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1afe6a30955afbef5d10bb84b1f643bf43" kindref="member">getJointGroupLODs</ref>(jointGroupIndex);</highlight></codeline>
<codeline lineno="241"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a0574869602e12d5d02c1140b51d8e96e" kindref="member">setJointGroupLODs</ref>(jointGroupIndex,<sp/>jointGroupLODs.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(jointGroupLODs.size()));</highlight></codeline>
<codeline lineno="242"><highlight class="normal"></highlight></codeline>
<codeline lineno="243"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>jointGroupInputIndices<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1a028bfd1ba3ccbf52ef3cd1aedacaabfb" kindref="member">getJointGroupInputIndices</ref>(jointGroupIndex);</highlight></codeline>
<codeline lineno="244"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1aa8d6031abc7c0b7a262054c7589719e8" kindref="member">setJointGroupInputIndices</ref>(jointGroupIndex,<sp/>jointGroupInputIndices.data(),</highlight></codeline>
<codeline lineno="245"><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/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(jointGroupInputIndices.size()));</highlight></codeline>
<codeline lineno="246"><highlight class="normal"></highlight></codeline>
<codeline lineno="247"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>jointGroupOutputIndices<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1a81721b4cb25b90c76458f7b42e93db2c" kindref="member">getJointGroupOutputIndices</ref>(jointGroupIndex);</highlight></codeline>
<codeline lineno="248"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a1587c7656d8010eae73723f5ebcc8df2" kindref="member">setJointGroupOutputIndices</ref>(jointGroupIndex,<sp/>jointGroupOutputIndices.data(),</highlight></codeline>
<codeline lineno="249"><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/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(jointGroupOutputIndices.size()));</highlight></codeline>
<codeline lineno="250"><highlight class="normal"></highlight></codeline>
<codeline lineno="251"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>jointGroupValues<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1add58838dd0bffad6ac9d66887e969e5e" kindref="member">getJointGroupValues</ref>(jointGroupIndex);</highlight></codeline>
<codeline lineno="252"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a9cd33855b41cf50fa38b40dd871f7b9f" kindref="member">setJointGroupValues</ref>(jointGroupIndex,<sp/>jointGroupValues.data(),</highlight></codeline>
<codeline lineno="253"><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/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(jointGroupValues.size()));</highlight></codeline>
<codeline lineno="254"><highlight class="normal"></highlight></codeline>
<codeline lineno="255"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>jointGroupJointIndices<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1af2c5860e22023c82b41ad7a36caae3c1" kindref="member">getJointGroupJointIndices</ref>(jointGroupIndex);</highlight></codeline>
<codeline lineno="256"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1abc4bde60580a3f969b2c31694c5db4a2" kindref="member">setJointGroupJointIndices</ref>(jointGroupIndex,<sp/>jointGroupJointIndices.data(),</highlight></codeline>
<codeline lineno="257"><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/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(jointGroupJointIndices.size()));</highlight></codeline>
<codeline lineno="258"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="259"><highlight class="normal"></highlight></codeline>
<codeline lineno="260"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>blendShapeLODs<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1ad585141fe808b93db5479c8cb21b7e82" kindref="member">getBlendShapeChannelLODs</ref>();</highlight></codeline>
<codeline lineno="261"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a9eac4730bc5b2d683f81be7d7abf942a" kindref="member">setBlendShapeChannelLODs</ref>(blendShapeLODs.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(blendShapeLODs.size()));</highlight></codeline>
<codeline lineno="262"><highlight class="normal"></highlight></codeline>
<codeline lineno="263"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>blendShapeInputIndices<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1ae34d90ae469e1080ff1cc93d5e1b6cad" kindref="member">getBlendShapeChannelInputIndices</ref>();</highlight></codeline>
<codeline lineno="264"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a1298ec717057270d5e29a4ce27352345" kindref="member">setBlendShapeChannelInputIndices</ref>(blendShapeInputIndices.data(),</highlight></codeline>
<codeline lineno="265"><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/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(blendShapeInputIndices.size()));</highlight></codeline>
<codeline lineno="266"><highlight class="normal"></highlight></codeline>
<codeline lineno="267"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>blendShapeOutputIndices<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1a2cf4f15450f8589b29e240208748eb3b" kindref="member">getBlendShapeChannelOutputIndices</ref>();</highlight></codeline>
<codeline lineno="268"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1ac10d5d4766d112140ba61be45bae15c7" kindref="member">setBlendShapeChannelOutputIndices</ref>(blendShapeOutputIndices.data(),</highlight></codeline>
<codeline lineno="269"><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/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(blendShapeOutputIndices.size()));</highlight></codeline>
<codeline lineno="270"><highlight class="normal"></highlight></codeline>
<codeline lineno="271"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>animatedMapLODs<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1a50c651d7e7400e17ff7da31036b5c352" kindref="member">getAnimatedMapLODs</ref>();</highlight></codeline>
<codeline lineno="272"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a8794fb60023c7135a8e64df33f760ff8" kindref="member">setAnimatedMapLODs</ref>(animatedMapLODs.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(animatedMapLODs.size()));</highlight></codeline>
<codeline lineno="273"><highlight class="normal"></highlight></codeline>
<codeline lineno="274"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>animatedMapInputIndices<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1a504220b3ead3f11ea5888d208f8055bc" kindref="member">getAnimatedMapInputIndices</ref>();</highlight></codeline>
<codeline lineno="275"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a76a88fe1ca13c58e88729846c68668c5" kindref="member">setAnimatedMapInputIndices</ref>(animatedMapInputIndices.data(),</highlight></codeline>
<codeline lineno="276"><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/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(animatedMapInputIndices.size()));</highlight></codeline>
<codeline lineno="277"><highlight class="normal"></highlight></codeline>
<codeline lineno="278"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>animatedMapOutputIndices<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1a5ca7158ed4146d09935548ece05b7f94" kindref="member">getAnimatedMapOutputIndices</ref>();</highlight></codeline>
<codeline lineno="279"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1ac1300d462f548d4f1711b2d6c4553b99" kindref="member">setAnimatedMapOutputIndices</ref>(animatedMapOutputIndices.data(),</highlight></codeline>
<codeline lineno="280"><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/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(animatedMapOutputIndices.size()));</highlight></codeline>
<codeline lineno="281"><highlight class="normal"></highlight></codeline>
<codeline lineno="282"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>animatedMapFromValues<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1af7eb657428d974ccc5c1ae9c2516a772" kindref="member">getAnimatedMapFromValues</ref>();</highlight></codeline>
<codeline lineno="283"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1adcc2982bd1e9a7b014904f55382ea7f7" kindref="member">setAnimatedMapFromValues</ref>(animatedMapFromValues.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(animatedMapFromValues.size()));</highlight></codeline>
<codeline lineno="284"><highlight class="normal"></highlight></codeline>
<codeline lineno="285"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>animatedMapToValues<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1a21057f6c94895629229021b20133c007" kindref="member">getAnimatedMapToValues</ref>();</highlight></codeline>
<codeline lineno="286"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a4e360d3d0c2a1fe5f5fa500b879e8b27" kindref="member">setAnimatedMapToValues</ref>(animatedMapToValues.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(animatedMapToValues.size()));</highlight></codeline>
<codeline lineno="287"><highlight class="normal"></highlight></codeline>
<codeline lineno="288"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>animatedMapSlopeValues<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1a59ef8f6885a33b102fb938b7a12da16b" kindref="member">getAnimatedMapSlopeValues</ref>();</highlight></codeline>
<codeline lineno="289"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a85b0b644ee45dbc4ef4ccc3299c4d43b" kindref="member">setAnimatedMapSlopeValues</ref>(animatedMapSlopeValues.data(),</highlight></codeline>
<codeline lineno="290"><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/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(animatedMapSlopeValues.size()));</highlight></codeline>
<codeline lineno="291"><highlight class="normal"></highlight></codeline>
<codeline lineno="292"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>animatedMapCutValues<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1BehaviorReader_1a7ab5ba50c829ea9b5ef63495608fbffe" kindref="member">getAnimatedMapCutValues</ref>();</highlight></codeline>
<codeline lineno="293"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1BehaviorWriter_1a1b66c9c33eddeb21eae0ad734cecc343" kindref="member">setAnimatedMapCutValues</ref>(animatedMapCutValues.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(animatedMapCutValues.size()));</highlight></codeline>
<codeline lineno="294"><highlight class="normal">}</highlight></codeline>
<codeline lineno="295"><highlight class="normal"></highlight></codeline>
<codeline lineno="296" refid="namespacedna_1adfcb80dcbf766a9072da417f6f8a2d37" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="namespacedna_1adfcb80dcbf766a9072da417f6f8a2d37" kindref="member">hasGeometry</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1GeometryReader" kindref="compound">GeometryReader</ref>*<sp/>source)<sp/>{</highlight></codeline>
<codeline lineno="297"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Heuristic<sp/>for<sp/>determining<sp/>whether<sp/>source<sp/>DNA<sp/>actually<sp/>has<sp/>any<sp/>geometry<sp/>data,<sp/>or<sp/>mesh<sp/>count<sp/>is<sp/>non-zero<sp/>only</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="298"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>because<sp/>of<sp/>mesh<sp/>names<sp/>stored<sp/>in<sp/>definition<sp/>layer</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="299"><highlight class="normal"><sp/><sp/><sp/><sp/>std::uint32_t<sp/>totalVertexCount<sp/>=<sp/>{};</highlight></codeline>
<codeline lineno="300"><highlight class="normal"><sp/><sp/><sp/><sp/>std::uint32_t<sp/>totalVertexNormalCount<sp/>=<sp/>{};</highlight></codeline>
<codeline lineno="301"><highlight class="normal"><sp/><sp/><sp/><sp/>std::uint32_t<sp/>totalTextureCoordCount<sp/>=<sp/>{};</highlight></codeline>
<codeline lineno="302"><highlight class="normal"><sp/><sp/><sp/><sp/>std::uint32_t<sp/>totalVertexLayoutCount<sp/>=<sp/>{};</highlight></codeline>
<codeline lineno="303"><highlight class="normal"><sp/><sp/><sp/><sp/>std::uint32_t<sp/>totalSkinWeightCount<sp/>=<sp/>{};</highlight></codeline>
<codeline lineno="304"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint16_t<sp/>meshIndex<sp/>=<sp/>{};<sp/>meshIndex<sp/>&lt;<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1a7fa8d1c480f84b2af00902dcb220925e" kindref="member">getMeshCount</ref>();<sp/>++meshIndex)<sp/>{</highlight></codeline>
<codeline lineno="305"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>totalVertexCount<sp/>+=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1af114745ac6472ad9234ada667e84fc87" kindref="member">getVertexPositionCount</ref>(meshIndex);</highlight></codeline>
<codeline lineno="306"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>totalVertexNormalCount<sp/>+=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1a08b6e5a69685155bf73ab8f6f97eb570" kindref="member">getVertexNormalCount</ref>(meshIndex);</highlight></codeline>
<codeline lineno="307"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>totalTextureCoordCount<sp/>+=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1add07c3f09324da46e23e30c4883215bd" kindref="member">getVertexTextureCoordinateCount</ref>(meshIndex);</highlight></codeline>
<codeline lineno="308"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>totalVertexLayoutCount<sp/>+=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1a358fdc0b958f5c476af5dce8efe9a4bb" kindref="member">getVertexLayoutCount</ref>(meshIndex);</highlight></codeline>
<codeline lineno="309"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>totalSkinWeightCount<sp/>+=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1a4c2ff723178fe07c10763bd566753f9f" kindref="member">getSkinWeightsCount</ref>(meshIndex);</highlight></codeline>
<codeline lineno="310"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="311"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>((totalVertexCount<sp/>!=<sp/>0u)<sp/>||<sp/>(totalVertexNormalCount<sp/>!=<sp/>0u)<sp/>||<sp/>(totalTextureCoordCount<sp/>!=<sp/>0u)<sp/>||</highlight></codeline>
<codeline lineno="312"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(totalVertexLayoutCount<sp/>!=<sp/>0u)<sp/>||<sp/>(totalSkinWeightCount<sp/>!=<sp/>0u));</highlight></codeline>
<codeline lineno="313"><highlight class="normal">}</highlight></codeline>
<codeline lineno="314"><highlight class="normal"></highlight></codeline>
<codeline lineno="315" refid="namespacedna_1a96b705368b65e6dfd0c9a92e27aeeadb" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="namespacedna_1a96b705368b65e6dfd0c9a92e27aeeadb" kindref="member">copyGeometry</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1GeometryReader" kindref="compound">GeometryReader</ref>*<sp/>source,<sp/><ref refid="classdna_1_1GeometryWriter" kindref="compound">GeometryWriter</ref>*<sp/>destination,<sp/><ref refid="classpma_1_1MemoryResource" kindref="compound">MemoryResource</ref>*<sp/>memRes)<sp/>{</highlight></codeline>
<codeline lineno="316"><highlight class="normal"><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1GeometryWriter_1a256a78757e7ae43a9c815a2b1c5f1638" kindref="member">clearMeshes</ref>();</highlight></codeline>
<codeline lineno="317"><highlight class="normal"></highlight></codeline>
<codeline lineno="318"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="namespacedna_1adfcb80dcbf766a9072da417f6f8a2d37" kindref="member">hasGeometry</ref>(source))<sp/>{</highlight></codeline>
<codeline lineno="319"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Source<sp/>DNA<sp/>was<sp/>loaded<sp/>without<sp/>geometry<sp/>layer</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="320"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="321"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="322"><highlight class="normal"></highlight></codeline>
<codeline lineno="323"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint16_t<sp/>meshIndexPlusOne<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1a7fa8d1c480f84b2af00902dcb220925e" kindref="member">getMeshCount</ref>();<sp/>meshIndexPlusOne<sp/>&gt;<sp/>0u;<sp/>--meshIndexPlusOne)<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"><sp/>meshIndex<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">(meshIndexPlusOne<sp/>-<sp/>1u);</highlight></codeline>
<codeline lineno="325"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>vertexCount<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1af114745ac6472ad9234ada667e84fc87" kindref="member">getVertexPositionCount</ref>(meshIndex);</highlight></codeline>
<codeline lineno="326"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>positions<sp/>=<sp/>collect_n&lt;Vector3Vector&gt;(vertexCount,<sp/>[source,<sp/>meshIndex](std::size_t<sp/>index)<sp/>{</highlight></codeline>
<codeline lineno="327"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1a127e52b68866fc96edd32c1a4a381ab5" kindref="member">getVertexPosition</ref>(meshIndex,<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(index));</highlight></codeline>
<codeline lineno="328"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>},<sp/>memRes);</highlight></codeline>
<codeline lineno="329"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1GeometryWriter_1aebfee73d4e1219e3170e7f6b8960f03a" kindref="member">setVertexPositions</ref>(meshIndex,<sp/>positions.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(positions.size()));</highlight></codeline>
<codeline lineno="330"><highlight class="normal"></highlight></codeline>
<codeline lineno="331"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>textureCoordinateCount<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1add07c3f09324da46e23e30c4883215bd" kindref="member">getVertexTextureCoordinateCount</ref>(meshIndex);</highlight></codeline>
<codeline lineno="332"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>textureCoordinates<sp/>=<sp/>collect_n&lt;TextureCoordinateVector&gt;(textureCoordinateCount,</highlight></codeline>
<codeline lineno="333"><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/>[source,<sp/>meshIndex](std::size_t<sp/>index)<sp/>{</highlight></codeline>
<codeline lineno="334"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1a56816ff3ae1ff54d8d44f05ad77ce89b" kindref="member">getVertexTextureCoordinate</ref>(meshIndex,<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(index));</highlight></codeline>
<codeline lineno="335"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>},<sp/>memRes);</highlight></codeline>
<codeline lineno="336"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1GeometryWriter_1a29e35bef1a560c33e2e022d410d2cd7e" kindref="member">setVertexTextureCoordinates</ref>(meshIndex,<sp/>textureCoordinates.data(),</highlight></codeline>
<codeline lineno="337"><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/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(textureCoordinates.size()));</highlight></codeline>
<codeline lineno="338"><highlight class="normal"></highlight></codeline>
<codeline lineno="339"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>normalCount<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1a08b6e5a69685155bf73ab8f6f97eb570" kindref="member">getVertexNormalCount</ref>(meshIndex);</highlight></codeline>
<codeline lineno="340"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>normals<sp/>=<sp/>collect_n&lt;Vector3Vector&gt;(normalCount,<sp/>[source,<sp/>meshIndex](std::size_t<sp/>index)<sp/>{</highlight></codeline>
<codeline lineno="341"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1aa008a64aadb3b124a609ebe12242a834" kindref="member">getVertexNormal</ref>(meshIndex,<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(index));</highlight></codeline>
<codeline lineno="342"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>},<sp/>memRes);</highlight></codeline>
<codeline lineno="343"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1GeometryWriter_1a57e513ac3e7dc63a8debb768174be323" kindref="member">setVertexNormals</ref>(meshIndex,<sp/>normals.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(normals.size()));</highlight></codeline>
<codeline lineno="344"><highlight class="normal"></highlight></codeline>
<codeline lineno="345"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>layoutCount<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1a358fdc0b958f5c476af5dce8efe9a4bb" kindref="member">getVertexLayoutCount</ref>(meshIndex);</highlight></codeline>
<codeline lineno="346"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>layouts<sp/>=<sp/>collect_n&lt;VertexLayoutVector&gt;(layoutCount,<sp/>[source,<sp/>meshIndex](std::size_t<sp/>index)<sp/>{</highlight></codeline>
<codeline lineno="347"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1ab0dca7de52537f05c8769fb9ebc9ccc2" kindref="member">getVertexLayout</ref>(meshIndex,<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(index));</highlight></codeline>
<codeline lineno="348"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>},<sp/>memRes);</highlight></codeline>
<codeline lineno="349"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1GeometryWriter_1a37c74ec30c140577de33907ee744f56d" kindref="member">setVertexLayouts</ref>(meshIndex,<sp/>layouts.data(),<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(layouts.size()));</highlight></codeline>
<codeline lineno="350"><highlight class="normal"></highlight></codeline>
<codeline lineno="351"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint32_t<sp/>faceIndexPlusOne<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1ae0b5a7fa59bbbf796ba9cdbcc253a4b7" kindref="member">getFaceCount</ref>(meshIndex);<sp/>faceIndexPlusOne<sp/>&gt;<sp/>0u;<sp/>--faceIndexPlusOne)<sp/>{</highlight></codeline>
<codeline lineno="352"><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"><sp/>faceIndex<sp/>=<sp/>faceIndexPlusOne<sp/>-<sp/>1u;</highlight></codeline>
<codeline lineno="353"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>faceVertices<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1adddc77cb8caf9508862b5c695897ca39" kindref="member">getFaceVertexLayoutIndices</ref>(meshIndex,<sp/>faceIndex);</highlight></codeline>
<codeline lineno="354"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1GeometryWriter_1a0dc0c7304f1429b1895fcedffde8bfa3" kindref="member">setFaceVertexLayoutIndices</ref>(meshIndex,<sp/>faceIndex,<sp/>faceVertices.data(),</highlight></codeline>
<codeline lineno="355"><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/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(faceVertices.size()));</highlight></codeline>
<codeline lineno="356"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="357"><highlight class="normal"></highlight></codeline>
<codeline lineno="358"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1GeometryWriter_1a847d4e6701869a0eb3f528775e2bcf36" kindref="member">setMaximumInfluencePerVertex</ref>(meshIndex,<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1acd3a1e20f710fbe91a2af6b519afe7b0" kindref="member">getMaximumInfluencePerVertex</ref>(meshIndex));</highlight></codeline>
<codeline lineno="359"><highlight class="normal"></highlight></codeline>
<codeline lineno="360"><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"><sp/>skinWeightsCount<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1a4c2ff723178fe07c10763bd566753f9f" kindref="member">getSkinWeightsCount</ref>(meshIndex);</highlight></codeline>
<codeline lineno="361"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint32_t<sp/>skinWeightsIndexPlusOne<sp/>=<sp/>skinWeightsCount;<sp/>skinWeightsIndexPlusOne<sp/>&gt;<sp/>0u;<sp/>--skinWeightsIndexPlusOne)<sp/>{</highlight></codeline>
<codeline lineno="362"><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"><sp/>skinWeightsIndex<sp/>=<sp/>skinWeightsIndexPlusOne<sp/>-<sp/>1u;</highlight></codeline>
<codeline lineno="363"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>skinWeights<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1a29cfe68b4f7b383a9f05c44aeb9f3950" kindref="member">getSkinWeightsValues</ref>(meshIndex,<sp/>skinWeightsIndex);</highlight></codeline>
<codeline lineno="364"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1GeometryWriter_1a6a7aeca2da8cd7829461a141690acc15" kindref="member">setSkinWeightsValues</ref>(meshIndex,<sp/>skinWeightsIndex,<sp/>skinWeights.data(),</highlight></codeline>
<codeline lineno="365"><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/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(skinWeights.size()));</highlight></codeline>
<codeline lineno="366"><highlight class="normal"></highlight></codeline>
<codeline lineno="367"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>skinWeightsJoints<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1afc2b976f8999566dde42b3b994e41f6a" kindref="member">getSkinWeightsJointIndices</ref>(meshIndex,<sp/>skinWeightsIndex);</highlight></codeline>
<codeline lineno="368"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1GeometryWriter_1a1193d02012fe866e4a306205eaefe9ca" kindref="member">setSkinWeightsJointIndices</ref>(meshIndex,<sp/>skinWeightsIndex,<sp/>skinWeightsJoints.data(),</highlight></codeline>
<codeline lineno="369"><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/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint16_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(skinWeightsJoints.size()));</highlight></codeline>
<codeline lineno="370"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="371"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="372"><highlight class="normal">}</highlight></codeline>
<codeline lineno="373"><highlight class="normal"></highlight></codeline>
<codeline lineno="374" refid="namespacedna_1ae6b7eda6633b4e1c6d9a69d97723a1fc" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="namespacedna_1ae6b7eda6633b4e1c6d9a69d97723a1fc" kindref="member">hasBlendShapeTargets</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1GeometryReader" kindref="compound">GeometryReader</ref>*<sp/>source)<sp/>{</highlight></codeline>
<codeline lineno="375"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Heuristic<sp/>for<sp/>determining<sp/>whether<sp/>source<sp/>DNA<sp/>actually<sp/>has<sp/>any<sp/>blend<sp/>shape<sp/>target<sp/>data,<sp/>or<sp/>mesh<sp/>count<sp/>is<sp/>non-zero<sp/>only</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="376"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>because<sp/>of<sp/>mesh<sp/>names<sp/>stored<sp/>in<sp/>definition<sp/>layer</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="377"><highlight class="normal"><sp/><sp/><sp/><sp/>std::uint32_t<sp/>totalBlendShapeTargetCount<sp/>=<sp/>{};</highlight></codeline>
<codeline lineno="378"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint16_t<sp/>meshIndex<sp/>=<sp/>{};<sp/>meshIndex<sp/>&lt;<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1a7fa8d1c480f84b2af00902dcb220925e" kindref="member">getMeshCount</ref>();<sp/>++meshIndex)<sp/>{</highlight></codeline>
<codeline lineno="379"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>totalBlendShapeTargetCount<sp/>+=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1a8472e74653f6524839f9e65fe4367483" kindref="member">getBlendShapeTargetCount</ref>(meshIndex);</highlight></codeline>
<codeline lineno="380"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="381"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(totalBlendShapeTargetCount<sp/>!=<sp/>0u);</highlight></codeline>
<codeline lineno="382"><highlight class="normal">}</highlight></codeline>
<codeline lineno="383"><highlight class="normal"></highlight></codeline>
<codeline lineno="384" refid="namespacedna_1ae53d84a6543f4f423b7dfbfa448c39e5" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="namespacedna_1ae53d84a6543f4f423b7dfbfa448c39e5" kindref="member">copyBlendShapeTargets</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1GeometryReader" kindref="compound">GeometryReader</ref>*<sp/>source,<sp/><ref refid="classdna_1_1GeometryWriter" kindref="compound">GeometryWriter</ref>*<sp/>destination,<sp/><ref refid="classpma_1_1MemoryResource" kindref="compound">MemoryResource</ref>*<sp/>memRes)<sp/>{</highlight></codeline>
<codeline lineno="385"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="namespacedna_1ae6b7eda6633b4e1c6d9a69d97723a1fc" kindref="member">hasBlendShapeTargets</ref>(source))<sp/>{</highlight></codeline>
<codeline lineno="386"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Source<sp/>DNA<sp/>was<sp/>loaded<sp/>without<sp/>blend<sp/>shape<sp/>targets</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="387"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="388"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="389"><highlight class="normal"></highlight></codeline>
<codeline lineno="390"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint16_t<sp/>meshIndexPlusOne<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1DefinitionReader_1a7fa8d1c480f84b2af00902dcb220925e" kindref="member">getMeshCount</ref>();<sp/>meshIndexPlusOne<sp/>&gt;<sp/>0u;<sp/>--meshIndexPlusOne)<sp/>{</highlight></codeline>
<codeline lineno="391"><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"><sp/>meshIndex<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">(meshIndexPlusOne<sp/>-<sp/>1u);</highlight></codeline>
<codeline lineno="392"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::uint16_t<sp/>blendShapeTargetIndexPlusOne<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1a8472e74653f6524839f9e65fe4367483" kindref="member">getBlendShapeTargetCount</ref>(meshIndex);</highlight></codeline>
<codeline lineno="393"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>blendShapeTargetIndexPlusOne<sp/>&gt;<sp/>0u;</highlight></codeline>
<codeline lineno="394"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>--blendShapeTargetIndexPlusOne)<sp/>{</highlight></codeline>
<codeline lineno="395"><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"><sp/>blendShapeTargetIndex<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">(blendShapeTargetIndexPlusOne<sp/>-<sp/>1u);</highlight></codeline>
<codeline lineno="396"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>channelIndex<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1abc952534ae05760f7402c265518146fc" kindref="member">getBlendShapeChannelIndex</ref>(meshIndex,<sp/>blendShapeTargetIndex);</highlight></codeline>
<codeline lineno="397"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1GeometryWriter_1aa4ee705c45615b3fce8ed96f1b3b0890" kindref="member">setBlendShapeChannelIndex</ref>(meshIndex,<sp/>blendShapeTargetIndex,<sp/>channelIndex);</highlight></codeline>
<codeline lineno="398"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>deltaCount<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1a60d6918a9c40666683399a144104369a" kindref="member">getBlendShapeTargetDeltaCount</ref>(meshIndex,<sp/>blendShapeTargetIndex);</highlight></codeline>
<codeline lineno="399"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>deltas<sp/>=<sp/>collect_n&lt;Vector3Vector&gt;(deltaCount,<sp/>[source,<sp/>meshIndex,<sp/>blendShapeTargetIndex](std::size_t<sp/>index)<sp/>{</highlight></codeline>
<codeline lineno="400"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1a9e13d6259fce5840f3818c52266f72bd" kindref="member">getBlendShapeTargetDelta</ref>(meshIndex,<sp/>blendShapeTargetIndex,</highlight></codeline>
<codeline lineno="401"><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/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(index));</highlight></codeline>
<codeline lineno="402"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>},<sp/>memRes);</highlight></codeline>
<codeline lineno="403"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1GeometryWriter_1a8a1d73319b25b070f0d72c59fdd2e55c" kindref="member">setBlendShapeTargetDeltas</ref>(meshIndex,<sp/>blendShapeTargetIndex,<sp/>deltas.data(),</highlight></codeline>
<codeline lineno="404"><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/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(deltas.size()));</highlight></codeline>
<codeline lineno="405"><highlight class="normal"></highlight></codeline>
<codeline lineno="406"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>deltasVertices<sp/>=<sp/>source-&gt;<ref refid="classdna_1_1GeometryReader_1a635fdc0af9aa1bf681cd7f4b040d2c7d" kindref="member">getBlendShapeTargetVertexIndices</ref>(meshIndex,<sp/>blendShapeTargetIndex);</highlight></codeline>
<codeline lineno="407"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>destination-&gt;<ref refid="classdna_1_1GeometryWriter_1a5f10ae8f75a2f036edb7b9cbcba3ecb5" kindref="member">setBlendShapeTargetVertexIndices</ref>(meshIndex,<sp/>blendShapeTargetIndex,<sp/>deltasVertices.data(),</highlight></codeline>
<codeline lineno="408"><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/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::uint32_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(deltasVertices.size()));</highlight></codeline>
<codeline lineno="409"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="410"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="411"><highlight class="normal">}</highlight></codeline>
<codeline lineno="412"><highlight class="normal"></highlight></codeline>
<codeline lineno="413" refid="classdna_1_1Writer_1a41e7a151c6dab14e702667b9e41e8a85" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1Writer_1a41e7a151c6dab14e702667b9e41e8a85" kindref="member">Writer::setFrom</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1Reader" kindref="compound">Reader</ref>*<sp/>source,<sp/><ref refid="namespacedna_1a0ab7aa7faf3fc6bd0a6aa724c142769c" kindref="member">DataLayer</ref><sp/>layer,<sp/><ref refid="classpma_1_1MemoryResource" kindref="compound">MemoryResource</ref>*<sp/>memRes)<sp/>{</highlight></codeline>
<codeline lineno="414"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(source<sp/>==<sp/></highlight><highlight class="keyword">nullptr</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="415"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="416"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="417"><highlight class="normal"></highlight></codeline>
<codeline lineno="418"><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/>bitmask<sp/>=<sp/><ref refid="namespacedna_1a3035750816448c5f6c87cc3d589db0a8" kindref="member">computeDataLayerBitmask</ref>(layer);</highlight></codeline>
<codeline lineno="419"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="namespacedna_1a3dd6b21633eba36a583be501ee467fa6" kindref="member">copyDescriptor</ref>(source,<sp/></highlight><highlight class="keyword">this</highlight><highlight class="normal">,<sp/>memRes);</highlight></codeline>
<codeline lineno="420"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="namespacedna_1a570698cb59e2a9295b49d8cdcd143c6f" kindref="member">contains</ref>(bitmask,<sp/><ref refid="namespacedna_1ad0fb05c7febae18102c255c303484d25a0b890b1926b90387673882e6ccae7fdc" kindref="member">DataLayerBitmask::Definition</ref>))<sp/>{</highlight></codeline>
<codeline lineno="421"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespacedna_1a16f3f0150d5c559e35eda9ee663b38fb" kindref="member">copyDefinition</ref>(source,<sp/></highlight><highlight class="keyword">this</highlight><highlight class="normal">,<sp/>memRes);</highlight></codeline>
<codeline lineno="422"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="423"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="namespacedna_1a570698cb59e2a9295b49d8cdcd143c6f" kindref="member">contains</ref>(bitmask,<sp/><ref refid="namespacedna_1ad0fb05c7febae18102c255c303484d25ab39a035a995fc6597c8eb942210d1527" kindref="member">DataLayerBitmask::Behavior</ref>))<sp/>{</highlight></codeline>
<codeline lineno="424"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespacedna_1af9aee0c3b362245afd07c38b8b421fff" kindref="member">copyBehavior</ref>(source,<sp/></highlight><highlight class="keyword">this</highlight><highlight class="normal">,<sp/>memRes);</highlight></codeline>
<codeline lineno="425"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="426"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="namespacedna_1a570698cb59e2a9295b49d8cdcd143c6f" kindref="member">contains</ref>(bitmask,<sp/><ref refid="namespacedna_1ad0fb05c7febae18102c255c303484d25ad60a23fb7cc430a37fecdcf7282a3c9c" kindref="member">DataLayerBitmask::GeometryRest</ref>))<sp/>{</highlight></codeline>
<codeline lineno="427"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespacedna_1a96b705368b65e6dfd0c9a92e27aeeadb" kindref="member">copyGeometry</ref>(source,<sp/></highlight><highlight class="keyword">this</highlight><highlight class="normal">,<sp/>memRes);</highlight></codeline>
<codeline lineno="428"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="429"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="namespacedna_1a570698cb59e2a9295b49d8cdcd143c6f" kindref="member">contains</ref>(bitmask,<sp/><ref refid="namespacedna_1ad0fb05c7febae18102c255c303484d25a9d6fffaf16174e94ed7e134586b8b544" kindref="member">DataLayerBitmask::GeometryBlendShapesOnly</ref>))<sp/>{</highlight></codeline>
<codeline lineno="430"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespacedna_1ae53d84a6543f4f423b7dfbfa448c39e5" kindref="member">copyBlendShapeTargets</ref>(source,<sp/></highlight><highlight class="keyword">this</highlight><highlight class="normal">,<sp/>memRes);</highlight></codeline>
<codeline lineno="431"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="432"><highlight class="normal">}</highlight></codeline>
<codeline lineno="433"><highlight class="normal"></highlight></codeline>
<codeline lineno="434"><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/Writer.cpp"/>
</compounddef>
</doxygen>