Metahuman_DNA_Calibration/docs/doxygen/build/xml/UVBarycentricMapping_8cpp.xml
2022-11-29 14:58:38 +01:00

789 lines
44 KiB
XML

<?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="UVBarycentricMapping_8cpp" kind="file" language="C++">
<compoundname>UVBarycentricMapping.cpp</compoundname>
<includes refid="UVBarycentricMapping_8h" local="yes">dnacalib/types/UVBarycentricMapping.h</includes>
<incdepgraph>
<node id="5">
<label>dna/BinaryStreamReader.h</label>
<link refid="BinaryStreamReader_8h"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="38">
<label>dna/BinaryStreamWriter.h</label>
<link refid="BinaryStreamWriter_8h"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="4">
<label>dna/DataLayer.h</label>
<link refid="DataLayer_8h"/>
</node>
<node id="6">
<label>dna/Defs.h</label>
<link refid="dna_2Defs_8h"/>
</node>
<node id="45">
<label>dna/JSONStreamReader.h</label>
<link refid="JSONStreamReader_8h"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="46">
<label>dna/JSONStreamWriter.h</label>
<link refid="JSONStreamWriter_8h"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="8">
<label>dna/Reader.h</label>
<link refid="Reader_8h"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
</node>
<node id="7">
<label>dna/StreamReader.h</label>
<link refid="StreamReader_8h"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="39">
<label>dna/StreamWriter.h</label>
<link refid="StreamWriter_8h"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="40" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="40">
<label>dna/Writer.h</label>
<link refid="Writer_8h"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="44" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="9">
<label>dna/layers/BehaviorReader.h</label>
<link refid="BehaviorReader_8h"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="41">
<label>dna/layers/BehaviorWriter.h</label>
<link refid="BehaviorWriter_8h"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="42" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="10">
<label>dna/layers/DefinitionReader.h</label>
<link refid="DefinitionReader_8h"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="42">
<label>dna/layers/DefinitionWriter.h</label>
<link refid="DefinitionWriter_8h"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="43" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="12">
<label>dna/layers/Descriptor.h</label>
<link refid="Descriptor_8h"/>
</node>
<node id="11">
<label>dna/layers/DescriptorReader.h</label>
<link refid="DescriptorReader_8h"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="43">
<label>dna/layers/DescriptorWriter.h</label>
<link refid="DescriptorWriter_8h"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="37">
<label>dna/layers/Geometry.h</label>
<link refid="Geometry_8h"/>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="36">
<label>dna/layers/GeometryReader.h</label>
<link refid="GeometryReader_8h"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="44">
<label>dna/layers/GeometryWriter.h</label>
<link refid="GeometryWriter_8h"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="42" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="13">
<label>dna/types/Aliases.h</label>
<link refid="dna_2types_2Aliases_8h"/>
<childnode refid="14" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="32" relation="include">
</childnode>
<childnode refid="33" relation="include">
</childnode>
<childnode refid="34" relation="include">
</childnode>
</node>
<node id="14">
<label>dna/types/ArrayView.h</label>
<link refid="ArrayView_8h"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
</node>
<node id="18">
<label>dna/types/StringView.h</label>
<link refid="StringView_8h"/>
<childnode refid="14" relation="include">
</childnode>
</node>
<node id="35">
<label>dna/types/Vector3.h</label>
<link refid="Vector3_8h"/>
</node>
<node id="3">
<label>dnacalib/types/Aliases.h</label>
<link refid="dnacalib_2types_2Aliases_8h"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="45" relation="include">
</childnode>
<childnode refid="46" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="47" relation="include">
</childnode>
<childnode refid="48" relation="include">
</childnode>
<childnode refid="49" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="32" relation="include">
</childnode>
<childnode refid="33" relation="include">
</childnode>
<childnode refid="34" relation="include">
</childnode>
</node>
<node id="20">
<label>pma/Defs.h</label>
<link refid="pma_2Defs_8h"/>
</node>
<node id="19">
<label>pma/MemoryResource.h</label>
<link refid="MemoryResource_8h"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
</node>
<node id="52">
<label>pma/PolyAllocator.h</label>
<link refid="PolyAllocator_8h"/>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="49" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="53" relation="include">
</childnode>
<childnode refid="54" relation="include">
</childnode>
<childnode refid="55" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
</node>
<node id="21">
<label>pma/ScopedPtr.h</label>
<link refid="ScopedPtr_8h"/>
<childnode refid="22" relation="include">
</childnode>
</node>
<node id="56">
<label>pma/TypeDefs.h</label>
<link refid="include_2pma_2TypeDefs_8h"/>
<childnode refid="52" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="57" relation="include">
</childnode>
<childnode refid="58" relation="include">
</childnode>
<childnode refid="59" relation="include">
</childnode>
<childnode refid="60" relation="include">
</childnode>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="62" relation="include">
</childnode>
<childnode refid="63" relation="include">
</childnode>
</node>
<node id="47">
<label>pma/resources/AlignedMemoryResource.h</label>
<link refid="AlignedMemoryResource_8h"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
</node>
<node id="48">
<label>pma/resources/ArenaMemoryResource.h</label>
<link refid="ArenaMemoryResource_8h"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
</node>
<node id="49">
<label>pma/resources/DefaultMemoryResource.h</label>
<link refid="DefaultMemoryResource_8h"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
</node>
<node id="24">
<label>status/Defs.h</label>
<link refid="status_2Defs_8h"/>
</node>
<node id="23">
<label>status/Status.h</label>
<link refid="Status_8h"/>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="25">
<label>status/StatusCode.h</label>
<link refid="StatusCode_8h"/>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
</node>
<node id="27">
<label>trio/Concepts.h</label>
<link refid="Concepts_8h"/>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="28">
<label>trio/Defs.h</label>
<link refid="trio_2Defs_8h"/>
</node>
<node id="26">
<label>trio/Stream.h</label>
<link refid="Stream_8h"/>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
<childnode refid="31" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="32">
<label>trio/streams/FileStream.h</label>
<link refid="FileStream_8h"/>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
</node>
<node id="33">
<label>trio/streams/MemoryMappedFileStream.h</label>
<link refid="MemoryMappedFileStream_8h"/>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="34">
<label>trio/streams/MemoryStream.h</label>
<link refid="MemoryStream_8h"/>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="30">
<label>trio/types/Aliases.h</label>
<link refid="trio_2types_2Aliases_8h"/>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="31">
<label>trio/types/Parameters.h</label>
<link refid="Parameters_8h"/>
</node>
<node id="51">
<label>dnacalib/TypeDefs.h</label>
<link refid="src_2dnacalib_2TypeDefs_8h"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="52" relation="include">
</childnode>
<childnode refid="56" relation="include">
</childnode>
<childnode refid="47" relation="include">
</childnode>
<childnode refid="48" relation="include">
</childnode>
<childnode refid="49" relation="include">
</childnode>
<childnode refid="64" relation="include">
</childnode>
<childnode refid="71" relation="include">
</childnode>
</node>
<node id="76">
<label>dnacalib/types/BoundingBox.h</label>
<link refid="BoundingBox_8h"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="77" relation="include">
</childnode>
</node>
<node id="50">
<label>dnacalib/types/Triangle.h</label>
<link refid="Triangle_8h"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="75" relation="include">
</childnode>
</node>
<node id="1">
<label>UVBarycentricMapping.cpp</label>
<link refid="UVBarycentricMapping_8cpp"/>
<childnode refid="2" relation="include">
</childnode>
</node>
<node id="2">
<label>dnacalib/types/UVBarycentricMapping.h</label>
<link refid="UVBarycentricMapping_8h"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="50" relation="include">
</childnode>
<childnode refid="76" relation="include">
</childnode>
</node>
<node id="69">
<label>tdm/Computations.h</label>
<link refid="Computations_8h"/>
<childnode refid="65" relation="include">
</childnode>
<childnode refid="68" relation="include">
</childnode>
<childnode refid="67" relation="include">
</childnode>
<childnode refid="66" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
</node>
<node id="68">
<label>tdm/Mat.h</label>
<link refid="Mat_8h"/>
<childnode refid="65" relation="include">
</childnode>
<childnode refid="67" relation="include">
</childnode>
</node>
<node id="64">
<label>tdm/TDM.h</label>
<link refid="TDM_8h"/>
<childnode refid="65" relation="include">
</childnode>
<childnode refid="67" relation="include">
</childnode>
<childnode refid="68" relation="include">
</childnode>
<childnode refid="69" relation="include">
</childnode>
<childnode refid="70" relation="include">
</childnode>
</node>
<node id="70">
<label>tdm/Transforms.h</label>
<link refid="Transforms_8h"/>
<childnode refid="69" relation="include">
</childnode>
<childnode refid="65" relation="include">
</childnode>
</node>
<node id="65">
<label>tdm/Types.h</label>
<link refid="Types_8h"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="66" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="55" relation="include">
</childnode>
</node>
<node id="67">
<label>tdm/Vec.h</label>
<link refid="Vec_8h"/>
<childnode refid="65" relation="include">
</childnode>
</node>
<node id="71">
<label>terse/types/DynArray.h</label>
<link refid="DynArray_8h"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="72" relation="include">
</childnode>
<childnode refid="73" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="53" relation="include">
</childnode>
<childnode refid="55" relation="include">
</childnode>
</node>
<node id="15">
<label>algorithm</label>
</node>
<node id="75">
<label>array</label>
</node>
<node id="16">
<label>cassert</label>
</node>
<node id="66">
<label>cmath</label>
</node>
<node id="17">
<label>cstddef</label>
</node>
<node id="29">
<label>cstdint</label>
</node>
<node id="72">
<label>cstring</label>
</node>
<node id="73">
<label>functional</label>
</node>
<node id="74">
<label>iterator</label>
</node>
<node id="77">
<label>limits</label>
</node>
<node id="57">
<label>list</label>
</node>
<node id="58">
<label>map</label>
</node>
<node id="53">
<label>memory</label>
</node>
<node id="54">
<label>scoped_allocator</label>
</node>
<node id="59">
<label>set</label>
</node>
<node id="60">
<label>string</label>
</node>
<node id="55">
<label>type_traits</label>
</node>
<node id="61">
<label>unordered_map</label>
</node>
<node id="62">
<label>unordered_set</label>
</node>
<node id="22">
<label>utility</label>
</node>
<node id="63">
<label>vector</label>
</node>
</incdepgraph>
<innernamespace refid="namespacednac">dnac</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="UVBarycentricMapping_8h" kindref="compound">dnacalib/types/UVBarycentricMapping.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="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespacednac" kindref="compound">dnac</ref><sp/>{</highlight></codeline>
<codeline lineno="6"><highlight class="normal"></highlight></codeline>
<codeline lineno="7" refid="classdnac_1_1UVBarycentricMapping_1a8ed1c73382c1247d9ed788742225775c" refkind="member"><highlight class="normal"><ref refid="classdnac_1_1UVBarycentricMapping_1a8ed1c73382c1247d9ed788742225775c" kindref="member">UVBarycentricMapping::UVBarycentricMapping</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::function&lt;<ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint32_t&gt;</ref>(std::uint32_t)&gt;&amp;<sp/>faceGetter,</highlight></codeline>
<codeline lineno="8"><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/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint32_t&gt;</ref><sp/>vertexPositionIndices,</highlight></codeline>
<codeline lineno="9"><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/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint32_t&gt;</ref><sp/>textureCoordinateUVIndices,</highlight></codeline>
<codeline lineno="10"><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/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/>Us,</highlight></codeline>
<codeline lineno="11"><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/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;float&gt;</ref><sp/>Vs,</highlight></codeline>
<codeline lineno="12"><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/>std::uint32_t<sp/>faceCount,</highlight></codeline>
<codeline lineno="13"><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/><ref refid="classpma_1_1MemoryResource" kindref="compound">MemoryResource</ref>*<sp/>memRes)<sp/>:</highlight></codeline>
<codeline lineno="14"><highlight class="normal"><sp/><sp/><sp/><sp/>triangles{memRes},</highlight></codeline>
<codeline lineno="15"><highlight class="normal"><sp/><sp/><sp/><sp/>bBoxes{memRes}<sp/>{</highlight></codeline>
<codeline lineno="16"><highlight class="normal"></highlight></codeline>
<codeline lineno="17"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>estimatedTriangleCount<sp/>=<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">std::size_t</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(</highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="keywordtype">float</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(faceCount)<sp/>*<sp/>2.5f);</highlight></codeline>
<codeline lineno="18"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classdnac_1_1UVBarycentricMapping_1a497d8bfbf7c3ce4e6178a9cc6945fb85" kindref="member">triangles</ref>.reserve(estimatedTriangleCount);</highlight></codeline>
<codeline lineno="19"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classdnac_1_1UVBarycentricMapping_1a21e6ec1f586fb13f1fe4554201348cfc" kindref="member">bBoxes</ref>.reserve(estimatedTriangleCount);</highlight></codeline>
<codeline lineno="20"><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/>faceCount;<sp/>i++)<sp/>{</highlight></codeline>
<codeline lineno="21"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>face<sp/>=<sp/>faceGetter(i);</highlight></codeline>
<codeline lineno="22"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(face.size()<sp/>&gt;<sp/>2)<sp/>{</highlight></codeline>
<codeline lineno="23"><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/>vertexLayoutIndex0<sp/>=<sp/>face[0];</highlight></codeline>
<codeline lineno="24"><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/>vertexLayoutIndex1<sp/>=<sp/>face[1];</highlight></codeline>
<codeline lineno="25"><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/>vertexLayoutIndex2<sp/>=<sp/>face[face.size()<sp/>-<sp/>1u];</highlight></codeline>
<codeline lineno="26"><highlight class="normal"></highlight></codeline>
<codeline lineno="27"><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/>std::array&lt;std::uint32_t,<sp/>3&gt;<sp/>positionIndices<sp/>{vertexPositionIndices[vertexLayoutIndex0],</highlight></codeline>
<codeline lineno="28"><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/>vertexPositionIndices[vertexLayoutIndex1],</highlight></codeline>
<codeline lineno="29"><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/>vertexPositionIndices[vertexLayoutIndex2]};</highlight></codeline>
<codeline lineno="30"><highlight class="normal"></highlight></codeline>
<codeline lineno="31"><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/>uvIndex0<sp/>=<sp/>textureCoordinateUVIndices[vertexLayoutIndex0];</highlight></codeline>
<codeline lineno="32"><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/>uvIndex1<sp/>=<sp/>textureCoordinateUVIndices[vertexLayoutIndex1];</highlight></codeline>
<codeline lineno="33"><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/>uvIndex2<sp/>=<sp/>textureCoordinateUVIndices[vertexLayoutIndex2];</highlight></codeline>
<codeline lineno="34"><highlight class="normal"></highlight></codeline>
<codeline lineno="35"><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/>std::array&lt;fvec2,<sp/>3&gt;<sp/>UVs<sp/>=<sp/>{<ref refid="structtdm_1_1vec" kindref="compound">fvec2</ref>{Us[uvIndex0],<sp/>Vs[uvIndex0]},</highlight></codeline>
<codeline lineno="36"><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/><ref refid="structtdm_1_1vec" kindref="compound">fvec2</ref>{Us[uvIndex1],<sp/>Vs[uvIndex1]},</highlight></codeline>
<codeline lineno="37"><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/><ref refid="structtdm_1_1vec" kindref="compound">fvec2</ref>{Us[uvIndex2],<sp/>Vs[uvIndex2]}};</highlight></codeline>
<codeline lineno="38"><highlight class="normal"></highlight></codeline>
<codeline lineno="39"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdnac_1_1UVBarycentricMapping_1a497d8bfbf7c3ce4e6178a9cc6945fb85" kindref="member">triangles</ref>.emplace_back(<ref refid="classdnac_1_1Triangle" kindref="compound">Triangle</ref>{UVs},<sp/>positionIndices);</highlight></codeline>
<codeline lineno="40"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdnac_1_1UVBarycentricMapping_1a21e6ec1f586fb13f1fe4554201348cfc" kindref="member">bBoxes</ref>.emplace_back(<ref refid="classdnac_1_1BoundingBox" kindref="compound">BoundingBox</ref>{UVs});</highlight></codeline>
<codeline lineno="41"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>face<sp/>=<sp/>face.last(face.size()<sp/>-<sp/>1u);</highlight></codeline>
<codeline lineno="42"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="43"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="44"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classdnac_1_1UVBarycentricMapping_1a497d8bfbf7c3ce4e6178a9cc6945fb85" kindref="member">triangles</ref>.shrink_to_fit();</highlight></codeline>
<codeline lineno="45"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classdnac_1_1UVBarycentricMapping_1a21e6ec1f586fb13f1fe4554201348cfc" kindref="member">bBoxes</ref>.shrink_to_fit();</highlight></codeline>
<codeline lineno="46"><highlight class="normal">}</highlight></codeline>
<codeline lineno="47"><highlight class="normal"></highlight></codeline>
<codeline lineno="48" refid="classdnac_1_1UVBarycentricMapping_1a69d300be6d14014a57085c679fa7ae01" refkind="member"><highlight class="normal"><ref refid="classdnac_1_1UVBarycentricMapping_1a8ed1c73382c1247d9ed788742225775c" kindref="member">UVBarycentricMapping::UVBarycentricMapping</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classdna_1_1Reader" kindref="compound">dna::Reader</ref>*<sp/>reader,<sp/>std::uint16_t<sp/>meshIndex,<sp/><ref refid="classpma_1_1MemoryResource" kindref="compound">MemoryResource</ref>*<sp/>memRes)<sp/>:</highlight></codeline>
<codeline lineno="49"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classdnac_1_1UVBarycentricMapping" kindref="compound">UVBarycentricMapping</ref>(std::bind(&amp;<ref refid="namespacedna" kindref="compound">dna</ref>::Reader::getFaceVertexLayoutIndices,<sp/>reader,<sp/>meshIndex,<sp/>std::placeholders::_1),</highlight></codeline>
<codeline lineno="50"><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/>reader-&gt;getVertexLayoutPositionIndices(meshIndex),</highlight></codeline>
<codeline lineno="51"><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/>reader-&gt;getVertexLayoutTextureCoordinateIndices(meshIndex),</highlight></codeline>
<codeline lineno="52"><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/>reader-&gt;getVertexTextureCoordinateUs(meshIndex),</highlight></codeline>
<codeline lineno="53"><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/>reader-&gt;getVertexTextureCoordinateVs(meshIndex),</highlight></codeline>
<codeline lineno="54"><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/>reader-&gt;getFaceCount(meshIndex),</highlight></codeline>
<codeline lineno="55"><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/>memRes)<sp/>{</highlight></codeline>
<codeline lineno="56"><highlight class="normal"></highlight></codeline>
<codeline lineno="57"><highlight class="normal">}</highlight></codeline>
<codeline lineno="58"><highlight class="normal"></highlight></codeline>
<codeline lineno="59" refid="classdnac_1_1UVBarycentricMapping_1aa50157f5d4c05fece01679c4adeed198" refkind="member"><highlight class="normal"><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;UVBarycentricMapping::TrianglePositionIndicesPair&gt;</ref><sp/><ref refid="classdnac_1_1UVBarycentricMapping_1aa50157f5d4c05fece01679c4adeed198" kindref="member">UVBarycentricMapping::getTriangles</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="60"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{<ref refid="classdnac_1_1UVBarycentricMapping_1a497d8bfbf7c3ce4e6178a9cc6945fb85" kindref="member">triangles</ref>.data(),<sp/><ref refid="classdnac_1_1UVBarycentricMapping_1a497d8bfbf7c3ce4e6178a9cc6945fb85" kindref="member">triangles</ref>.size()};</highlight></codeline>
<codeline lineno="61"><highlight class="normal">}</highlight></codeline>
<codeline lineno="62"><highlight class="normal"></highlight></codeline>
<codeline lineno="63" refid="classdnac_1_1UVBarycentricMapping_1ab39a9bb69173363ee8579a74011c54c1" refkind="member"><highlight class="normal"><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;BoundingBox&gt;</ref><sp/><ref refid="classdnac_1_1UVBarycentricMapping_1ab39a9bb69173363ee8579a74011c54c1" kindref="member">UVBarycentricMapping::getBoundingBoxes</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="64"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{<ref refid="classdnac_1_1UVBarycentricMapping_1a21e6ec1f586fb13f1fe4554201348cfc" kindref="member">bBoxes</ref>.data(),<sp/><ref refid="classdnac_1_1UVBarycentricMapping_1a21e6ec1f586fb13f1fe4554201348cfc" kindref="member">bBoxes</ref>.size()};</highlight></codeline>
<codeline lineno="65"><highlight class="normal">}</highlight></codeline>
<codeline lineno="66"><highlight class="normal"></highlight></codeline>
<codeline lineno="67" refid="classdnac_1_1UVBarycentricMapping_1a7a7379e253c15f9ec7ecf1ab4b659451" refkind="member"><highlight class="normal"><ref refid="classdnac_1_1UVBarycentricMapping_1a3ea642c44f542baab31cf8a438fa40cd" kindref="member">UVBarycentricMapping::BarycentricPositionIndicesPair</ref><sp/><ref refid="classdnac_1_1UVBarycentricMapping_1a7a7379e253c15f9ec7ecf1ab4b659451" kindref="member">UVBarycentricMapping::getBarycentric</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structtdm_1_1vec" kindref="compound">fvec2</ref>&amp;<sp/>uv)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="68"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classdnac_1_1UVBarycentricMapping_1a3ea642c44f542baab31cf8a438fa40cd" kindref="member">BarycentricPositionIndicesPair</ref><sp/>barycentricPositionsPair;</highlight></codeline>
<codeline lineno="69"><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/><ref refid="classdnac_1_1UVBarycentricMapping_1a21e6ec1f586fb13f1fe4554201348cfc" kindref="member">bBoxes</ref>.size();<sp/>i++)<sp/>{</highlight></codeline>
<codeline lineno="70"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classdnac_1_1UVBarycentricMapping_1a21e6ec1f586fb13f1fe4554201348cfc" kindref="member">bBoxes</ref>[i].<ref refid="namespacednac_1a3f8cbd424839e2e73030b1bd098b2f96" kindref="member">contains</ref>(uv))<sp/>{</highlight></codeline>
<codeline lineno="71"><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/>barycentricWeights<sp/>=<sp/><ref refid="classdnac_1_1UVBarycentricMapping_1a497d8bfbf7c3ce4e6178a9cc6945fb85" kindref="member">triangles</ref>[i].first.getBarycentricCoords(uv);</highlight></codeline>
<codeline lineno="72"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>If<sp/>we<sp/>don&apos;t<sp/>hit<sp/>any<sp/>triangle,<sp/>we<sp/>will<sp/>use<sp/>one<sp/>whose<sp/>bounding<sp/>box<sp/>we<sp/>hit</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="73"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>barycentricPositionsPair<sp/>=<sp/>{barycentricWeights,<sp/><ref refid="classtrust_1_1ArrayView" kindref="compound">ConstArrayView&lt;std::uint32_t&gt;</ref>{<ref refid="classdnac_1_1UVBarycentricMapping_1a497d8bfbf7c3ce4e6178a9cc6945fb85" kindref="member">triangles</ref>[i].second}};</highlight></codeline>
<codeline lineno="74"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((barycentricWeights[0]<sp/>&gt;=<sp/>0.0f)<sp/>&amp;&amp;<sp/>(barycentricWeights[0]<sp/>&lt;=<sp/>1.0f)<sp/>&amp;&amp;</highlight></codeline>
<codeline lineno="75"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(barycentricWeights[1]<sp/>&gt;=<sp/>0.0f)<sp/>&amp;&amp;<sp/>(barycentricWeights[1]<sp/>&lt;=<sp/>1.0f)<sp/>&amp;&amp;</highlight></codeline>
<codeline lineno="76"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(barycentricWeights[2]<sp/>&gt;=<sp/>0.0f)<sp/>&amp;&amp;<sp/>(barycentricWeights[2]<sp/>&lt;=<sp/>1.0f))<sp/>{</highlight></codeline>
<codeline lineno="77"><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/>barycentricPositionsPair;</highlight></codeline>
<codeline lineno="78"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="80"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="81"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>barycentricPositionsPair;</highlight></codeline>
<codeline lineno="82"><highlight class="normal">}</highlight></codeline>
<codeline lineno="83"><highlight class="normal"></highlight></codeline>
<codeline lineno="84"><highlight class="normal">}<sp/><sp/></highlight><highlight class="comment">//<sp/>namespace<sp/>dnac</highlight><highlight class="normal"></highlight></codeline>
</programlisting>
<location file="C:/source/MetaHuman-DNA-Calibration/dnacalib/DNACalib/src/dnacalib/types/UVBarycentricMapping.cpp"/>
</compounddef>
</doxygen>