Metahuman_DNA_Calibration/docs/doxygen/build/html/namespacedna.html

2774 lines
316 KiB
HTML
Raw Permalink Normal View History

2022-11-28 19:21:26 +08:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DNA Calib: dna Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">DNA Calib<span id="projectnumber">&#160;1.1</span>
</div>
<div id="projectbrief">Project brief</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle"><div class="title">dna Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacedna_1_1anonymous__namespace_02Writer_8cpp_03"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna_1_1anonymous__namespace_02Writer_8cpp_03.html">anonymous_namespace{Writer.cpp}</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1AnimatedMapFilter.html">AnimatedMapFilter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1BaseImpl.html">BaseImpl</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1BehaviorReader.html">BehaviorReader</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read-only accessors for <a class="el" href="structdna_1_1DNA.html">DNA</a> attributes that define the rig's evaluation. <a href="classdna_1_1BehaviorReader.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1BehaviorWriter.html">BehaviorWriter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write-only accessors for <a class="el" href="structdna_1_1DNA.html">DNA</a> attributes that define the rig's evaluation. <a href="classdna_1_1BehaviorWriter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1BinaryStreamReader.html">BinaryStreamReader</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1BinaryStreamReaderImpl.html">BinaryStreamReaderImpl</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1BinaryStreamWriter.html">BinaryStreamWriter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1BinaryStreamWriterImpl.html">BinaryStreamWriterImpl</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1BlendShapeFilter.html">BlendShapeFilter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1CoordinateSystem.html">CoordinateSystem</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1DefinitionReader.html">DefinitionReader</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read-only accessors for <a class="el" href="structdna_1_1DNA.html">DNA</a> attributes that represent the rig's static data. <a href="classdna_1_1DefinitionReader.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1DefinitionWriter.html">DefinitionWriter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write-only accessors for <a class="el" href="structdna_1_1DNA.html">DNA</a> attributes that represent the rig's static data. <a href="classdna_1_1DefinitionWriter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1DenormalizedData.html">DenormalizedData</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1DescriptorReader.html">DescriptorReader</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read-only accessors for various metadata about the character and the rig. <a href="classdna_1_1DescriptorReader.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1DescriptorWriter.html">DescriptorWriter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write-only accessors to various metadata about the character and the rig. <a href="classdna_1_1DescriptorWriter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1DNA.html">DNA</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1ExpectedValue.html">ExpectedValue</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1FilteredInputArchive.html">FilteredInputArchive</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1GeometryReader.html">GeometryReader</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read-only accessors to the geometry data associated with a rig. <a href="classdna_1_1GeometryReader.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1GeometryWriter.html">GeometryWriter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write-only accessors for the geometry data associated with a rig. <a href="classdna_1_1GeometryWriter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1JointFilter.html">JointFilter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1JSONStreamReader.html">JSONStreamReader</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1JSONStreamReaderImpl.html">JSONStreamReaderImpl</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1JSONStreamWriter.html">JSONStreamWriter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1JSONStreamWriterImpl.html">JSONStreamWriterImpl</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1LODConstraint.html">LODConstraint</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1LODLimits.html">LODLimits</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1LODMapping.html">LODMapping</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1MeshBlendShapeChannelMapping.html">MeshBlendShapeChannelMapping</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mapping that associates a blend shape channel to it's mesh. <a href="structdna_1_1MeshBlendShapeChannelMapping.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1MeshFilter.html">MeshFilter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawAnimatedMaps.html">RawAnimatedMaps</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawBehavior.html">RawBehavior</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawBlendShapeChannels.html">RawBlendShapeChannels</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawBlendShapeTarget.html">RawBlendShapeTarget</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawConditionalTable.html">RawConditionalTable</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawControls.html">RawControls</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawCoordinateSystem.html">RawCoordinateSystem</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawDefinition.html">RawDefinition</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawDescriptor.html">RawDescriptor</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawFace.html">RawFace</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawGeometry.html">RawGeometry</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawJointGroup.html">RawJointGroup</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawJoints.html">RawJoints</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawLODMapping.html">RawLODMapping</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawMesh.html">RawMesh</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawPSDMatrix.html">RawPSDMatrix</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawSurjectiveMapping.html">RawSurjectiveMapping</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawTextureCoordinateVector.html">RawTextureCoordinateVector</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawVector3Vector.html">RawVector3Vector</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawVertexLayoutVector.html">RawVertexLayoutVector</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1RawVertexSkinWeights.html">RawVertexSkinWeights</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1Reader.html">Reader</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The abstract <a class="el" href="classdna_1_1Reader.html" title="The abstract Reader which its implementations are expected to inherit.">Reader</a> which its implementations are expected to inherit. <a href="classdna_1_1Reader.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1ReaderImpl.html">ReaderImpl</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1SectionLookupTable.html">SectionLookupTable</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1Signature.html">Signature</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1StreamReader.html">StreamReader</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1StreamWriter.html">StreamWriter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1StringView.html">StringView</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1SurjectiveMapping.html">SurjectiveMapping</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1TextureCoordinate.html">TextureCoordinate</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1Vector3.html">Vector3</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1Version.html">Version</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdna_1_1VertexLayout.html">VertexLayout</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1Writer.html">Writer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The abstract <a class="el" href="classdna_1_1Writer.html" title="The abstract Writer which its implementations are expected to inherit.">Writer</a> which its implementations are expected to inherit. <a href="classdna_1_1Writer.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdna_1_1WriterImpl.html">WriterImpl</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a9072bc7f1819bb953f3b027a3f3364d3"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a9072bc7f1819bb953f3b027a3f3364d3">Position</a> = <a class="el" href="structdna_1_1Vector3.html">Vector3</a></td></tr>
<tr class="separator:a9072bc7f1819bb953f3b027a3f3364d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84f989478dde8c6049292d6872282bba"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a84f989478dde8c6049292d6872282bba">Normal</a> = <a class="el" href="structdna_1_1Vector3.html">Vector3</a></td></tr>
<tr class="separator:a84f989478dde8c6049292d6872282bba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85b79cf01a80e2a33a837a1183ec89d1"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a85b79cf01a80e2a33a837a1183ec89d1">Delta</a> = <a class="el" href="structdna_1_1Vector3.html">Vector3</a></td></tr>
<tr class="separator:a85b79cf01a80e2a33a837a1183ec89d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf7061d6093b1661cecf08df9f4be7fc"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:aaf7061d6093b1661cecf08df9f4be7fc"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedna.html#aaf7061d6093b1661cecf08df9f4be7fc">ArrayView</a> = <a class="el" href="classtrust_1_1ArrayView.html">trust::ArrayView</a>&lt; T &gt;</td></tr>
<tr class="separator:aaf7061d6093b1661cecf08df9f4be7fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d8779c1a78015209a7249b86804dba6"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a2d8779c1a78015209a7249b86804dba6"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedna.html#a2d8779c1a78015209a7249b86804dba6">ConstArrayView</a> = <a class="el" href="namespacetrust.html#a4a980312bc53b817728287869e10b346">trust::ConstArrayView</a>&lt; T &gt;</td></tr>
<tr class="separator:a2d8779c1a78015209a7249b86804dba6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e04e56545ad92493ce367b48d8d33f2"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a9e04e56545ad92493ce367b48d8d33f2"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedna.html#a9e04e56545ad92493ce367b48d8d33f2">AlignedAllocator</a> = <a class="el" href="classpma_1_1PolyAllocator.html">PolyAllocator</a>&lt; T, 64ul, <a class="el" href="classpma_1_1AlignedMemoryResource.html">AlignedMemoryResource</a> &gt;</td></tr>
<tr class="separator:a9e04e56545ad92493ce367b48d8d33f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a238f3eaca8f457d0cb3afcdc1046a7ba"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a238f3eaca8f457d0cb3afcdc1046a7ba"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedna.html#a238f3eaca8f457d0cb3afcdc1046a7ba">DynArray</a> = <a class="el" href="classterse_1_1DynArray.html">terse::DynArray</a>&lt; T, <a class="el" href="classpma_1_1PolyAllocator.html">PolyAllocator</a>&lt; T &gt; &gt;</td></tr>
<tr class="separator:a238f3eaca8f457d0cb3afcdc1046a7ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1128208a35fbd6ddcfdeaf0d9268000"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:af1128208a35fbd6ddcfdeaf0d9268000"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedna.html#af1128208a35fbd6ddcfdeaf0d9268000">AlignedDynArray</a> = <a class="el" href="classterse_1_1DynArray.html">terse::DynArray</a>&lt; T, <a class="el" href="namespacedna.html#a9e04e56545ad92493ce367b48d8d33f2">AlignedAllocator</a>&lt; T &gt; &gt;</td></tr>
<tr class="separator:af1128208a35fbd6ddcfdeaf0d9268000"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6d2a1e06befb26359ecb9520d189b9f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#aa6d2a1e06befb26359ecb9520d189b9f">IndicesGetter</a> = std::function&lt; <a class="el" href="namespacedna.html#a2d8779c1a78015209a7249b86804dba6">ConstArrayView</a>&lt; std::uint16_t &gt;(std::uint16_t)&gt;</td></tr>
<tr class="separator:aa6d2a1e06befb26359ecb9520d189b9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e24a6224edae74951b361bd329793a8"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a8e24a6224edae74951b361bd329793a8">IndicesSetter</a> = std::function&lt; void(std::uint16_t, const std::uint16_t *, std::uint16_t)&gt;</td></tr>
<tr class="separator:a8e24a6224edae74951b361bd329793a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5e4b325b343cf2a4d495485227ab904"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#aa5e4b325b343cf2a4d495485227ab904">LODMappingSetter</a> = std::function&lt; void(std::uint16_t, std::uint16_t)&gt;</td></tr>
<tr class="separator:aa5e4b325b343cf2a4d495485227ab904"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a0ab7aa7faf3fc6bd0a6aa724c142769c"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769c">DataLayer</a> { <br />
&#160;&#160;<a class="el" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769ca77b90cceaada15c2767933b3d5db0f8a">Descriptor</a>
, <a class="el" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769ca0b890b1926b90387673882e6ccae7fdc">Definition</a>
, <a class="el" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769cab39a035a995fc6597c8eb942210d1527">Behavior</a>
, <a class="el" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769cad9c6333623e6357515fcbf17be806273">Geometry</a>
, <br />
&#160;&#160;<a class="el" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769ca96fa7330c972d369c23d5b7d70a637ac">GeometryWithoutBlendShapes</a>
, <a class="el" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769cabacb1964c4470f0e5c8992578937bb03">AllWithoutBlendShapes</a>
, <a class="el" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769cab1c94ca2fbc3e78fc30069c8d0f01680">All</a>
<br />
}</td></tr>
<tr class="separator:a0ab7aa7faf3fc6bd0a6aa724c142769c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a14ef1c085b2668735a8c8e965eec4f"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4f">Archetype</a> { <br />
&#160;&#160;<a class="el" href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4fa212767045cc37041292a57e6335ab2f1">asian</a>
, <a class="el" href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4fa1ffd9e753c8054cc61456ac7fac1ac89">black</a>
, <a class="el" href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4faca02b0e50241f1e113ac422f7bf5ce7a">caucasian</a>
, <a class="el" href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4fae0a039efc547b2e96bf5ee31f419ed1a">hispanic</a>
, <br />
&#160;&#160;<a class="el" href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4fa273910799eacaacec06aba83c9d54906">alien</a>
, <a class="el" href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4fa795f3202b17cb6bc3d4b771d8c6c9eaf">other</a>
<br />
}</td></tr>
<tr class="separator:a4a14ef1c085b2668735a8c8e965eec4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2ab72c674a376b1ed4b37d59e7ec20f"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#ae2ab72c674a376b1ed4b37d59e7ec20f">Gender</a> { <a class="el" href="namespacedna.html#ae2ab72c674a376b1ed4b37d59e7ec20fa07cf4f8f5d8b76282917320715dda2ad">male</a>
, <a class="el" href="namespacedna.html#ae2ab72c674a376b1ed4b37d59e7ec20fa273b9ae535de53399c86a9b83148a8ed">female</a>
, <a class="el" href="namespacedna.html#ae2ab72c674a376b1ed4b37d59e7ec20fa795f3202b17cb6bc3d4b771d8c6c9eaf">other</a>
}</td></tr>
<tr class="separator:ae2ab72c674a376b1ed4b37d59e7ec20f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf96ecde7d9e8593bf3b2dd0649645d7"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#abf96ecde7d9e8593bf3b2dd0649645d7">TranslationUnit</a> { <a class="el" href="namespacedna.html#abf96ecde7d9e8593bf3b2dd0649645d7a820eb5b696ea2a657c0db1e258dc7d81">cm</a>
, <a class="el" href="namespacedna.html#abf96ecde7d9e8593bf3b2dd0649645d7a6f8f57715090da2632453988d9a1501b">m</a>
}</td></tr>
<tr class="separator:abf96ecde7d9e8593bf3b2dd0649645d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c0e43a827bcc3c5546573ff589c2e38"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a3c0e43a827bcc3c5546573ff589c2e38">RotationUnit</a> { <a class="el" href="namespacedna.html#a3c0e43a827bcc3c5546573ff589c2e38a18daee01fc6e54aacd7f4c2eef60ff4d">degrees</a>
, <a class="el" href="namespacedna.html#a3c0e43a827bcc3c5546573ff589c2e38a017969ba49117264eb077e9f66daacfd">radians</a>
}</td></tr>
<tr class="separator:a3c0e43a827bcc3c5546573ff589c2e38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2b1342c0dc280c8862b5fb224ac9a50"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50">Direction</a> { <br />
&#160;&#160;<a class="el" href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50a811882fecd5c7618d7099ebbd39ea254">left</a>
, <a class="el" href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50a7c4f29407893c334a6cb7a87bf045c0d">right</a>
, <a class="el" href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50a46c48bec0d282018b9d167eef7711b2c">up</a>
, <a class="el" href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50a74e8333ad11685ff3bdae589c8f6e34d">down</a>
, <br />
&#160;&#160;<a class="el" href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50ae6ec529ba185279aa0adcf93e645c7cd">front</a>
, <a class="el" href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50a469bba0a564235dfceede42db14f17b0">back</a>
<br />
}</td></tr>
<tr class="separator:aa2b1342c0dc280c8862b5fb224ac9a50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0fb05c7febae18102c255c303484d25"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#ad0fb05c7febae18102c255c303484d25">DataLayerBitmask</a> { <br />
&#160;&#160;<a class="el" href="namespacedna.html#ad0fb05c7febae18102c255c303484d25a77b90cceaada15c2767933b3d5db0f8a">Descriptor</a> = 1
, <a class="el" href="namespacedna.html#ad0fb05c7febae18102c255c303484d25a0b890b1926b90387673882e6ccae7fdc">Definition</a> = 2
, <a class="el" href="namespacedna.html#ad0fb05c7febae18102c255c303484d25ab39a035a995fc6597c8eb942210d1527">Behavior</a> = 4
, <a class="el" href="namespacedna.html#ad0fb05c7febae18102c255c303484d25a9d6fffaf16174e94ed7e134586b8b544">GeometryBlendShapesOnly</a> = 8
, <br />
&#160;&#160;<a class="el" href="namespacedna.html#ad0fb05c7febae18102c255c303484d25ad60a23fb7cc430a37fecdcf7282a3c9c">GeometryRest</a> = 16
<br />
}</td></tr>
<tr class="separator:ad0fb05c7febae18102c255c303484d25"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:afccd04c7c4f586d08538497f4b396d22"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#afccd04c7c4f586d08538497f4b396d22">operator==</a> (const <a class="el" href="classdna_1_1StringView.html">StringView</a> &amp;lhs, const <a class="el" href="classdna_1_1StringView.html">StringView</a> &amp;rhs)</td></tr>
<tr class="separator:afccd04c7c4f586d08538497f4b396d22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ad422dfca9b5baae2aeedc887f4d74b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a3ad422dfca9b5baae2aeedc887f4d74b">operator!=</a> (const <a class="el" href="classdna_1_1StringView.html">StringView</a> &amp;lhs, const <a class="el" href="classdna_1_1StringView.html">StringView</a> &amp;rhs)</td></tr>
<tr class="separator:a3ad422dfca9b5baae2aeedc887f4d74b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a439d8166c37e3c26bc97175ee198f73a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdna_1_1Vector3.html">Vector3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a439d8166c37e3c26bc97175ee198f73a">operator+</a> (<a class="el" href="structdna_1_1Vector3.html">Vector3</a> lhs, const <a class="el" href="structdna_1_1Vector3.html">Vector3</a> &amp;rhs)</td></tr>
<tr class="separator:a439d8166c37e3c26bc97175ee198f73a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d64c054e1f8eea3777f3d8465017ea3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdna_1_1Vector3.html">Vector3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a8d64c054e1f8eea3777f3d8465017ea3">operator-</a> (<a class="el" href="structdna_1_1Vector3.html">Vector3</a> lhs, const <a class="el" href="structdna_1_1Vector3.html">Vector3</a> &amp;rhs)</td></tr>
<tr class="separator:a8d64c054e1f8eea3777f3d8465017ea3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8452f6c4d4feecbd7d986e76f66ca194"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdna_1_1Vector3.html">Vector3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a8452f6c4d4feecbd7d986e76f66ca194">operator*</a> (<a class="el" href="structdna_1_1Vector3.html">Vector3</a> lhs, const <a class="el" href="structdna_1_1Vector3.html">Vector3</a> &amp;rhs)</td></tr>
<tr class="separator:a8452f6c4d4feecbd7d986e76f66ca194"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a508850da6b23d1d373b3a43eec70d542"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdna_1_1Vector3.html">Vector3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a508850da6b23d1d373b3a43eec70d542">operator/</a> (<a class="el" href="structdna_1_1Vector3.html">Vector3</a> lhs, const <a class="el" href="structdna_1_1Vector3.html">Vector3</a> &amp;rhs)</td></tr>
<tr class="separator:a508850da6b23d1d373b3a43eec70d542"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb7fe41e1f70a69ca1e207d5cc39ab24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdna_1_1Vector3.html">Vector3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#abb7fe41e1f70a69ca1e207d5cc39ab24">operator+</a> (<a class="el" href="structdna_1_1Vector3.html">Vector3</a> lhs, float rhs)</td></tr>
<tr class="separator:abb7fe41e1f70a69ca1e207d5cc39ab24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a128dfeef70469ca85cf5148e12625b95"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdna_1_1Vector3.html">Vector3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a128dfeef70469ca85cf5148e12625b95">operator-</a> (<a class="el" href="structdna_1_1Vector3.html">Vector3</a> lhs, float rhs)</td></tr>
<tr class="separator:a128dfeef70469ca85cf5148e12625b95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46580edd3acc232b4879ede9daa85840"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdna_1_1Vector3.html">Vector3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a46580edd3acc232b4879ede9daa85840">operator*</a> (<a class="el" href="structdna_1_1Vector3.html">Vector3</a> lhs, float rhs)</td></tr>
<tr class="separator:a46580edd3acc232b4879ede9daa85840"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6fa73755bb2a34993010c7b979247a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdna_1_1Vector3.html">Vector3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#ac6fa73755bb2a34993010c7b979247a8">operator/</a> (<a class="el" href="structdna_1_1Vector3.html">Vector3</a> lhs, float rhs)</td></tr>
<tr class="separator:ac6fa73755bb2a34993010c7b979247a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adaef46a362234f443088c3e79e4df16b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#adaef46a362234f443088c3e79e4df16b">operator==</a> (const <a class="el" href="structdna_1_1Vector3.html">Vector3</a> &amp;lhs, const <a class="el" href="structdna_1_1Vector3.html">Vector3</a> &amp;rhs)</td></tr>
<tr class="separator:adaef46a362234f443088c3e79e4df16b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70312b8f0160509a898ce0b019236510"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a70312b8f0160509a898ce0b019236510">operator!=</a> (const <a class="el" href="structdna_1_1Vector3.html">Vector3</a> &amp;lhs, const <a class="el" href="structdna_1_1Vector3.html">Vector3</a> &amp;rhs)</td></tr>
<tr class="separator:a70312b8f0160509a898ce0b019236510"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3035750816448c5f6c87cc3d589db0a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedna.html#ad0fb05c7febae18102c255c303484d25">DataLayerBitmask</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a3035750816448c5f6c87cc3d589db0a8">computeDataLayerBitmask</a> (<a class="el" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769c">DataLayer</a> layer)</td></tr>
<tr class="separator:a3035750816448c5f6c87cc3d589db0a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad001e7d42ce133a3839d6805f7b9fe32"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ad001e7d42ce133a3839d6805f7b9fe32"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedna.html#ad001e7d42ce133a3839d6805f7b9fe32">remap</a> (T originalCount, const <a class="el" href="namespacepma.html#aa4a7d53c17b0073cbf7c83622dffcfd1">UnorderedSet</a>&lt; T &gt; &amp;keptIndices, <a class="el" href="namespacepma.html#ada0fd0f9404c2e6f4bfcf09e36428621">UnorderedMap</a>&lt; T, T &gt; &amp;mapping)</td></tr>
<tr class="separator:ad001e7d42ce133a3839d6805f7b9fe32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb9729de45b0a394c99c8907bce661c3"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr class="memitem:aeb9729de45b0a394c99c8907bce661c3"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="namespacepma.html#ada0fd0f9404c2e6f4bfcf09e36428621">UnorderedMap</a>&lt; U, U &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedna.html#aeb9729de45b0a394c99c8907bce661c3">remappedPositions</a> (const <a class="el" href="namespacepma.html#a2d6fe21d674b98f7f9bc8dc3a2776cb9">Vector</a>&lt; T &gt; &amp;target, const <a class="el" href="namespacepma.html#aa4a7d53c17b0073cbf7c83622dffcfd1">UnorderedSet</a>&lt; U &gt; &amp;indices, <a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a> *memRes)</td></tr>
<tr class="separator:aeb9729de45b0a394c99c8907bce661c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a357a580731826b4dc67d2c499dd91e2f"><td class="memTemplParams" colspan="2">template&lt;typename TEnum &gt; </td></tr>
<tr class="memitem:a357a580731826b4dc67d2c499dd91e2f"><td class="memTemplItemLeft" align="right" valign="top">std::enable_if&lt; std::is_enum&lt; TEnum &gt;::value, TEnum &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedna.html#a357a580731826b4dc67d2c499dd91e2f">operator&amp;</a> (TEnum lhs, TEnum rhs)</td></tr>
<tr class="separator:a357a580731826b4dc67d2c499dd91e2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb2c2bf1fb3ec438880b7d7590cbbc86"><td class="memTemplParams" colspan="2">template&lt;typename TEnum &gt; </td></tr>
<tr class="memitem:adb2c2bf1fb3ec438880b7d7590cbbc86"><td class="memTemplItemLeft" align="right" valign="top">std::enable_if&lt; std::is_enum&lt; TEnum &gt;::value, TEnum &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedna.html#adb2c2bf1fb3ec438880b7d7590cbbc86">operator|</a> (TEnum lhs, TEnum rhs)</td></tr>
<tr class="separator:adb2c2bf1fb3ec438880b7d7590cbbc86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad98a16809d3fd34ff9c73795e74c3608"><td class="memTemplParams" colspan="2">template&lt;typename TEnum &gt; </td></tr>
<tr class="memitem:ad98a16809d3fd34ff9c73795e74c3608"><td class="memTemplItemLeft" align="right" valign="top">std::enable_if&lt; std::is_enum&lt; TEnum &gt;::value, TEnum &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedna.html#ad98a16809d3fd34ff9c73795e74c3608">operator^</a> (TEnum lhs, TEnum rhs)</td></tr>
<tr class="separator:ad98a16809d3fd34ff9c73795e74c3608"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97566b9494a7aaad694034d8b14c9694"><td class="memTemplParams" colspan="2">template&lt;typename TEnum &gt; </td></tr>
<tr class="memitem:a97566b9494a7aaad694034d8b14c9694"><td class="memTemplItemLeft" align="right" valign="top">std::enable_if&lt; std::is_enum&lt; TEnum &gt;::value, TEnum &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedna.html#a97566b9494a7aaad694034d8b14c9694">operator~</a> (TEnum value)</td></tr>
<tr class="separator:a97566b9494a7aaad694034d8b14c9694"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adad41be575ee85edd1af3929672da4f8"><td class="memTemplParams" colspan="2">template&lt;typename TEnum &gt; </td></tr>
<tr class="memitem:adad41be575ee85edd1af3929672da4f8"><td class="memTemplItemLeft" align="right" valign="top">std::enable_if&lt; std::is_enum&lt; TEnum &gt;::value, TEnum &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedna.html#adad41be575ee85edd1af3929672da4f8">operator&amp;=</a> (TEnum &amp;lhs, TEnum rhs)</td></tr>
<tr class="separator:adad41be575ee85edd1af3929672da4f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6498c0dc252169a658f5f60a65fe71c8"><td class="memTemplParams" colspan="2">template&lt;typename TEnum &gt; </td></tr>
<tr class="memitem:a6498c0dc252169a658f5f60a65fe71c8"><td class="memTemplItemLeft" align="right" valign="top">std::enable_if&lt; std::is_enum&lt; TEnum &gt;::value, TEnum &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedna.html#a6498c0dc252169a658f5f60a65fe71c8">operator|=</a> (TEnum &amp;lhs, TEnum rhs)</td></tr>
<tr class="separator:a6498c0dc252169a658f5f60a65fe71c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61e58cab7b5cd6afb72a383f98ce1923"><td class="memTemplParams" colspan="2">template&lt;typename TEnum &gt; </td></tr>
<tr class="memitem:a61e58cab7b5cd6afb72a383f98ce1923"><td class="memTemplItemLeft" align="right" valign="top">std::enable_if&lt; std::is_enum&lt; TEnum &gt;::value, TEnum &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedna.html#a61e58cab7b5cd6afb72a383f98ce1923">operator^=</a> (TEnum &amp;lhs, TEnum rhs)</td></tr>
<tr class="separator:a61e58cab7b5cd6afb72a383f98ce1923"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a570698cb59e2a9295b49d8cdcd143c6f"><td class="memTemplParams" colspan="2">template&lt;typename TEnum &gt; </td></tr>
<tr class="memitem:a570698cb59e2a9295b49d8cdcd143c6f"><td class="memTemplItemLeft" align="right" valign="top">std::enable_if&lt; std::is_enum&lt; TEnum &gt;::value, bool &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedna.html#a570698cb59e2a9295b49d8cdcd143c6f">contains</a> (TEnum lhs, TEnum rhs)</td></tr>
<tr class="separator:a570698cb59e2a9295b49d8cdcd143c6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6edfa927291a6fab8c621ad4b080f15b"><td class="memTemplParams" colspan="2">template&lt;typename TVector , typename TGetter &gt; </td></tr>
<tr class="memitem:a6edfa927291a6fab8c621ad4b080f15b"><td class="memTemplItemLeft" align="right" valign="top">static TVector&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedna.html#a6edfa927291a6fab8c621ad4b080f15b">collect_n</a> (std::size_t count, TGetter getter, <a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a> *memRes)</td></tr>
<tr class="separator:a6edfa927291a6fab8c621ad4b080f15b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3dd6b21633eba36a583be501ee467fa6"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a3dd6b21633eba36a583be501ee467fa6">copyDescriptor</a> (const <a class="el" href="classdna_1_1DescriptorReader.html">DescriptorReader</a> *source, <a class="el" href="classdna_1_1DescriptorWriter.html">DescriptorWriter</a> *destination, <a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a> *)</td></tr>
<tr class="separator:a3dd6b21633eba36a583be501ee467fa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a371ddf780a3211d8f4ba894755c7bcce"><td class="memItemLeft" align="right" valign="top">static std::pair&lt; bool, std::uint16_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a371ddf780a3211d8f4ba894755c7bcce">findIndices</a> (const <a class="el" href="namespacepma.html#a66acdf887e847cb2662b905e682b0132">Matrix</a>&lt; std::uint16_t &gt; &amp;source, <a class="el" href="namespacedna.html#a2d8779c1a78015209a7249b86804dba6">ConstArrayView</a>&lt; std::uint16_t &gt; indices)</td></tr>
<tr class="separator:a371ddf780a3211d8f4ba894755c7bcce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f45e075b5acc7b36f4d4de005c09f4d"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a2f45e075b5acc7b36f4d4de005c09f4d">copyNameIndices</a> (<a class="el" href="namespacedna.html#aa6d2a1e06befb26359ecb9520d189b9f">IndicesGetter</a> getIndices, <a class="el" href="namespacedna.html#a8e24a6224edae74951b361bd329793a8">IndicesSetter</a> setIndices, <a class="el" href="namespacedna.html#aa5e4b325b343cf2a4d495485227ab904">LODMappingSetter</a> setLODMapping, std::uint16_t lodCount, <a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a> *memRes)</td></tr>
<tr class="separator:a2f45e075b5acc7b36f4d4de005c09f4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16f3f0150d5c559e35eda9ee663b38fb"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a16f3f0150d5c559e35eda9ee663b38fb">copyDefinition</a> (const <a class="el" href="classdna_1_1DefinitionReader.html">DefinitionReader</a> *source, <a class="el" href="classdna_1_1DefinitionWriter.html">DefinitionWriter</a> *destination, <a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a> *memRes)</td></tr>
<tr class="separator:a16f3f0150d5c559e35eda9ee663b38fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9aee0c3b362245afd07c38b8b421fff"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#af9aee0c3b362245afd07c38b8b421fff">copyBehavior</a> (const <a class="el" href="classdna_1_1BehaviorReader.html">BehaviorReader</a> *source, <a class="el" href="classdna_1_1BehaviorWriter.html">BehaviorWriter</a> *destination, <a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a> *)</td></tr>
<tr class="separator:af9aee0c3b362245afd07c38b8b421fff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfcb80dcbf766a9072da417f6f8a2d37"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#adfcb80dcbf766a9072da417f6f8a2d37">hasGeometry</a> (const <a class="el" href="classdna_1_1GeometryReader.html">GeometryReader</a> *source)</td></tr>
<tr class="separator:adfcb80dcbf766a9072da417f6f8a2d37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96b705368b65e6dfd0c9a92e27aeeadb"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a96b705368b65e6dfd0c9a92e27aeeadb">copyGeometry</a> (const <a class="el" href="classdna_1_1GeometryReader.html">GeometryReader</a> *source, <a class="el" href="classdna_1_1GeometryWriter.html">GeometryWriter</a> *destination, <a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a> *memRes)</td></tr>
<tr class="separator:a96b705368b65e6dfd0c9a92e27aeeadb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6b7eda6633b4e1c6d9a69d97723a1fc"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#ae6b7eda6633b4e1c6d9a69d97723a1fc">hasBlendShapeTargets</a> (const <a class="el" href="classdna_1_1GeometryReader.html">GeometryReader</a> *source)</td></tr>
<tr class="separator:ae6b7eda6633b4e1c6d9a69d97723a1fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae53d84a6543f4f423b7dfbfa448c39e5"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#ae53d84a6543f4f423b7dfbfa448c39e5">copyBlendShapeTargets</a> (const <a class="el" href="classdna_1_1GeometryReader.html">GeometryReader</a> *source, <a class="el" href="classdna_1_1GeometryWriter.html">GeometryWriter</a> *destination, <a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a> *memRes)</td></tr>
<tr class="separator:ae53d84a6543f4f423b7dfbfa448c39e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2f0bf7e61585af872e31438ea6fd449"><td class="memTemplParams" colspan="2">template&lt;class TContainer , typename ... Args&gt; </td></tr>
<tr class="memitem:ac2f0bf7e61585af872e31438ea6fd449"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedna.html#ac2f0bf7e61585af872e31438ea6fd449">ensureHasSize</a> (TContainer &amp;target, std::size_t size, Args &amp;&amp;... args)</td></tr>
<tr class="separator:ac2f0bf7e61585af872e31438ea6fd449"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a117519626c9cd44fb83eae7f17b3f25a"><td class="memItemLeft" align="right" valign="top">static constexpr std::uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedna.html#a117519626c9cd44fb83eae7f17b3f25a">jointAttributeCount</a> = 9u</td></tr>
<tr class="separator:a117519626c9cd44fb83eae7f17b3f25a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a9e04e56545ad92493ce367b48d8d33f2" name="a9e04e56545ad92493ce367b48d8d33f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e04e56545ad92493ce367b48d8d33f2">&#9670;&nbsp;</a></span>AlignedAllocator</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacedna.html#a9e04e56545ad92493ce367b48d8d33f2">dna::AlignedAllocator</a> = typedef <a class="el" href="classpma_1_1PolyAllocator.html">PolyAllocator</a>&lt;T, 64ul, <a class="el" href="classpma_1_1AlignedMemoryResource.html">AlignedMemoryResource</a>&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af1128208a35fbd6ddcfdeaf0d9268000" name="af1128208a35fbd6ddcfdeaf0d9268000"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1128208a35fbd6ddcfdeaf0d9268000">&#9670;&nbsp;</a></span>AlignedDynArray</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacedna.html#af1128208a35fbd6ddcfdeaf0d9268000">dna::AlignedDynArray</a> = typedef <a class="el" href="classterse_1_1DynArray.html">terse::DynArray</a>&lt;T, <a class="el" href="namespacedna.html#a9e04e56545ad92493ce367b48d8d33f2">AlignedAllocator</a>&lt;T&gt; &gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aaf7061d6093b1661cecf08df9f4be7fc" name="aaf7061d6093b1661cecf08df9f4be7fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf7061d6093b1661cecf08df9f4be7fc">&#9670;&nbsp;</a></span>ArrayView</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacedna.html#aaf7061d6093b1661cecf08df9f4be7fc">dna::ArrayView</a> = typedef <a class="el" href="classtrust_1_1ArrayView.html">trust::ArrayView</a>&lt;T&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2d8779c1a78015209a7249b86804dba6" name="a2d8779c1a78015209a7249b86804dba6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d8779c1a78015209a7249b86804dba6">&#9670;&nbsp;</a></span>ConstArrayView</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacedna.html#a2d8779c1a78015209a7249b86804dba6">dna::ConstArrayView</a> = typedef <a class="el" href="namespacetrust.html#a4a980312bc53b817728287869e10b346">trust::ConstArrayView</a>&lt;T&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a85b79cf01a80e2a33a837a1183ec89d1" name="a85b79cf01a80e2a33a837a1183ec89d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85b79cf01a80e2a33a837a1183ec89d1">&#9670;&nbsp;</a></span>Delta</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacedna.html#a85b79cf01a80e2a33a837a1183ec89d1">dna::Delta</a> = typedef <a class="el" href="structdna_1_1Vector3.html">Vector3</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a238f3eaca8f457d0cb3afcdc1046a7ba" name="a238f3eaca8f457d0cb3afcdc1046a7ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a238f3eaca8f457d0cb3afcdc1046a7ba">&#9670;&nbsp;</a></span>DynArray</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacedna.html#a238f3eaca8f457d0cb3afcdc1046a7ba">dna::DynArray</a> = typedef <a class="el" href="classterse_1_1DynArray.html">terse::DynArray</a>&lt;T, <a class="el" href="classpma_1_1PolyAllocator.html">PolyAllocator</a>&lt;T&gt; &gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa6d2a1e06befb26359ecb9520d189b9f" name="aa6d2a1e06befb26359ecb9520d189b9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6d2a1e06befb26359ecb9520d189b9f">&#9670;&nbsp;</a></span>IndicesGetter</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacedna.html#aa6d2a1e06befb26359ecb9520d189b9f">dna::IndicesGetter</a> = typedef std::function&lt;<a class="el" href="namespacedna.html#a2d8779c1a78015209a7249b86804dba6">ConstArrayView</a>&lt;std::uint16_t&gt;(std::uint16_t)&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8e24a6224edae74951b361bd329793a8" name="a8e24a6224edae74951b361bd329793a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e24a6224edae74951b361bd329793a8">&#9670;&nbsp;</a></span>IndicesSetter</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacedna.html#a8e24a6224edae74951b361bd329793a8">dna::IndicesSetter</a> = typedef std::function&lt;void (std::uint16_t, const std::uint16_t*, std::uint16_t)&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa5e4b325b343cf2a4d495485227ab904" name="aa5e4b325b343cf2a4d495485227ab904"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5e4b325b343cf2a4d495485227ab904">&#9670;&nbsp;</a></span>LODMappingSetter</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacedna.html#aa5e4b325b343cf2a4d495485227ab904">dna::LODMappingSetter</a> = typedef std::function&lt;void (std::uint16_t, std::uint16_t)&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a84f989478dde8c6049292d6872282bba" name="a84f989478dde8c6049292d6872282bba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84f989478dde8c6049292d6872282bba">&#9670;&nbsp;</a></span>Normal</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacedna.html#a84f989478dde8c6049292d6872282bba">dna::Normal</a> = typedef <a class="el" href="structdna_1_1Vector3.html">Vector3</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9072bc7f1819bb953f3b027a3f3364d3" name="a9072bc7f1819bb953f3b027a3f3364d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9072bc7f1819bb953f3b027a3f3364d3">&#9670;&nbsp;</a></span>Position</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacedna.html#a9072bc7f1819bb953f3b027a3f3364d3">dna::Position</a> = typedef <a class="el" href="structdna_1_1Vector3.html">Vector3</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a4a14ef1c085b2668735a8c8e965eec4f" name="a4a14ef1c085b2668735a8c8e965eec4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a14ef1c085b2668735a8c8e965eec4f">&#9670;&nbsp;</a></span>Archetype</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4f">dna::Archetype</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a4a14ef1c085b2668735a8c8e965eec4fa212767045cc37041292a57e6335ab2f1" name="a4a14ef1c085b2668735a8c8e965eec4fa212767045cc37041292a57e6335ab2f1"></a>asian&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4a14ef1c085b2668735a8c8e965eec4fa1ffd9e753c8054cc61456ac7fac1ac89" name="a4a14ef1c085b2668735a8c8e965eec4fa1ffd9e753c8054cc61456ac7fac1ac89"></a>black&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4a14ef1c085b2668735a8c8e965eec4faca02b0e50241f1e113ac422f7bf5ce7a" name="a4a14ef1c085b2668735a8c8e965eec4faca02b0e50241f1e113ac422f7bf5ce7a"></a>caucasian&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4a14ef1c085b2668735a8c8e965eec4fae0a039efc547b2e96bf5ee31f419ed1a" name="a4a14ef1c085b2668735a8c8e965eec4fae0a039efc547b2e96bf5ee31f419ed1a"></a>hispanic&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4a14ef1c085b2668735a8c8e965eec4fa273910799eacaacec06aba83c9d54906" name="a4a14ef1c085b2668735a8c8e965eec4fa273910799eacaacec06aba83c9d54906"></a>alien&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4a14ef1c085b2668735a8c8e965eec4fa795f3202b17cb6bc3d4b771d8c6c9eaf" name="a4a14ef1c085b2668735a8c8e965eec4fa795f3202b17cb6bc3d4b771d8c6c9eaf"></a>other&#160;</td><td class="fielddoc"></td></tr>
</table>
<div class="fragment"><div class="line"><span class="lineno"> 7</span> {</div>
<div class="line"><span class="lineno"> 8</span> <a class="code hl_enumvalue" href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4fa212767045cc37041292a57e6335ab2f1">asian</a>,</div>
<div class="line"><span class="lineno"> 9</span> <a class="code hl_enumvalue" href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4fa1ffd9e753c8054cc61456ac7fac1ac89">black</a>,</div>
<div class="line"><span class="lineno"> 10</span> <a class="code hl_enumvalue" href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4faca02b0e50241f1e113ac422f7bf5ce7a">caucasian</a>,</div>
<div class="line"><span class="lineno"> 11</span> <a class="code hl_enumvalue" href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4fae0a039efc547b2e96bf5ee31f419ed1a">hispanic</a>,</div>
<div class="line"><span class="lineno"> 12</span> <a class="code hl_enumvalue" href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4fa273910799eacaacec06aba83c9d54906">alien</a>,</div>
<div class="line"><span class="lineno"> 13</span> <a class="code hl_enumvalue" href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4fa795f3202b17cb6bc3d4b771d8c6c9eaf">other</a></div>
<div class="line"><span class="lineno"> 14</span>};</div>
<div class="ttc" id="anamespacedna_html_a4a14ef1c085b2668735a8c8e965eec4fa1ffd9e753c8054cc61456ac7fac1ac89"><div class="ttname"><a href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4fa1ffd9e753c8054cc61456ac7fac1ac89">dna::Archetype::black</a></div><div class="ttdeci">@ black</div></div>
<div class="ttc" id="anamespacedna_html_a4a14ef1c085b2668735a8c8e965eec4fa212767045cc37041292a57e6335ab2f1"><div class="ttname"><a href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4fa212767045cc37041292a57e6335ab2f1">dna::Archetype::asian</a></div><div class="ttdeci">@ asian</div></div>
<div class="ttc" id="anamespacedna_html_a4a14ef1c085b2668735a8c8e965eec4fa273910799eacaacec06aba83c9d54906"><div class="ttname"><a href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4fa273910799eacaacec06aba83c9d54906">dna::Archetype::alien</a></div><div class="ttdeci">@ alien</div></div>
<div class="ttc" id="anamespacedna_html_a4a14ef1c085b2668735a8c8e965eec4fa795f3202b17cb6bc3d4b771d8c6c9eaf"><div class="ttname"><a href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4fa795f3202b17cb6bc3d4b771d8c6c9eaf">dna::Archetype::other</a></div><div class="ttdeci">@ other</div></div>
<div class="ttc" id="anamespacedna_html_a4a14ef1c085b2668735a8c8e965eec4faca02b0e50241f1e113ac422f7bf5ce7a"><div class="ttname"><a href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4faca02b0e50241f1e113ac422f7bf5ce7a">dna::Archetype::caucasian</a></div><div class="ttdeci">@ caucasian</div></div>
<div class="ttc" id="anamespacedna_html_a4a14ef1c085b2668735a8c8e965eec4fae0a039efc547b2e96bf5ee31f419ed1a"><div class="ttname"><a href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4fae0a039efc547b2e96bf5ee31f419ed1a">dna::Archetype::hispanic</a></div><div class="ttdeci">@ hispanic</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a0ab7aa7faf3fc6bd0a6aa724c142769c" name="a0ab7aa7faf3fc6bd0a6aa724c142769c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ab7aa7faf3fc6bd0a6aa724c142769c">&#9670;&nbsp;</a></span>DataLayer</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769c">dna::DataLayer</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a0ab7aa7faf3fc6bd0a6aa724c142769ca77b90cceaada15c2767933b3d5db0f8a" name="a0ab7aa7faf3fc6bd0a6aa724c142769ca77b90cceaada15c2767933b3d5db0f8a"></a>Descriptor&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a0ab7aa7faf3fc6bd0a6aa724c142769ca0b890b1926b90387673882e6ccae7fdc" name="a0ab7aa7faf3fc6bd0a6aa724c142769ca0b890b1926b90387673882e6ccae7fdc"></a>Definition&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a0ab7aa7faf3fc6bd0a6aa724c142769cab39a035a995fc6597c8eb942210d1527" name="a0ab7aa7faf3fc6bd0a6aa724c142769cab39a035a995fc6597c8eb942210d1527"></a>Behavior&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a0ab7aa7faf3fc6bd0a6aa724c142769cad9c6333623e6357515fcbf17be806273" name="a0ab7aa7faf3fc6bd0a6aa724c142769cad9c6333623e6357515fcbf17be806273"></a>Geometry&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a0ab7aa7faf3fc6bd0a6aa724c142769ca96fa7330c972d369c23d5b7d70a637ac" name="a0ab7aa7faf3fc6bd0a6aa724c142769ca96fa7330c972d369c23d5b7d70a637ac"></a>GeometryWithoutBlendShapes&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a0ab7aa7faf3fc6bd0a6aa724c142769cabacb1964c4470f0e5c8992578937bb03" name="a0ab7aa7faf3fc6bd0a6aa724c142769cabacb1964c4470f0e5c8992578937bb03"></a>AllWithoutBlendShapes&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a0ab7aa7faf3fc6bd0a6aa724c142769cab1c94ca2fbc3e78fc30069c8d0f01680" name="a0ab7aa7faf3fc6bd0a6aa724c142769cab1c94ca2fbc3e78fc30069c8d0f01680"></a>All&#160;</td><td class="fielddoc"></td></tr>
</table>
<div class="fragment"><div class="line"><span class="lineno"> 7</span> {</div>
<div class="line"><span class="lineno"> 8</span> <a class="code hl_enumvalue" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769ca77b90cceaada15c2767933b3d5db0f8a">Descriptor</a>,</div>
<div class="line"><span class="lineno"> 9</span> <a class="code hl_enumvalue" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769ca0b890b1926b90387673882e6ccae7fdc">Definition</a>, <span class="comment">// Includes Descriptor</span></div>
<div class="line"><span class="lineno"> 10</span> <a class="code hl_enumvalue" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769cab39a035a995fc6597c8eb942210d1527">Behavior</a>, <span class="comment">// Includes Descriptor and Definition</span></div>
<div class="line"><span class="lineno"> 11</span> <a class="code hl_enumvalue" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769cad9c6333623e6357515fcbf17be806273">Geometry</a>, <span class="comment">// Includes Descriptor and Definition</span></div>
<div class="line"><span class="lineno"> 12</span> <a class="code hl_enumvalue" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769ca96fa7330c972d369c23d5b7d70a637ac">GeometryWithoutBlendShapes</a>, <span class="comment">// Includes Descriptor and Definition</span></div>
<div class="line"><span class="lineno"> 13</span> <a class="code hl_enumvalue" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769cabacb1964c4470f0e5c8992578937bb03">AllWithoutBlendShapes</a>, <span class="comment">// Includes everything except blend shapes from Geometry</span></div>
<div class="line"><span class="lineno"> 14</span> <a class="code hl_enumvalue" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769cab1c94ca2fbc3e78fc30069c8d0f01680">All</a></div>
<div class="line"><span class="lineno"> 15</span>};</div>
<div class="ttc" id="anamespacedna_html_a0ab7aa7faf3fc6bd0a6aa724c142769ca0b890b1926b90387673882e6ccae7fdc"><div class="ttname"><a href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769ca0b890b1926b90387673882e6ccae7fdc">dna::DataLayer::Definition</a></div><div class="ttdeci">@ Definition</div></div>
<div class="ttc" id="anamespacedna_html_a0ab7aa7faf3fc6bd0a6aa724c142769ca77b90cceaada15c2767933b3d5db0f8a"><div class="ttname"><a href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769ca77b90cceaada15c2767933b3d5db0f8a">dna::DataLayer::Descriptor</a></div><div class="ttdeci">@ Descriptor</div></div>
<div class="ttc" id="anamespacedna_html_a0ab7aa7faf3fc6bd0a6aa724c142769ca96fa7330c972d369c23d5b7d70a637ac"><div class="ttname"><a href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769ca96fa7330c972d369c23d5b7d70a637ac">dna::DataLayer::GeometryWithoutBlendShapes</a></div><div class="ttdeci">@ GeometryWithoutBlendShapes</div></div>
<div class="ttc" id="anamespacedna_html_a0ab7aa7faf3fc6bd0a6aa724c142769cab1c94ca2fbc3e78fc30069c8d0f01680"><div class="ttname"><a href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769cab1c94ca2fbc3e78fc30069c8d0f01680">dna::DataLayer::All</a></div><div class="ttdeci">@ All</div></div>
<div class="ttc" id="anamespacedna_html_a0ab7aa7faf3fc6bd0a6aa724c142769cab39a035a995fc6597c8eb942210d1527"><div class="ttname"><a href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769cab39a035a995fc6597c8eb942210d1527">dna::DataLayer::Behavior</a></div><div class="ttdeci">@ Behavior</div></div>
<div class="ttc" id="anamespacedna_html_a0ab7aa7faf3fc6bd0a6aa724c142769cabacb1964c4470f0e5c8992578937bb03"><div class="ttname"><a href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769cabacb1964c4470f0e5c8992578937bb03">dna::DataLayer::AllWithoutBlendShapes</a></div><div class="ttdeci">@ AllWithoutBlendShapes</div></div>
<div class="ttc" id="anamespacedna_html_a0ab7aa7faf3fc6bd0a6aa724c142769cad9c6333623e6357515fcbf17be806273"><div class="ttname"><a href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769cad9c6333623e6357515fcbf17be806273">dna::DataLayer::Geometry</a></div><div class="ttdeci">@ Geometry</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ad0fb05c7febae18102c255c303484d25" name="ad0fb05c7febae18102c255c303484d25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0fb05c7febae18102c255c303484d25">&#9670;&nbsp;</a></span>DataLayerBitmask</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="namespacedna.html#ad0fb05c7febae18102c255c303484d25">dna::DataLayerBitmask</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ad0fb05c7febae18102c255c303484d25a77b90cceaada15c2767933b3d5db0f8a" name="ad0fb05c7febae18102c255c303484d25a77b90cceaada15c2767933b3d5db0f8a"></a>Descriptor&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ad0fb05c7febae18102c255c303484d25a0b890b1926b90387673882e6ccae7fdc" name="ad0fb05c7febae18102c255c303484d25a0b890b1926b90387673882e6ccae7fdc"></a>Definition&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ad0fb05c7febae18102c255c303484d25ab39a035a995fc6597c8eb942210d1527" name="ad0fb05c7febae18102c255c303484d25ab39a035a995fc6597c8eb942210d1527"></a>Behavior&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ad0fb05c7febae18102c255c303484d25a9d6fffaf16174e94ed7e134586b8b544" name="ad0fb05c7febae18102c255c303484d25a9d6fffaf16174e94ed7e134586b8b544"></a>GeometryBlendShapesOnly&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ad0fb05c7febae18102c255c303484d25ad60a23fb7cc430a37fecdcf7282a3c9c" name="ad0fb05c7febae18102c255c303484d25ad60a23fb7cc430a37fecdcf7282a3c9c"></a>GeometryRest&#160;</td><td class="fielddoc"></td></tr>
</table>
<div class="fragment"><div class="line"><span class="lineno"> 10</span> {</div>
<div class="line"><span class="lineno"> 11</span> <a class="code hl_enumvalue" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769ca77b90cceaada15c2767933b3d5db0f8a">Descriptor</a> = 1,</div>
<div class="line"><span class="lineno"> 12</span> <a class="code hl_enumvalue" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769ca0b890b1926b90387673882e6ccae7fdc">Definition</a> = 2,</div>
<div class="line"><span class="lineno"> 13</span> <a class="code hl_enumvalue" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769cab39a035a995fc6597c8eb942210d1527">Behavior</a> = 4,</div>
<div class="line"><span class="lineno"> 14</span> <a class="code hl_enumvalue" href="namespacedna.html#ad0fb05c7febae18102c255c303484d25a9d6fffaf16174e94ed7e134586b8b544">GeometryBlendShapesOnly</a> = 8,</div>
<div class="line"><span class="lineno"> 15</span> <a class="code hl_enumvalue" href="namespacedna.html#ad0fb05c7febae18102c255c303484d25ad60a23fb7cc430a37fecdcf7282a3c9c">GeometryRest</a> = 16,</div>
<div class="line"><span class="lineno"> 16</span>};</div>
<div class="ttc" id="anamespacedna_html_ad0fb05c7febae18102c255c303484d25a9d6fffaf16174e94ed7e134586b8b544"><div class="ttname"><a href="namespacedna.html#ad0fb05c7febae18102c255c303484d25a9d6fffaf16174e94ed7e134586b8b544">dna::DataLayerBitmask::GeometryBlendShapesOnly</a></div><div class="ttdeci">@ GeometryBlendShapesOnly</div></div>
<div class="ttc" id="anamespacedna_html_ad0fb05c7febae18102c255c303484d25ad60a23fb7cc430a37fecdcf7282a3c9c"><div class="ttname"><a href="namespacedna.html#ad0fb05c7febae18102c255c303484d25ad60a23fb7cc430a37fecdcf7282a3c9c">dna::DataLayerBitmask::GeometryRest</a></div><div class="ttdeci">@ GeometryRest</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aa2b1342c0dc280c8862b5fb224ac9a50" name="aa2b1342c0dc280c8862b5fb224ac9a50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2b1342c0dc280c8862b5fb224ac9a50">&#9670;&nbsp;</a></span>Direction</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50">dna::Direction</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa2b1342c0dc280c8862b5fb224ac9a50a811882fecd5c7618d7099ebbd39ea254" name="aa2b1342c0dc280c8862b5fb224ac9a50a811882fecd5c7618d7099ebbd39ea254"></a>left&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aa2b1342c0dc280c8862b5fb224ac9a50a7c4f29407893c334a6cb7a87bf045c0d" name="aa2b1342c0dc280c8862b5fb224ac9a50a7c4f29407893c334a6cb7a87bf045c0d"></a>right&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aa2b1342c0dc280c8862b5fb224ac9a50a46c48bec0d282018b9d167eef7711b2c" name="aa2b1342c0dc280c8862b5fb224ac9a50a46c48bec0d282018b9d167eef7711b2c"></a>up&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aa2b1342c0dc280c8862b5fb224ac9a50a74e8333ad11685ff3bdae589c8f6e34d" name="aa2b1342c0dc280c8862b5fb224ac9a50a74e8333ad11685ff3bdae589c8f6e34d"></a>down&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aa2b1342c0dc280c8862b5fb224ac9a50ae6ec529ba185279aa0adcf93e645c7cd" name="aa2b1342c0dc280c8862b5fb224ac9a50ae6ec529ba185279aa0adcf93e645c7cd"></a>front&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aa2b1342c0dc280c8862b5fb224ac9a50a469bba0a564235dfceede42db14f17b0" name="aa2b1342c0dc280c8862b5fb224ac9a50a469bba0a564235dfceede42db14f17b0"></a>back&#160;</td><td class="fielddoc"></td></tr>
</table>
<div class="fragment"><div class="line"><span class="lineno"> 32</span> {</div>
<div class="line"><span class="lineno"> 33</span> <a class="code hl_enumvalue" href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50a811882fecd5c7618d7099ebbd39ea254">left</a>,</div>
<div class="line"><span class="lineno"> 34</span> <a class="code hl_enumvalue" href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50a7c4f29407893c334a6cb7a87bf045c0d">right</a>,</div>
<div class="line"><span class="lineno"> 35</span> <a class="code hl_enumvalue" href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50a46c48bec0d282018b9d167eef7711b2c">up</a>,</div>
<div class="line"><span class="lineno"> 36</span> <a class="code hl_enumvalue" href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50a74e8333ad11685ff3bdae589c8f6e34d">down</a>,</div>
<div class="line"><span class="lineno"> 37</span> <a class="code hl_enumvalue" href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50ae6ec529ba185279aa0adcf93e645c7cd">front</a>,</div>
<div class="line"><span class="lineno"> 38</span> <a class="code hl_enumvalue" href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50a469bba0a564235dfceede42db14f17b0">back</a></div>
<div class="line"><span class="lineno"> 39</span>};</div>
<div class="ttc" id="anamespacedna_html_aa2b1342c0dc280c8862b5fb224ac9a50a469bba0a564235dfceede42db14f17b0"><div class="ttname"><a href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50a469bba0a564235dfceede42db14f17b0">dna::Direction::back</a></div><div class="ttdeci">@ back</div></div>
<div class="ttc" id="anamespacedna_html_aa2b1342c0dc280c8862b5fb224ac9a50a46c48bec0d282018b9d167eef7711b2c"><div class="ttname"><a href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50a46c48bec0d282018b9d167eef7711b2c">dna::Direction::up</a></div><div class="ttdeci">@ up</div></div>
<div class="ttc" id="anamespacedna_html_aa2b1342c0dc280c8862b5fb224ac9a50a74e8333ad11685ff3bdae589c8f6e34d"><div class="ttname"><a href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50a74e8333ad11685ff3bdae589c8f6e34d">dna::Direction::down</a></div><div class="ttdeci">@ down</div></div>
<div class="ttc" id="anamespacedna_html_aa2b1342c0dc280c8862b5fb224ac9a50a7c4f29407893c334a6cb7a87bf045c0d"><div class="ttname"><a href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50a7c4f29407893c334a6cb7a87bf045c0d">dna::Direction::right</a></div><div class="ttdeci">@ right</div></div>
<div class="ttc" id="anamespacedna_html_aa2b1342c0dc280c8862b5fb224ac9a50a811882fecd5c7618d7099ebbd39ea254"><div class="ttname"><a href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50a811882fecd5c7618d7099ebbd39ea254">dna::Direction::left</a></div><div class="ttdeci">@ left</div></div>
<div class="ttc" id="anamespacedna_html_aa2b1342c0dc280c8862b5fb224ac9a50ae6ec529ba185279aa0adcf93e645c7cd"><div class="ttname"><a href="namespacedna.html#aa2b1342c0dc280c8862b5fb224ac9a50ae6ec529ba185279aa0adcf93e645c7cd">dna::Direction::front</a></div><div class="ttdeci">@ front</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ae2ab72c674a376b1ed4b37d59e7ec20f" name="ae2ab72c674a376b1ed4b37d59e7ec20f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2ab72c674a376b1ed4b37d59e7ec20f">&#9670;&nbsp;</a></span>Gender</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="namespacedna.html#ae2ab72c674a376b1ed4b37d59e7ec20f">dna::Gender</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ae2ab72c674a376b1ed4b37d59e7ec20fa07cf4f8f5d8b76282917320715dda2ad" name="ae2ab72c674a376b1ed4b37d59e7ec20fa07cf4f8f5d8b76282917320715dda2ad"></a>male&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ae2ab72c674a376b1ed4b37d59e7ec20fa273b9ae535de53399c86a9b83148a8ed" name="ae2ab72c674a376b1ed4b37d59e7ec20fa273b9ae535de53399c86a9b83148a8ed"></a>female&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ae2ab72c674a376b1ed4b37d59e7ec20fa795f3202b17cb6bc3d4b771d8c6c9eaf" name="ae2ab72c674a376b1ed4b37d59e7ec20fa795f3202b17cb6bc3d4b771d8c6c9eaf"></a>other&#160;</td><td class="fielddoc"></td></tr>
</table>
<div class="fragment"><div class="line"><span class="lineno"> 16</span> {</div>
<div class="line"><span class="lineno"> 17</span> <a class="code hl_enumvalue" href="namespacedna.html#ae2ab72c674a376b1ed4b37d59e7ec20fa07cf4f8f5d8b76282917320715dda2ad">male</a>,</div>
<div class="line"><span class="lineno"> 18</span> <a class="code hl_enumvalue" href="namespacedna.html#ae2ab72c674a376b1ed4b37d59e7ec20fa273b9ae535de53399c86a9b83148a8ed">female</a>,</div>
<div class="line"><span class="lineno"> 19</span> <a class="code hl_enumvalue" href="namespacedna.html#a4a14ef1c085b2668735a8c8e965eec4fa795f3202b17cb6bc3d4b771d8c6c9eaf">other</a></div>
<div class="line"><span class="lineno"> 20</span>};</div>
<div class="ttc" id="anamespacedna_html_ae2ab72c674a376b1ed4b37d59e7ec20fa07cf4f8f5d8b76282917320715dda2ad"><div class="ttname"><a href="namespacedna.html#ae2ab72c674a376b1ed4b37d59e7ec20fa07cf4f8f5d8b76282917320715dda2ad">dna::Gender::male</a></div><div class="ttdeci">@ male</div></div>
<div class="ttc" id="anamespacedna_html_ae2ab72c674a376b1ed4b37d59e7ec20fa273b9ae535de53399c86a9b83148a8ed"><div class="ttname"><a href="namespacedna.html#ae2ab72c674a376b1ed4b37d59e7ec20fa273b9ae535de53399c86a9b83148a8ed">dna::Gender::female</a></div><div class="ttdeci">@ female</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a3c0e43a827bcc3c5546573ff589c2e38" name="a3c0e43a827bcc3c5546573ff589c2e38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c0e43a827bcc3c5546573ff589c2e38">&#9670;&nbsp;</a></span>RotationUnit</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="namespacedna.html#a3c0e43a827bcc3c5546573ff589c2e38">dna::RotationUnit</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3c0e43a827bcc3c5546573ff589c2e38a18daee01fc6e54aacd7f4c2eef60ff4d" name="a3c0e43a827bcc3c5546573ff589c2e38a18daee01fc6e54aacd7f4c2eef60ff4d"></a>degrees&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3c0e43a827bcc3c5546573ff589c2e38a017969ba49117264eb077e9f66daacfd" name="a3c0e43a827bcc3c5546573ff589c2e38a017969ba49117264eb077e9f66daacfd"></a>radians&#160;</td><td class="fielddoc"></td></tr>
</table>
<div class="fragment"><div class="line"><span class="lineno"> 27</span> {</div>
<div class="line"><span class="lineno"> 28</span> <a class="code hl_function" href="namespacetdm.html#a86f2ad532b61593c6f728678482bc114">degrees</a>,</div>
<div class="line"><span class="lineno"> 29</span> <a class="code hl_function" href="namespacetdm.html#a26fb6809e4f953161a41fe43c18465d9">radians</a></div>
<div class="line"><span class="lineno"> 30</span>};</div>
<div class="ttc" id="anamespacetdm_html_a26fb6809e4f953161a41fe43c18465d9"><div class="ttname"><a href="namespacetdm.html#a26fb6809e4f953161a41fe43c18465d9">tdm::radians</a></div><div class="ttdeci">std::enable_if&lt; std::is_floating_point&lt; T &gt;::value, T &gt;::type radians(T degrees)</div><div class="ttdef"><b>Definition:</b> Transforms.h:21</div></div>
<div class="ttc" id="anamespacetdm_html_a86f2ad532b61593c6f728678482bc114"><div class="ttname"><a href="namespacetdm.html#a86f2ad532b61593c6f728678482bc114">tdm::degrees</a></div><div class="ttdeci">std::enable_if&lt; std::is_floating_point&lt; T &gt;::value, T &gt;::type degrees(T radians)</div><div class="ttdef"><b>Definition:</b> Transforms.h:15</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="abf96ecde7d9e8593bf3b2dd0649645d7" name="abf96ecde7d9e8593bf3b2dd0649645d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf96ecde7d9e8593bf3b2dd0649645d7">&#9670;&nbsp;</a></span>TranslationUnit</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="namespacedna.html#abf96ecde7d9e8593bf3b2dd0649645d7">dna::TranslationUnit</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="abf96ecde7d9e8593bf3b2dd0649645d7a820eb5b696ea2a657c0db1e258dc7d81" name="abf96ecde7d9e8593bf3b2dd0649645d7a820eb5b696ea2a657c0db1e258dc7d81"></a>cm&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="abf96ecde7d9e8593bf3b2dd0649645d7a6f8f57715090da2632453988d9a1501b" name="abf96ecde7d9e8593bf3b2dd0649645d7a6f8f57715090da2632453988d9a1501b"></a>m&#160;</td><td class="fielddoc"></td></tr>
</table>
<div class="fragment"><div class="line"><span class="lineno"> 22</span> {</div>
<div class="line"><span class="lineno"> 23</span> <a class="code hl_enumvalue" href="namespacedna.html#abf96ecde7d9e8593bf3b2dd0649645d7a820eb5b696ea2a657c0db1e258dc7d81">cm</a>,</div>
<div class="line"><span class="lineno"> 24</span> <a class="code hl_enumvalue" href="namespacedna.html#abf96ecde7d9e8593bf3b2dd0649645d7a6f8f57715090da2632453988d9a1501b">m</a></div>
<div class="line"><span class="lineno"> 25</span>};</div>
<div class="ttc" id="anamespacedna_html_abf96ecde7d9e8593bf3b2dd0649645d7a6f8f57715090da2632453988d9a1501b"><div class="ttname"><a href="namespacedna.html#abf96ecde7d9e8593bf3b2dd0649645d7a6f8f57715090da2632453988d9a1501b">dna::TranslationUnit::m</a></div><div class="ttdeci">@ m</div></div>
<div class="ttc" id="anamespacedna_html_abf96ecde7d9e8593bf3b2dd0649645d7a820eb5b696ea2a657c0db1e258dc7d81"><div class="ttname"><a href="namespacedna.html#abf96ecde7d9e8593bf3b2dd0649645d7a820eb5b696ea2a657c0db1e258dc7d81">dna::TranslationUnit::cm</a></div><div class="ttdeci">@ cm</div></div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a6edfa927291a6fab8c621ad4b080f15b" name="a6edfa927291a6fab8c621ad4b080f15b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6edfa927291a6fab8c621ad4b080f15b">&#9670;&nbsp;</a></span>collect_n()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TVector , typename TGetter &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static TVector dna::collect_n </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TGetter&#160;</td>
<td class="paramname"><em>getter</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a> *&#160;</td>
<td class="paramname"><em>memRes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 36</span> {</div>
<div class="line"><span class="lineno"> 37</span> TVector retval{memRes};</div>
<div class="line"><span class="lineno"> 38</span> retval.reserve(count);</div>
<div class="line"><span class="lineno"> 39</span> <span class="keywordflow">for</span> (std::size_t i = 0ul; i &lt; count; ++i) {</div>
<div class="line"><span class="lineno"> 40</span> retval.push_back(getter(i));</div>
<div class="line"><span class="lineno"> 41</span> }</div>
<div class="line"><span class="lineno"> 42</span> <span class="keywordflow">return</span> retval;</div>
<div class="line"><span class="lineno"> 43</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a3035750816448c5f6c87cc3d589db0a8" name="a3035750816448c5f6c87cc3d589db0a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3035750816448c5f6c87cc3d589db0a8">&#9670;&nbsp;</a></span>computeDataLayerBitmask()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacedna.html#ad0fb05c7febae18102c255c303484d25">DataLayerBitmask</a> dna::computeDataLayerBitmask </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769c">DataLayer</a>&#160;</td>
<td class="paramname"><em>layer</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 18</span> {</div>
<div class="line"><span class="lineno"> 19</span> <a class="code hl_enumeration" href="namespacedna.html#ad0fb05c7febae18102c255c303484d25">DataLayerBitmask</a> result = DataLayerBitmask::Descriptor;</div>
<div class="line"><span class="lineno"> 20</span> <span class="keywordflow">if</span> (layer == DataLayer::Definition) {</div>
<div class="line"><span class="lineno"> 21</span> result |= DataLayerBitmask::Definition;</div>
<div class="line"><span class="lineno"> 22</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (layer == DataLayer::Behavior) {</div>
<div class="line"><span class="lineno"> 23</span> result |= DataLayerBitmask::Definition;</div>
<div class="line"><span class="lineno"> 24</span> result |= DataLayerBitmask::Behavior;</div>
<div class="line"><span class="lineno"> 25</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (layer == DataLayer::Geometry) {</div>
<div class="line"><span class="lineno"> 26</span> result |= DataLayerBitmask::Definition;</div>
<div class="line"><span class="lineno"> 27</span> result |= DataLayerBitmask::GeometryBlendShapesOnly;</div>
<div class="line"><span class="lineno"> 28</span> result |= DataLayerBitmask::GeometryRest;</div>
<div class="line"><span class="lineno"> 29</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (layer == DataLayer::GeometryWithoutBlendShapes) {</div>
<div class="line"><span class="lineno"> 30</span> result |= DataLayerBitmask::Definition;</div>
<div class="line"><span class="lineno"> 31</span> result |= DataLayerBitmask::GeometryRest;</div>
<div class="line"><span class="lineno"> 32</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (layer == DataLayer::AllWithoutBlendShapes) {</div>
<div class="line"><span class="lineno"> 33</span> result |= DataLayerBitmask::Definition;</div>
<div class="line"><span class="lineno"> 34</span> result |= DataLayerBitmask::Behavior;</div>
<div class="line"><span class="lineno"> 35</span> result |= DataLayerBitmask::GeometryRest;</div>
<div class="line"><span class="lineno"> 36</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (layer == DataLayer::All) {</div>
<div class="line"><span class="lineno"> 37</span> result |= DataLayerBitmask::Definition;</div>
<div class="line"><span class="lineno"> 38</span> result |= DataLayerBitmask::Behavior;</div>
<div class="line"><span class="lineno"> 39</span> result |= DataLayerBitmask::GeometryBlendShapesOnly;</div>
<div class="line"><span class="lineno"> 40</span> result |= DataLayerBitmask::GeometryRest;</div>
<div class="line"><span class="lineno"> 41</span> }</div>
<div class="line"><span class="lineno"> 42</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><span class="lineno"> 43</span>}</div>
<div class="ttc" id="anamespacedna_html_ad0fb05c7febae18102c255c303484d25"><div class="ttname"><a href="namespacedna.html#ad0fb05c7febae18102c255c303484d25">dna::DataLayerBitmask</a></div><div class="ttdeci">DataLayerBitmask</div><div class="ttdef"><b>Definition:</b> DataLayerBitmask.h:10</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769cab1c94ca2fbc3e78fc30069c8d0f01680">All</a>, <a class="el" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769cabacb1964c4470f0e5c8992578937bb03">AllWithoutBlendShapes</a>, <a class="el" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769cab39a035a995fc6597c8eb942210d1527">Behavior</a>, <a class="el" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769ca0b890b1926b90387673882e6ccae7fdc">Definition</a>, <a class="el" href="namespacedna.html#ad0fb05c7febae18102c255c303484d25a77b90cceaada15c2767933b3d5db0f8a">Descriptor</a>, <a class="el" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769cad9c6333623e6357515fcbf17be806273">Geometry</a>, <a class="el" href="namespacedna.html#ad0fb05c7febae18102c255c303484d25a9d6fffaf16174e94ed7e134586b8b544">GeometryBlendShapesOnly</a>, <a class="el" href="namespacedna.html#ad0fb05c7febae18102c255c303484d25ad60a23fb7cc430a37fecdcf7282a3c9c">GeometryRest</a>, and <a class="el" href="namespacedna.html#a0ab7aa7faf3fc6bd0a6aa724c142769ca96fa7330c972d369c23d5b7d70a637ac">GeometryWithoutBlendShapes</a>.</p>
<p class="reference">Referenced by <a class="el" href="classdna_1_1Writer.html#a41e7a151c6dab14e702667b9e41e8a85">dna::Writer::setFrom()</a>.</p>
</div>
</div>
<a id="a570698cb59e2a9295b49d8cdcd143c6f" name="a570698cb59e2a9295b49d8cdcd143c6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a570698cb59e2a9295b49d8cdcd143c6f">&#9670;&nbsp;</a></span>contains()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TEnum &gt; </div>
<table class="memname">
<tr>
<td class="memname">std::enable_if&lt; std::is_enum&lt; TEnum &gt;::value, bool &gt;::type dna::contains </td>
<td>(</td>
<td class="paramtype">TEnum&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TEnum&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 57</span> {</div>
<div class="line"><span class="lineno"> 58</span> <span class="keywordflow">return</span> (lhs &amp; rhs) == rhs;</div>
<div class="line"><span class="lineno"> 59</span>}</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="classdna_1_1FilteredInputArchive.html#ae3d6a2ebc9313bc328902c3eadb7454a">dna::FilteredInputArchive::process()</a>, and <a class="el" href="classdna_1_1Writer.html#a41e7a151c6dab14e702667b9e41e8a85">dna::Writer::setFrom()</a>.</p>
</div>
</div>
<a id="af9aee0c3b362245afd07c38b8b421fff" name="af9aee0c3b362245afd07c38b8b421fff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9aee0c3b362245afd07c38b8b421fff">&#9670;&nbsp;</a></span>copyBehavior()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void dna::copyBehavior </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classdna_1_1BehaviorReader.html">BehaviorReader</a> *&#160;</td>
<td class="paramname"><em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classdna_1_1BehaviorWriter.html">BehaviorWriter</a> *&#160;</td>
<td class="paramname"><em>destination</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a> *&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 200</span> {</div>
<div class="line"><span class="lineno"> 201</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a6b9475d1a888a5e7b61c5a64eb40f2ae">clearJointGroups</a>();</div>
<div class="line"><span class="lineno"> 202</span> </div>
<div class="line"><span class="lineno"> 203</span> <span class="keyword">auto</span> guiToRawInputIndices = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a6cf853f5d537e6b8e2634ebf3388b529">getGUIToRawInputIndices</a>();</div>
<div class="line"><span class="lineno"> 204</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a220225a3400609ea6ad701d82231fcd2">setGUIToRawInputIndices</a>(guiToRawInputIndices.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(guiToRawInputIndices.size()));</div>
<div class="line"><span class="lineno"> 205</span> </div>
<div class="line"><span class="lineno"> 206</span> <span class="keyword">auto</span> guiToRawOutputIndices = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a8e6d36a27afd3a08e565fb0fe55f22b4">getGUIToRawOutputIndices</a>();</div>
<div class="line"><span class="lineno"> 207</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a8ff614803260b787dedf6c24f13d5d30">setGUIToRawOutputIndices</a>(guiToRawOutputIndices.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(guiToRawOutputIndices.size()));</div>
<div class="line"><span class="lineno"> 208</span> </div>
<div class="line"><span class="lineno"> 209</span> <span class="keyword">auto</span> guiToRawFromValues = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a4fd0213dcb2856b64280454228729855">getGUIToRawFromValues</a>();</div>
<div class="line"><span class="lineno"> 210</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#ac2c53991d953244d8d8d9cfef3814537">setGUIToRawFromValues</a>(guiToRawFromValues.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(guiToRawFromValues.size()));</div>
<div class="line"><span class="lineno"> 211</span> </div>
<div class="line"><span class="lineno"> 212</span> <span class="keyword">auto</span> guiToRawToValues = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#abe4d1ce29676b07d805e685199a1ef0c">getGUIToRawToValues</a>();</div>
<div class="line"><span class="lineno"> 213</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a834af50cb5c8f1567ab474bb4dce9131">setGUIToRawToValues</a>(guiToRawToValues.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(guiToRawToValues.size()));</div>
<div class="line"><span class="lineno"> 214</span> </div>
<div class="line"><span class="lineno"> 215</span> <span class="keyword">auto</span> guiToRawSlopeValues = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a05f06e0f08a8f2676f0286300d880d12">getGUIToRawSlopeValues</a>();</div>
<div class="line"><span class="lineno"> 216</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a5b6f8d09f7e14f2d4aca12b03247fa55">setGUIToRawSlopeValues</a>(guiToRawSlopeValues.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(guiToRawSlopeValues.size()));</div>
<div class="line"><span class="lineno"> 217</span> </div>
<div class="line"><span class="lineno"> 218</span> <span class="keyword">auto</span> guiToRawCutValues = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a68f381f520ebfd68f02020ce8f5b0a69">getGUIToRawCutValues</a>();</div>
<div class="line"><span class="lineno"> 219</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#adba15d24dd5998ea0bb9e16c8043f078">setGUIToRawCutValues</a>(guiToRawCutValues.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(guiToRawCutValues.size()));</div>
<div class="line"><span class="lineno"> 220</span> </div>
<div class="line"><span class="lineno"> 221</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a318c9585948a1b810d3c175adc612cd3">setPSDCount</a>(source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a651c99df2bd266b16efb83ff1fedac7d">getPSDCount</a>());</div>
<div class="line"><span class="lineno"> 222</span> </div>
<div class="line"><span class="lineno"> 223</span> <span class="keyword">auto</span> psdRowIndices = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a09f89a0f76798571d7f619f19d19787e">getPSDRowIndices</a>();</div>
<div class="line"><span class="lineno"> 224</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a8b9013b6c4f7fddc63bc3d540024366a">setPSDRowIndices</a>(psdRowIndices.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(psdRowIndices.size()));</div>
<div class="line"><span class="lineno"> 225</span> </div>
<div class="line"><span class="lineno"> 226</span> <span class="keyword">auto</span> psdColumnIndices = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a35f70e12a860c73d452e27fed9b75f42">getPSDColumnIndices</a>();</div>
<div class="line"><span class="lineno"> 227</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#ae9c842c529475cd612097967b76bbbdc">setPSDColumnIndices</a>(psdColumnIndices.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(psdColumnIndices.size()));</div>
<div class="line"><span class="lineno"> 228</span> </div>
<div class="line"><span class="lineno"> 229</span> <span class="keyword">auto</span> psdValues = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#ab177725a27c3664055a86aa8e9eaae3d">getPSDValues</a>();</div>
<div class="line"><span class="lineno"> 230</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#ab0914f0c6d936da871ca3c494f78ae18">setPSDValues</a>(psdValues.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(psdValues.size()));</div>
<div class="line"><span class="lineno"> 231</span> </div>
<div class="line"><span class="lineno"> 232</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a28cb22e4690d1921c71775c939652c80">setJointRowCount</a>(source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a6121d56124f208317bd3a719a5885da7">getJointRowCount</a>());</div>
<div class="line"><span class="lineno"> 233</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#ae20b30d9f64ce34affae4c8bb8efa445">setJointColumnCount</a>(source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#ad8f0c4104ae71e2cae20de68ca7dac7e">getJointColumnCount</a>());</div>
<div class="line"><span class="lineno"> 234</span> </div>
<div class="line"><span class="lineno"> 235</span> <span class="keywordflow">for</span> (std::uint16_t jointGroupIndexPlusOne = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#ac543cf35eccf547b45d37c4c7abd0dc2">getJointGroupCount</a>();</div>
<div class="line"><span class="lineno"> 236</span> jointGroupIndexPlusOne &gt; 0u;</div>
<div class="line"><span class="lineno"> 237</span> --jointGroupIndexPlusOne) {</div>
<div class="line"><span class="lineno"> 238</span> <span class="keyword">const</span> <span class="keyword">auto</span> jointGroupIndex = <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(jointGroupIndexPlusOne - 1u);</div>
<div class="line"><span class="lineno"> 239</span> </div>
<div class="line"><span class="lineno"> 240</span> <span class="keyword">auto</span> jointGroupLODs = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#afe6a30955afbef5d10bb84b1f643bf43">getJointGroupLODs</a>(jointGroupIndex);</div>
<div class="line"><span class="lineno"> 241</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a0574869602e12d5d02c1140b51d8e96e">setJointGroupLODs</a>(jointGroupIndex, jointGroupLODs.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(jointGroupLODs.size()));</div>
<div class="line"><span class="lineno"> 242</span> </div>
<div class="line"><span class="lineno"> 243</span> <span class="keyword">auto</span> jointGroupInputIndices = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a028bfd1ba3ccbf52ef3cd1aedacaabfb">getJointGroupInputIndices</a>(jointGroupIndex);</div>
<div class="line"><span class="lineno"> 244</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#aa8d6031abc7c0b7a262054c7589719e8">setJointGroupInputIndices</a>(jointGroupIndex, jointGroupInputIndices.data(),</div>
<div class="line"><span class="lineno"> 245</span> <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(jointGroupInputIndices.size()));</div>
<div class="line"><span class="lineno"> 246</span> </div>
<div class="line"><span class="lineno"> 247</span> <span class="keyword">auto</span> jointGroupOutputIndices = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a81721b4cb25b90c76458f7b42e93db2c">getJointGroupOutputIndices</a>(jointGroupIndex);</div>
<div class="line"><span class="lineno"> 248</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a1587c7656d8010eae73723f5ebcc8df2">setJointGroupOutputIndices</a>(jointGroupIndex, jointGroupOutputIndices.data(),</div>
<div class="line"><span class="lineno"> 249</span> <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(jointGroupOutputIndices.size()));</div>
<div class="line"><span class="lineno"> 250</span> </div>
<div class="line"><span class="lineno"> 251</span> <span class="keyword">auto</span> jointGroupValues = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#add58838dd0bffad6ac9d66887e969e5e">getJointGroupValues</a>(jointGroupIndex);</div>
<div class="line"><span class="lineno"> 252</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a9cd33855b41cf50fa38b40dd871f7b9f">setJointGroupValues</a>(jointGroupIndex, jointGroupValues.data(),</div>
<div class="line"><span class="lineno"> 253</span> <span class="keyword">static_cast&lt;</span>std::uint32_t<span class="keyword">&gt;</span>(jointGroupValues.size()));</div>
<div class="line"><span class="lineno"> 254</span> </div>
<div class="line"><span class="lineno"> 255</span> <span class="keyword">auto</span> jointGroupJointIndices = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#af2c5860e22023c82b41ad7a36caae3c1">getJointGroupJointIndices</a>(jointGroupIndex);</div>
<div class="line"><span class="lineno"> 256</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#abc4bde60580a3f969b2c31694c5db4a2">setJointGroupJointIndices</a>(jointGroupIndex, jointGroupJointIndices.data(),</div>
<div class="line"><span class="lineno"> 257</span> <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(jointGroupJointIndices.size()));</div>
<div class="line"><span class="lineno"> 258</span> }</div>
<div class="line"><span class="lineno"> 259</span> </div>
<div class="line"><span class="lineno"> 260</span> <span class="keyword">auto</span> blendShapeLODs = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#ad585141fe808b93db5479c8cb21b7e82">getBlendShapeChannelLODs</a>();</div>
<div class="line"><span class="lineno"> 261</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a9eac4730bc5b2d683f81be7d7abf942a">setBlendShapeChannelLODs</a>(blendShapeLODs.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(blendShapeLODs.size()));</div>
<div class="line"><span class="lineno"> 262</span> </div>
<div class="line"><span class="lineno"> 263</span> <span class="keyword">auto</span> blendShapeInputIndices = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#ae34d90ae469e1080ff1cc93d5e1b6cad">getBlendShapeChannelInputIndices</a>();</div>
<div class="line"><span class="lineno"> 264</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a1298ec717057270d5e29a4ce27352345">setBlendShapeChannelInputIndices</a>(blendShapeInputIndices.data(),</div>
<div class="line"><span class="lineno"> 265</span> <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(blendShapeInputIndices.size()));</div>
<div class="line"><span class="lineno"> 266</span> </div>
<div class="line"><span class="lineno"> 267</span> <span class="keyword">auto</span> blendShapeOutputIndices = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a2cf4f15450f8589b29e240208748eb3b">getBlendShapeChannelOutputIndices</a>();</div>
<div class="line"><span class="lineno"> 268</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#ac10d5d4766d112140ba61be45bae15c7">setBlendShapeChannelOutputIndices</a>(blendShapeOutputIndices.data(),</div>
<div class="line"><span class="lineno"> 269</span> <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(blendShapeOutputIndices.size()));</div>
<div class="line"><span class="lineno"> 270</span> </div>
<div class="line"><span class="lineno"> 271</span> <span class="keyword">auto</span> animatedMapLODs = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a50c651d7e7400e17ff7da31036b5c352">getAnimatedMapLODs</a>();</div>
<div class="line"><span class="lineno"> 272</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a8794fb60023c7135a8e64df33f760ff8">setAnimatedMapLODs</a>(animatedMapLODs.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(animatedMapLODs.size()));</div>
<div class="line"><span class="lineno"> 273</span> </div>
<div class="line"><span class="lineno"> 274</span> <span class="keyword">auto</span> animatedMapInputIndices = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a504220b3ead3f11ea5888d208f8055bc">getAnimatedMapInputIndices</a>();</div>
<div class="line"><span class="lineno"> 275</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a76a88fe1ca13c58e88729846c68668c5">setAnimatedMapInputIndices</a>(animatedMapInputIndices.data(),</div>
<div class="line"><span class="lineno"> 276</span> <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(animatedMapInputIndices.size()));</div>
<div class="line"><span class="lineno"> 277</span> </div>
<div class="line"><span class="lineno"> 278</span> <span class="keyword">auto</span> animatedMapOutputIndices = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a5ca7158ed4146d09935548ece05b7f94">getAnimatedMapOutputIndices</a>();</div>
<div class="line"><span class="lineno"> 279</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#ac1300d462f548d4f1711b2d6c4553b99">setAnimatedMapOutputIndices</a>(animatedMapOutputIndices.data(),</div>
<div class="line"><span class="lineno"> 280</span> <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(animatedMapOutputIndices.size()));</div>
<div class="line"><span class="lineno"> 281</span> </div>
<div class="line"><span class="lineno"> 282</span> <span class="keyword">auto</span> animatedMapFromValues = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#af7eb657428d974ccc5c1ae9c2516a772">getAnimatedMapFromValues</a>();</div>
<div class="line"><span class="lineno"> 283</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#adcc2982bd1e9a7b014904f55382ea7f7">setAnimatedMapFromValues</a>(animatedMapFromValues.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(animatedMapFromValues.size()));</div>
<div class="line"><span class="lineno"> 284</span> </div>
<div class="line"><span class="lineno"> 285</span> <span class="keyword">auto</span> animatedMapToValues = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a21057f6c94895629229021b20133c007">getAnimatedMapToValues</a>();</div>
<div class="line"><span class="lineno"> 286</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a4e360d3d0c2a1fe5f5fa500b879e8b27">setAnimatedMapToValues</a>(animatedMapToValues.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(animatedMapToValues.size()));</div>
<div class="line"><span class="lineno"> 287</span> </div>
<div class="line"><span class="lineno"> 288</span> <span class="keyword">auto</span> animatedMapSlopeValues = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a59ef8f6885a33b102fb938b7a12da16b">getAnimatedMapSlopeValues</a>();</div>
<div class="line"><span class="lineno"> 289</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a85b0b644ee45dbc4ef4ccc3299c4d43b">setAnimatedMapSlopeValues</a>(animatedMapSlopeValues.data(),</div>
<div class="line"><span class="lineno"> 290</span> <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(animatedMapSlopeValues.size()));</div>
<div class="line"><span class="lineno"> 291</span> </div>
<div class="line"><span class="lineno"> 292</span> <span class="keyword">auto</span> animatedMapCutValues = source-&gt;<a class="code hl_function" href="classdna_1_1BehaviorReader.html#a7ab5ba50c829ea9b5ef63495608fbffe">getAnimatedMapCutValues</a>();</div>
<div class="line"><span class="lineno"> 293</span> destination-&gt;<a class="code hl_function" href="classdna_1_1BehaviorWriter.html#a1b66c9c33eddeb21eae0ad734cecc343">setAnimatedMapCutValues</a>(animatedMapCutValues.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(animatedMapCutValues.size()));</div>
<div class="line"><span class="lineno"> 294</span>}</div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a028bfd1ba3ccbf52ef3cd1aedacaabfb"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a028bfd1ba3ccbf52ef3cd1aedacaabfb">dna::BehaviorReader::getJointGroupInputIndices</a></div><div class="ttdeci">virtual ConstArrayView&lt; std::uint16_t &gt; getJointGroupInputIndices(std::uint16_t jointGroupIndex) const =0</div><div class="ttdoc">Column indices that the requested joint group contains.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a05f06e0f08a8f2676f0286300d880d12"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a05f06e0f08a8f2676f0286300d880d12">dna::BehaviorReader::getGUIToRawSlopeValues</a></div><div class="ttdeci">virtual ConstArrayView&lt; float &gt; getGUIToRawSlopeValues() const =0</div><div class="ttdoc">Computational values(slope/gradient) used for calculating the output value during gui to raw control ...</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a09f89a0f76798571d7f619f19d19787e"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a09f89a0f76798571d7f619f19d19787e">dna::BehaviorReader::getPSDRowIndices</a></div><div class="ttdeci">virtual ConstArrayView&lt; std::uint16_t &gt; getPSDRowIndices() const =0</div><div class="ttdoc">PSD(input) indices.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a21057f6c94895629229021b20133c007"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a21057f6c94895629229021b20133c007">dna::BehaviorReader::getAnimatedMapToValues</a></div><div class="ttdeci">virtual ConstArrayView&lt; float &gt; getAnimatedMapToValues() const =0</div><div class="ttdoc">Filter values(upper-bounds) used to decide whether a particular entry should be evaluated or not.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a2cf4f15450f8589b29e240208748eb3b"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a2cf4f15450f8589b29e240208748eb3b">dna::BehaviorReader::getBlendShapeChannelOutputIndices</a></div><div class="ttdeci">virtual ConstArrayView&lt; std::uint16_t &gt; getBlendShapeChannelOutputIndices() const =0</div><div class="ttdoc">Output indices specify the positions of blend shape channel output values.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a35f70e12a860c73d452e27fed9b75f42"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a35f70e12a860c73d452e27fed9b75f42">dna::BehaviorReader::getPSDColumnIndices</a></div><div class="ttdeci">virtual ConstArrayView&lt; std::uint16_t &gt; getPSDColumnIndices() const =0</div><div class="ttdoc">Control(input) indices.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a4fd0213dcb2856b64280454228729855"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a4fd0213dcb2856b64280454228729855">dna::BehaviorReader::getGUIToRawFromValues</a></div><div class="ttdeci">virtual ConstArrayView&lt; float &gt; getGUIToRawFromValues() const =0</div><div class="ttdoc">Filter values(lower-bounds) used to decide whether a particular entry should be evaluated or not duri...</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a504220b3ead3f11ea5888d208f8055bc"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a504220b3ead3f11ea5888d208f8055bc">dna::BehaviorReader::getAnimatedMapInputIndices</a></div><div class="ttdeci">virtual ConstArrayView&lt; std::uint16_t &gt; getAnimatedMapInputIndices() const =0</div><div class="ttdoc">Input indices used to index into the array of input values.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a50c651d7e7400e17ff7da31036b5c352"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a50c651d7e7400e17ff7da31036b5c352">dna::BehaviorReader::getAnimatedMapLODs</a></div><div class="ttdeci">virtual ConstArrayView&lt; std::uint16_t &gt; getAnimatedMapLODs() const =0</div><div class="ttdoc">Row count per each level of detail for animated maps.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a59ef8f6885a33b102fb938b7a12da16b"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a59ef8f6885a33b102fb938b7a12da16b">dna::BehaviorReader::getAnimatedMapSlopeValues</a></div><div class="ttdeci">virtual ConstArrayView&lt; float &gt; getAnimatedMapSlopeValues() const =0</div><div class="ttdoc">Computational values(slope/gradient) used for calculating the output value.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a5ca7158ed4146d09935548ece05b7f94"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a5ca7158ed4146d09935548ece05b7f94">dna::BehaviorReader::getAnimatedMapOutputIndices</a></div><div class="ttdeci">virtual ConstArrayView&lt; std::uint16_t &gt; getAnimatedMapOutputIndices() const =0</div><div class="ttdoc">Output indices that specify the computed output value's position.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a6121d56124f208317bd3a719a5885da7"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a6121d56124f208317bd3a719a5885da7">dna::BehaviorReader::getJointRowCount</a></div><div class="ttdeci">virtual std::uint16_t getJointRowCount() const =0</div><div class="ttdoc">Number of rows in the entire, uncompressed joint matrix.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a651c99df2bd266b16efb83ff1fedac7d"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a651c99df2bd266b16efb83ff1fedac7d">dna::BehaviorReader::getPSDCount</a></div><div class="ttdeci">virtual std::uint16_t getPSDCount() const =0</div><div class="ttdoc">The number of distinct PSD expressions.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a68f381f520ebfd68f02020ce8f5b0a69"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a68f381f520ebfd68f02020ce8f5b0a69">dna::BehaviorReader::getGUIToRawCutValues</a></div><div class="ttdeci">virtual ConstArrayView&lt; float &gt; getGUIToRawCutValues() const =0</div><div class="ttdoc">Computational values(vertical intercept) used for calculating the output value during gui to raw cont...</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a6cf853f5d537e6b8e2634ebf3388b529"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a6cf853f5d537e6b8e2634ebf3388b529">dna::BehaviorReader::getGUIToRawInputIndices</a></div><div class="ttdeci">virtual ConstArrayView&lt; std::uint16_t &gt; getGUIToRawInputIndices() const =0</div><div class="ttdoc">Input indices used for mapping gui to raw controls.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a7ab5ba50c829ea9b5ef63495608fbffe"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a7ab5ba50c829ea9b5ef63495608fbffe">dna::BehaviorReader::getAnimatedMapCutValues</a></div><div class="ttdeci">virtual ConstArrayView&lt; float &gt; getAnimatedMapCutValues() const =0</div><div class="ttdoc">Computational values(vertical intercept) used for calculating the output value.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a81721b4cb25b90c76458f7b42e93db2c"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a81721b4cb25b90c76458f7b42e93db2c">dna::BehaviorReader::getJointGroupOutputIndices</a></div><div class="ttdeci">virtual ConstArrayView&lt; std::uint16_t &gt; getJointGroupOutputIndices(std::uint16_t jointGroupIndex) const =0</div><div class="ttdoc">Row indices that the requested joint group contains.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_a8e6d36a27afd3a08e565fb0fe55f22b4"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#a8e6d36a27afd3a08e565fb0fe55f22b4">dna::BehaviorReader::getGUIToRawOutputIndices</a></div><div class="ttdeci">virtual ConstArrayView&lt; std::uint16_t &gt; getGUIToRawOutputIndices() const =0</div><div class="ttdoc">Output indices used for mapping gui to raw controls.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_ab177725a27c3664055a86aa8e9eaae3d"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#ab177725a27c3664055a86aa8e9eaae3d">dna::BehaviorReader::getPSDValues</a></div><div class="ttdeci">virtual ConstArrayView&lt; float &gt; getPSDValues() const =0</div><div class="ttdoc">Weights associated with each PSD row and column pair.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_abe4d1ce29676b07d805e685199a1ef0c"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#abe4d1ce29676b07d805e685199a1ef0c">dna::BehaviorReader::getGUIToRawToValues</a></div><div class="ttdeci">virtual ConstArrayView&lt; float &gt; getGUIToRawToValues() const =0</div><div class="ttdoc">Filter values(upper-bounds) used to decide whether a particular entry should be evaluated or not duri...</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_ac543cf35eccf547b45d37c4c7abd0dc2"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#ac543cf35eccf547b45d37c4c7abd0dc2">dna::BehaviorReader::getJointGroupCount</a></div><div class="ttdeci">virtual std::uint16_t getJointGroupCount() const =0</div><div class="ttdoc">Number of joint groups present in the entire joint matrix.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_ad585141fe808b93db5479c8cb21b7e82"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#ad585141fe808b93db5479c8cb21b7e82">dna::BehaviorReader::getBlendShapeChannelLODs</a></div><div class="ttdeci">virtual ConstArrayView&lt; std::uint16_t &gt; getBlendShapeChannelLODs() const =0</div><div class="ttdoc">Input index count per each level of detail for blend shape channels.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_ad8f0c4104ae71e2cae20de68ca7dac7e"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#ad8f0c4104ae71e2cae20de68ca7dac7e">dna::BehaviorReader::getJointColumnCount</a></div><div class="ttdeci">virtual std::uint16_t getJointColumnCount() const =0</div><div class="ttdoc">Number of columns in the entire, uncompressed joint matrix.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_add58838dd0bffad6ac9d66887e969e5e"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#add58838dd0bffad6ac9d66887e969e5e">dna::BehaviorReader::getJointGroupValues</a></div><div class="ttdeci">virtual ConstArrayView&lt; float &gt; getJointGroupValues(std::uint16_t jointGroupIndex) const =0</div><div class="ttdoc">Values that the requested joint group contains.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_ae34d90ae469e1080ff1cc93d5e1b6cad"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#ae34d90ae469e1080ff1cc93d5e1b6cad">dna::BehaviorReader::getBlendShapeChannelInputIndices</a></div><div class="ttdeci">virtual ConstArrayView&lt; std::uint16_t &gt; getBlendShapeChannelInputIndices() const =0</div><div class="ttdoc">Input indices used to index into the input vector.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_af2c5860e22023c82b41ad7a36caae3c1"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#af2c5860e22023c82b41ad7a36caae3c1">dna::BehaviorReader::getJointGroupJointIndices</a></div><div class="ttdeci">virtual ConstArrayView&lt; std::uint16_t &gt; getJointGroupJointIndices(std::uint16_t jointGroupIndex) const =0</div><div class="ttdoc">Joint indices that the requested joint group contains.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_af7eb657428d974ccc5c1ae9c2516a772"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#af7eb657428d974ccc5c1ae9c2516a772">dna::BehaviorReader::getAnimatedMapFromValues</a></div><div class="ttdeci">virtual ConstArrayView&lt; float &gt; getAnimatedMapFromValues() const =0</div><div class="ttdoc">Filter values(lower-bounds) used to decide whether a particular entry should be evaluated or not.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorReader_html_afe6a30955afbef5d10bb84b1f643bf43"><div class="ttname"><a href="classdna_1_1BehaviorReader.html#afe6a30955afbef5d10bb84b1f643bf43">dna::BehaviorReader::getJointGroupLODs</a></div><div class="ttdeci">virtual ConstArrayView&lt; std::uint16_t &gt; getJointGroupLODs(std::uint16_t jointGroupIndex) const =0</div><div class="ttdoc">Number of rows per each level of detail for the requested joint group.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a0574869602e12d5d02c1140b51d8e96e"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a0574869602e12d5d02c1140b51d8e96e">dna::BehaviorWriter::setJointGroupLODs</a></div><div class="ttdeci">virtual void setJointGroupLODs(std::uint16_t jointGroupIndex, const std::uint16_t *lods, std::uint16_t count)=0</div><div class="ttdoc">Number of rows per each level of detail for the specified joint group.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a1298ec717057270d5e29a4ce27352345"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a1298ec717057270d5e29a4ce27352345">dna::BehaviorWriter::setBlendShapeChannelInputIndices</a></div><div class="ttdeci">virtual void setBlendShapeChannelInputIndices(const std::uint16_t *inputIndices, std::uint16_t count)=0</div><div class="ttdoc">Input indices used to index into the input vector.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a1587c7656d8010eae73723f5ebcc8df2"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a1587c7656d8010eae73723f5ebcc8df2">dna::BehaviorWriter::setJointGroupOutputIndices</a></div><div class="ttdeci">virtual void setJointGroupOutputIndices(std::uint16_t jointGroupIndex, const std::uint16_t *outputIndices, std::uint16_t count)=0</div><div class="ttdoc">Row indices that the specified joint group contains.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a1b66c9c33eddeb21eae0ad734cecc343"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a1b66c9c33eddeb21eae0ad734cecc343">dna::BehaviorWriter::setAnimatedMapCutValues</a></div><div class="ttdeci">virtual void setAnimatedMapCutValues(const float *cutValues, std::uint16_t count)=0</div><div class="ttdoc">Computational values(vertical intercept) used for calculating the output value.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a220225a3400609ea6ad701d82231fcd2"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a220225a3400609ea6ad701d82231fcd2">dna::BehaviorWriter::setGUIToRawInputIndices</a></div><div class="ttdeci">virtual void setGUIToRawInputIndices(const std::uint16_t *inputIndices, std::uint16_t count)=0</div><div class="ttdoc">Input indices used for mapping gui to raw controls.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a28cb22e4690d1921c71775c939652c80"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a28cb22e4690d1921c71775c939652c80">dna::BehaviorWriter::setJointRowCount</a></div><div class="ttdeci">virtual void setJointRowCount(std::uint16_t rowCount)=0</div><div class="ttdoc">Number of rows in the entire, uncompressed joint matrix.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a318c9585948a1b810d3c175adc612cd3"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a318c9585948a1b810d3c175adc612cd3">dna::BehaviorWriter::setPSDCount</a></div><div class="ttdeci">virtual void setPSDCount(std::uint16_t count)=0</div><div class="ttdoc">The number of distinct PSD expressions.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a4e360d3d0c2a1fe5f5fa500b879e8b27"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a4e360d3d0c2a1fe5f5fa500b879e8b27">dna::BehaviorWriter::setAnimatedMapToValues</a></div><div class="ttdeci">virtual void setAnimatedMapToValues(const float *toValues, std::uint16_t count)=0</div><div class="ttdoc">Filter values(upper-bounds) used to decide whether a particular entry should be evaluated or not.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a5b6f8d09f7e14f2d4aca12b03247fa55"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a5b6f8d09f7e14f2d4aca12b03247fa55">dna::BehaviorWriter::setGUIToRawSlopeValues</a></div><div class="ttdeci">virtual void setGUIToRawSlopeValues(const float *slopeValues, std::uint16_t count)=0</div><div class="ttdoc">Computational values(slope/gradient) used for calculating the output value during gui to raw control ...</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a6b9475d1a888a5e7b61c5a64eb40f2ae"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a6b9475d1a888a5e7b61c5a64eb40f2ae">dna::BehaviorWriter::clearJointGroups</a></div><div class="ttdeci">virtual void clearJointGroups()=0</div><div class="ttdoc">Delete all joint groups.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a76a88fe1ca13c58e88729846c68668c5"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a76a88fe1ca13c58e88729846c68668c5">dna::BehaviorWriter::setAnimatedMapInputIndices</a></div><div class="ttdeci">virtual void setAnimatedMapInputIndices(const std::uint16_t *inputIndices, std::uint16_t count)=0</div><div class="ttdoc">Input indices used to index into the array of input values.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a834af50cb5c8f1567ab474bb4dce9131"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a834af50cb5c8f1567ab474bb4dce9131">dna::BehaviorWriter::setGUIToRawToValues</a></div><div class="ttdeci">virtual void setGUIToRawToValues(const float *toValues, std::uint16_t count)=0</div><div class="ttdoc">Filter values(upper-bounds) used to decide whether a particular entry should be evaluated or not duri...</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a85b0b644ee45dbc4ef4ccc3299c4d43b"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a85b0b644ee45dbc4ef4ccc3299c4d43b">dna::BehaviorWriter::setAnimatedMapSlopeValues</a></div><div class="ttdeci">virtual void setAnimatedMapSlopeValues(const float *slopeValues, std::uint16_t count)=0</div><div class="ttdoc">Computational values(slope/gradient) used for calculating the output value.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a8794fb60023c7135a8e64df33f760ff8"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a8794fb60023c7135a8e64df33f760ff8">dna::BehaviorWriter::setAnimatedMapLODs</a></div><div class="ttdeci">virtual void setAnimatedMapLODs(const std::uint16_t *lods, std::uint16_t count)=0</div><div class="ttdoc">Row count per each level of detail for animated maps.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a8b9013b6c4f7fddc63bc3d540024366a"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a8b9013b6c4f7fddc63bc3d540024366a">dna::BehaviorWriter::setPSDRowIndices</a></div><div class="ttdeci">virtual void setPSDRowIndices(const std::uint16_t *rowIndices, std::uint16_t count)=0</div><div class="ttdoc">PSD(input) indices which will become the rows of the PSD matrix.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a8ff614803260b787dedf6c24f13d5d30"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a8ff614803260b787dedf6c24f13d5d30">dna::BehaviorWriter::setGUIToRawOutputIndices</a></div><div class="ttdeci">virtual void setGUIToRawOutputIndices(const std::uint16_t *outputIndices, std::uint16_t count)=0</div><div class="ttdoc">Output indices used for mapping gui to raw controls.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a9cd33855b41cf50fa38b40dd871f7b9f"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a9cd33855b41cf50fa38b40dd871f7b9f">dna::BehaviorWriter::setJointGroupValues</a></div><div class="ttdeci">virtual void setJointGroupValues(std::uint16_t jointGroupIndex, const float *values, std::uint32_t count)=0</div><div class="ttdoc">Values that the specified joint group contains.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_a9eac4730bc5b2d683f81be7d7abf942a"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#a9eac4730bc5b2d683f81be7d7abf942a">dna::BehaviorWriter::setBlendShapeChannelLODs</a></div><div class="ttdeci">virtual void setBlendShapeChannelLODs(const std::uint16_t *lods, std::uint16_t count)=0</div><div class="ttdoc">Input index count per each level of detail for blend shapes.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_aa8d6031abc7c0b7a262054c7589719e8"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#aa8d6031abc7c0b7a262054c7589719e8">dna::BehaviorWriter::setJointGroupInputIndices</a></div><div class="ttdeci">virtual void setJointGroupInputIndices(std::uint16_t jointGroupIndex, const std::uint16_t *inputIndices, std::uint16_t count)=0</div><div class="ttdoc">Column indices that the specified joint group contains.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_ab0914f0c6d936da871ca3c494f78ae18"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#ab0914f0c6d936da871ca3c494f78ae18">dna::BehaviorWriter::setPSDValues</a></div><div class="ttdeci">virtual void setPSDValues(const float *weights, std::uint16_t count)=0</div><div class="ttdoc">Weights associated with each PSD row and column pair.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_abc4bde60580a3f969b2c31694c5db4a2"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#abc4bde60580a3f969b2c31694c5db4a2">dna::BehaviorWriter::setJointGroupJointIndices</a></div><div class="ttdeci">virtual void setJointGroupJointIndices(std::uint16_t jointGroupIndex, const std::uint16_t *jointIndices, std::uint16_t count)=0</div><div class="ttdoc">Joint indices that the specified joint group contains.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_ac10d5d4766d112140ba61be45bae15c7"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#ac10d5d4766d112140ba61be45bae15c7">dna::BehaviorWriter::setBlendShapeChannelOutputIndices</a></div><div class="ttdeci">virtual void setBlendShapeChannelOutputIndices(const std::uint16_t *outputIndices, std::uint16_t count)=0</div><div class="ttdoc">Output indices specify the positions of blend shape output values.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_ac1300d462f548d4f1711b2d6c4553b99"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#ac1300d462f548d4f1711b2d6c4553b99">dna::BehaviorWriter::setAnimatedMapOutputIndices</a></div><div class="ttdeci">virtual void setAnimatedMapOutputIndices(const std::uint16_t *outputIndices, std::uint16_t count)=0</div><div class="ttdoc">Output indices that specify the computed output value's position.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_ac2c53991d953244d8d8d9cfef3814537"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#ac2c53991d953244d8d8d9cfef3814537">dna::BehaviorWriter::setGUIToRawFromValues</a></div><div class="ttdeci">virtual void setGUIToRawFromValues(const float *fromValues, std::uint16_t count)=0</div><div class="ttdoc">Filter values(lower-bounds) used to decide whether a particular entry should be evaluated or not duri...</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_adba15d24dd5998ea0bb9e16c8043f078"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#adba15d24dd5998ea0bb9e16c8043f078">dna::BehaviorWriter::setGUIToRawCutValues</a></div><div class="ttdeci">virtual void setGUIToRawCutValues(const float *cutValues, std::uint16_t count)=0</div><div class="ttdoc">Computational values(vertical intercept) used for calculating the output value during gui to raw cont...</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_adcc2982bd1e9a7b014904f55382ea7f7"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#adcc2982bd1e9a7b014904f55382ea7f7">dna::BehaviorWriter::setAnimatedMapFromValues</a></div><div class="ttdeci">virtual void setAnimatedMapFromValues(const float *fromValues, std::uint16_t count)=0</div><div class="ttdoc">Filter values(lower-bounds) used to decide whether a particular entry should be evaluated or not.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_ae20b30d9f64ce34affae4c8bb8efa445"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#ae20b30d9f64ce34affae4c8bb8efa445">dna::BehaviorWriter::setJointColumnCount</a></div><div class="ttdeci">virtual void setJointColumnCount(std::uint16_t columnCount)=0</div><div class="ttdoc">Number of columns in the entire, uncompressed joint matrix.</div></div>
<div class="ttc" id="aclassdna_1_1BehaviorWriter_html_ae9c842c529475cd612097967b76bbbdc"><div class="ttname"><a href="classdna_1_1BehaviorWriter.html#ae9c842c529475cd612097967b76bbbdc">dna::BehaviorWriter::setPSDColumnIndices</a></div><div class="ttdeci">virtual void setPSDColumnIndices(const std::uint16_t *columnIndices, std::uint16_t count)=0</div><div class="ttdoc">Control(input) indices which will become the columns of the PSD matrix.</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="classdna_1_1BehaviorWriter.html#a6b9475d1a888a5e7b61c5a64eb40f2ae">dna::BehaviorWriter::clearJointGroups()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a7ab5ba50c829ea9b5ef63495608fbffe">dna::BehaviorReader::getAnimatedMapCutValues()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#af7eb657428d974ccc5c1ae9c2516a772">dna::BehaviorReader::getAnimatedMapFromValues()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a504220b3ead3f11ea5888d208f8055bc">dna::BehaviorReader::getAnimatedMapInputIndices()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a50c651d7e7400e17ff7da31036b5c352">dna::BehaviorReader::getAnimatedMapLODs()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a5ca7158ed4146d09935548ece05b7f94">dna::BehaviorReader::getAnimatedMapOutputIndices()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a59ef8f6885a33b102fb938b7a12da16b">dna::BehaviorReader::getAnimatedMapSlopeValues()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a21057f6c94895629229021b20133c007">dna::BehaviorReader::getAnimatedMapToValues()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#ae34d90ae469e1080ff1cc93d5e1b6cad">dna::BehaviorReader::getBlendShapeChannelInputIndices()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#ad585141fe808b93db5479c8cb21b7e82">dna::BehaviorReader::getBlendShapeChannelLODs()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a2cf4f15450f8589b29e240208748eb3b">dna::BehaviorReader::getBlendShapeChannelOutputIndices()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a68f381f520ebfd68f02020ce8f5b0a69">dna::BehaviorReader::getGUIToRawCutValues()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a4fd0213dcb2856b64280454228729855">dna::BehaviorReader::getGUIToRawFromValues()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a6cf853f5d537e6b8e2634ebf3388b529">dna::BehaviorReader::getGUIToRawInputIndices()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a8e6d36a27afd3a08e565fb0fe55f22b4">dna::BehaviorReader::getGUIToRawOutputIndices()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a05f06e0f08a8f2676f0286300d880d12">dna::BehaviorReader::getGUIToRawSlopeValues()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#abe4d1ce29676b07d805e685199a1ef0c">dna::BehaviorReader::getGUIToRawToValues()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#ad8f0c4104ae71e2cae20de68ca7dac7e">dna::BehaviorReader::getJointColumnCount()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#ac543cf35eccf547b45d37c4c7abd0dc2">dna::BehaviorReader::getJointGroupCount()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a028bfd1ba3ccbf52ef3cd1aedacaabfb">dna::BehaviorReader::getJointGroupInputIndices()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#af2c5860e22023c82b41ad7a36caae3c1">dna::BehaviorReader::getJointGroupJointIndices()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#afe6a30955afbef5d10bb84b1f643bf43">dna::BehaviorReader::getJointGroupLODs()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a81721b4cb25b90c76458f7b42e93db2c">dna::BehaviorReader::getJointGroupOutputIndices()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#add58838dd0bffad6ac9d66887e969e5e">dna::BehaviorReader::getJointGroupValues()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a6121d56124f208317bd3a719a5885da7">dna::BehaviorReader::getJointRowCount()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a35f70e12a860c73d452e27fed9b75f42">dna::BehaviorReader::getPSDColumnIndices()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a651c99df2bd266b16efb83ff1fedac7d">dna::BehaviorReader::getPSDCount()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#a09f89a0f76798571d7f619f19d19787e">dna::BehaviorReader::getPSDRowIndices()</a>, <a class="el" href="classdna_1_1BehaviorReader.html#ab177725a27c3664055a86aa8e9eaae3d">dna::BehaviorReader::getPSDValues()</a>, <a class="el" href="classdna_1_1BehaviorWriter.html#a1b66c9c33eddeb21eae0ad73
<p class="reference">Referenced by <a class="el" href="classdna_1_1Writer.html#a41e7a151c6dab14e702667b9e41e8a85">dna::Writer::setFrom()</a>.</p>
</div>
</div>
<a id="ae53d84a6543f4f423b7dfbfa448c39e5" name="ae53d84a6543f4f423b7dfbfa448c39e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae53d84a6543f4f423b7dfbfa448c39e5">&#9670;&nbsp;</a></span>copyBlendShapeTargets()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void dna::copyBlendShapeTargets </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classdna_1_1GeometryReader.html">GeometryReader</a> *&#160;</td>
<td class="paramname"><em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classdna_1_1GeometryWriter.html">GeometryWriter</a> *&#160;</td>
<td class="paramname"><em>destination</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a> *&#160;</td>
<td class="paramname"><em>memRes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 384</span> {</div>
<div class="line"><span class="lineno"> 385</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespacedna.html#ae6b7eda6633b4e1c6d9a69d97723a1fc">hasBlendShapeTargets</a>(source)) {</div>
<div class="line"><span class="lineno"> 386</span> <span class="comment">// Source DNA was loaded without blend shape targets</span></div>
<div class="line"><span class="lineno"> 387</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 388</span> }</div>
<div class="line"><span class="lineno"> 389</span> </div>
<div class="line"><span class="lineno"> 390</span> <span class="keywordflow">for</span> (std::uint16_t meshIndexPlusOne = source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#a7fa8d1c480f84b2af00902dcb220925e">getMeshCount</a>(); meshIndexPlusOne &gt; 0u; --meshIndexPlusOne) {</div>
<div class="line"><span class="lineno"> 391</span> <span class="keyword">const</span> <span class="keyword">auto</span> meshIndex = <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(meshIndexPlusOne - 1u);</div>
<div class="line"><span class="lineno"> 392</span> <span class="keywordflow">for</span> (std::uint16_t blendShapeTargetIndexPlusOne = source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#a8472e74653f6524839f9e65fe4367483">getBlendShapeTargetCount</a>(meshIndex);</div>
<div class="line"><span class="lineno"> 393</span> blendShapeTargetIndexPlusOne &gt; 0u;</div>
<div class="line"><span class="lineno"> 394</span> --blendShapeTargetIndexPlusOne) {</div>
<div class="line"><span class="lineno"> 395</span> <span class="keyword">const</span> <span class="keyword">auto</span> blendShapeTargetIndex = <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(blendShapeTargetIndexPlusOne - 1u);</div>
<div class="line"><span class="lineno"> 396</span> <span class="keyword">auto</span> channelIndex = source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#abc952534ae05760f7402c265518146fc">getBlendShapeChannelIndex</a>(meshIndex, blendShapeTargetIndex);</div>
<div class="line"><span class="lineno"> 397</span> destination-&gt;<a class="code hl_function" href="classdna_1_1GeometryWriter.html#aa4ee705c45615b3fce8ed96f1b3b0890">setBlendShapeChannelIndex</a>(meshIndex, blendShapeTargetIndex, channelIndex);</div>
<div class="line"><span class="lineno"> 398</span> <span class="keyword">auto</span> deltaCount = source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#a60d6918a9c40666683399a144104369a">getBlendShapeTargetDeltaCount</a>(meshIndex, blendShapeTargetIndex);</div>
<div class="line"><span class="lineno"> 399</span> <span class="keyword">auto</span> deltas = collect_n&lt;Vector3Vector&gt;(deltaCount, [source, meshIndex, blendShapeTargetIndex](std::size_t index) {</div>
<div class="line"><span class="lineno"> 400</span> <span class="keywordflow">return</span> source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#a9e13d6259fce5840f3818c52266f72bd">getBlendShapeTargetDelta</a>(meshIndex, blendShapeTargetIndex,</div>
<div class="line"><span class="lineno"> 401</span> <span class="keyword">static_cast&lt;</span>std::uint32_t<span class="keyword">&gt;</span>(index));</div>
<div class="line"><span class="lineno"> 402</span> }, memRes);</div>
<div class="line"><span class="lineno"> 403</span> destination-&gt;<a class="code hl_function" href="classdna_1_1GeometryWriter.html#a8a1d73319b25b070f0d72c59fdd2e55c">setBlendShapeTargetDeltas</a>(meshIndex, blendShapeTargetIndex, deltas.data(),</div>
<div class="line"><span class="lineno"> 404</span> <span class="keyword">static_cast&lt;</span>std::uint32_t<span class="keyword">&gt;</span>(deltas.size()));</div>
<div class="line"><span class="lineno"> 405</span> </div>
<div class="line"><span class="lineno"> 406</span> <span class="keyword">auto</span> deltasVertices = source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#a635fdc0af9aa1bf681cd7f4b040d2c7d">getBlendShapeTargetVertexIndices</a>(meshIndex, blendShapeTargetIndex);</div>
<div class="line"><span class="lineno"> 407</span> destination-&gt;<a class="code hl_function" href="classdna_1_1GeometryWriter.html#a5f10ae8f75a2f036edb7b9cbcba3ecb5">setBlendShapeTargetVertexIndices</a>(meshIndex, blendShapeTargetIndex, deltasVertices.data(),</div>
<div class="line"><span class="lineno"> 408</span> <span class="keyword">static_cast&lt;</span>std::uint32_t<span class="keyword">&gt;</span>(deltasVertices.size()));</div>
<div class="line"><span class="lineno"> 409</span> }</div>
<div class="line"><span class="lineno"> 410</span> }</div>
<div class="line"><span class="lineno"> 411</span>}</div>
<div class="ttc" id="aclassdna_1_1DefinitionReader_html_a7fa8d1c480f84b2af00902dcb220925e"><div class="ttname"><a href="classdna_1_1DefinitionReader.html#a7fa8d1c480f84b2af00902dcb220925e">dna::DefinitionReader::getMeshCount</a></div><div class="ttdeci">virtual std::uint16_t getMeshCount() const =0</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_a60d6918a9c40666683399a144104369a"><div class="ttname"><a href="classdna_1_1GeometryReader.html#a60d6918a9c40666683399a144104369a">dna::GeometryReader::getBlendShapeTargetDeltaCount</a></div><div class="ttdeci">virtual std::uint32_t getBlendShapeTargetDeltaCount(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex) const =0</div><div class="ttdoc">Number of deltas that belong to the specified blend shape.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_a635fdc0af9aa1bf681cd7f4b040d2c7d"><div class="ttname"><a href="classdna_1_1GeometryReader.html#a635fdc0af9aa1bf681cd7f4b040d2c7d">dna::GeometryReader::getBlendShapeTargetVertexIndices</a></div><div class="ttdeci">virtual ConstArrayView&lt; std::uint32_t &gt; getBlendShapeTargetVertexIndices(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex) const =0</div><div class="ttdoc">Vertex position indices affected by the referenced blend shape target.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_a8472e74653f6524839f9e65fe4367483"><div class="ttname"><a href="classdna_1_1GeometryReader.html#a8472e74653f6524839f9e65fe4367483">dna::GeometryReader::getBlendShapeTargetCount</a></div><div class="ttdeci">virtual std::uint16_t getBlendShapeTargetCount(std::uint16_t meshIndex) const =0</div><div class="ttdoc">Number of blend shapes that belong to the specified mesh.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_a9e13d6259fce5840f3818c52266f72bd"><div class="ttname"><a href="classdna_1_1GeometryReader.html#a9e13d6259fce5840f3818c52266f72bd">dna::GeometryReader::getBlendShapeTargetDelta</a></div><div class="ttdeci">virtual Delta getBlendShapeTargetDelta(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, std::uint32_t deltaIndex) const =0</div><div class="ttdoc">List of deltas for each affected vertex.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_abc952534ae05760f7402c265518146fc"><div class="ttname"><a href="classdna_1_1GeometryReader.html#abc952534ae05760f7402c265518146fc">dna::GeometryReader::getBlendShapeChannelIndex</a></div><div class="ttdeci">virtual std::uint16_t getBlendShapeChannelIndex(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex) const =0</div><div class="ttdoc">The matching blend shape channel index of the requested blend shape target.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryWriter_html_a5f10ae8f75a2f036edb7b9cbcba3ecb5"><div class="ttname"><a href="classdna_1_1GeometryWriter.html#a5f10ae8f75a2f036edb7b9cbcba3ecb5">dna::GeometryWriter::setBlendShapeTargetVertexIndices</a></div><div class="ttdeci">virtual void setBlendShapeTargetVertexIndices(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, const std::uint32_t *vertexIndices, std::uint32_t count)=0</div><div class="ttdoc">Vertex position indices affected by the specified blend shape target.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryWriter_html_a8a1d73319b25b070f0d72c59fdd2e55c"><div class="ttname"><a href="classdna_1_1GeometryWriter.html#a8a1d73319b25b070f0d72c59fdd2e55c">dna::GeometryWriter::setBlendShapeTargetDeltas</a></div><div class="ttdeci">virtual void setBlendShapeTargetDeltas(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, const Delta *deltas, std::uint32_t count)=0</div><div class="ttdoc">List of deltas for each affected vertex.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryWriter_html_aa4ee705c45615b3fce8ed96f1b3b0890"><div class="ttname"><a href="classdna_1_1GeometryWriter.html#aa4ee705c45615b3fce8ed96f1b3b0890">dna::GeometryWriter::setBlendShapeChannelIndex</a></div><div class="ttdeci">virtual void setBlendShapeChannelIndex(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, std::uint16_t blendShapeChannelIndex)=0</div><div class="ttdoc">The matching blend shape channel index of the specified blend shape target.</div></div>
<div class="ttc" id="anamespacedna_html_ae6b7eda6633b4e1c6d9a69d97723a1fc"><div class="ttname"><a href="namespacedna.html#ae6b7eda6633b4e1c6d9a69d97723a1fc">dna::hasBlendShapeTargets</a></div><div class="ttdeci">static bool hasBlendShapeTargets(const GeometryReader *source)</div><div class="ttdef"><b>Definition:</b> Writer.cpp:374</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="classdna_1_1GeometryReader.html#abc952534ae05760f7402c265518146fc">dna::GeometryReader::getBlendShapeChannelIndex()</a>, <a class="el" href="classdna_1_1GeometryReader.html#a8472e74653f6524839f9e65fe4367483">dna::GeometryReader::getBlendShapeTargetCount()</a>, <a class="el" href="classdna_1_1GeometryReader.html#a9e13d6259fce5840f3818c52266f72bd">dna::GeometryReader::getBlendShapeTargetDelta()</a>, <a class="el" href="classdna_1_1GeometryReader.html#a60d6918a9c40666683399a144104369a">dna::GeometryReader::getBlendShapeTargetDeltaCount()</a>, <a class="el" href="classdna_1_1GeometryReader.html#a635fdc0af9aa1bf681cd7f4b040d2c7d">dna::GeometryReader::getBlendShapeTargetVertexIndices()</a>, <a class="el" href="classdna_1_1DefinitionReader.html#a7fa8d1c480f84b2af00902dcb220925e">dna::DefinitionReader::getMeshCount()</a>, <a class="el" href="namespacedna.html#ae6b7eda6633b4e1c6d9a69d97723a1fc">hasBlendShapeTargets()</a>, <a class="el" href="classdna_1_1GeometryWriter.html#aa4ee705c45615b3fce8ed96f1b3b0890">dna::GeometryWriter::setBlendShapeChannelIndex()</a>, <a class="el" href="classdna_1_1GeometryWriter.html#a8a1d73319b25b070f0d72c59fdd2e55c">dna::GeometryWriter::setBlendShapeTargetDeltas()</a>, and <a class="el" href="classdna_1_1GeometryWriter.html#a5f10ae8f75a2f036edb7b9cbcba3ecb5">dna::GeometryWriter::setBlendShapeTargetVertexIndices()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classdna_1_1Writer.html#a41e7a151c6dab14e702667b9e41e8a85">dna::Writer::setFrom()</a>.</p>
</div>
</div>
<a id="a16f3f0150d5c559e35eda9ee663b38fb" name="a16f3f0150d5c559e35eda9ee663b38fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16f3f0150d5c559e35eda9ee663b38fb">&#9670;&nbsp;</a></span>copyDefinition()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void dna::copyDefinition </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classdna_1_1DefinitionReader.html">DefinitionReader</a> *&#160;</td>
<td class="paramname"><em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classdna_1_1DefinitionWriter.html">DefinitionWriter</a> *&#160;</td>
<td class="paramname"><em>destination</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a> *&#160;</td>
<td class="paramname"><em>memRes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 105</span> {</div>
<div class="line"><span class="lineno"> 106</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#a51ec75c1d95e3f6b11e76a63bff7830a">clearGUIControlNames</a>();</div>
<div class="line"><span class="lineno"> 107</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#abc7053615464e121b86bb6c3c3605398">clearRawControlNames</a>();</div>
<div class="line"><span class="lineno"> 108</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#a623e9d447ff61291f0c4eebb2a52161d">clearJointNames</a>();</div>
<div class="line"><span class="lineno"> 109</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#aa69021d1daa96e5dc6c664a4a4d5b6f1">clearBlendShapeChannelNames</a>();</div>
<div class="line"><span class="lineno"> 110</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#afab13f64abd3b2600cbb33f513c6e4bb">clearAnimatedMapNames</a>();</div>
<div class="line"><span class="lineno"> 111</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#a12aa23a21232da2ffaa51e4dc6748bb8">clearMeshNames</a>();</div>
<div class="line"><span class="lineno"> 112</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#af5678ae2507289472d3bf7db42cf5737">clearJointIndices</a>();</div>
<div class="line"><span class="lineno"> 113</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#ada594e28662c8743180659e88666de30">clearLODJointMappings</a>();</div>
<div class="line"><span class="lineno"> 114</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#a7ccdfa0345f7789514a8dbb77fd9d6bf">clearBlendShapeChannelIndices</a>();</div>
<div class="line"><span class="lineno"> 115</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#a2fa5d2b6c9fb5725cc0bba2ea7c5b1ab">clearLODBlendShapeChannelMappings</a>();</div>
<div class="line"><span class="lineno"> 116</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#a833ddf3aa21ae018e73923a9c17e8f6c">clearAnimatedMapIndices</a>();</div>
<div class="line"><span class="lineno"> 117</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#ae88b611a59fdfadfef3fef6316bf7e0f">clearLODAnimatedMapMappings</a>();</div>
<div class="line"><span class="lineno"> 118</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#aa4875b5153d765696a6693add5dd0c46">clearMeshIndices</a>();</div>
<div class="line"><span class="lineno"> 119</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#a4e8476c54bee8764db7e22f2d813c5e0">clearLODMeshMappings</a>();</div>
<div class="line"><span class="lineno"> 120</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#a0df6e5029b789fd4a14208d1416cd246">clearMeshBlendShapeChannelMappings</a>();</div>
<div class="line"><span class="lineno"> 121</span> </div>
<div class="line"><span class="lineno"> 122</span> <span class="keyword">const</span> <span class="keyword">auto</span> lodCount = source-&gt;<a class="code hl_function" href="classdna_1_1DescriptorReader.html#a5049f3e40b919fd15476ff24ea46ec32">getLODCount</a>();</div>
<div class="line"><span class="lineno"> 123</span> </div>
<div class="line"><span class="lineno"> 124</span> <span class="keywordflow">for</span> (std::uint16_t i = source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#a70c2f16889d2aa1f6c55ffaed75aa8d7">getGUIControlCount</a>(); i &gt; 0u; --i) {</div>
<div class="line"><span class="lineno"> 125</span> <span class="keyword">const</span> <span class="keyword">auto</span> idx = <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(i - 1u);</div>
<div class="line"><span class="lineno"> 126</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#acbe167777c421076e740f9e775f1ca52">setGUIControlName</a>(idx, source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#acc5b028b9f5d8d936b6d99682906c8b1">getGUIControlName</a>(idx).<a class="code hl_function" href="classtrust_1_1ArrayView.html#a90e50dd55c347dadd8863e21696e6f64">data</a>());</div>
<div class="line"><span class="lineno"> 127</span> }</div>
<div class="line"><span class="lineno"> 128</span> <span class="keywordflow">for</span> (std::uint16_t i = source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#a0a8fa3d33f47640520f5cc676788470e">getRawControlCount</a>(); i &gt; 0u; --i) {</div>
<div class="line"><span class="lineno"> 129</span> <span class="keyword">const</span> <span class="keyword">auto</span> idx = <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(i - 1u);</div>
<div class="line"><span class="lineno"> 130</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#a603d4b1155e298fc240c991c51a35057">setRawControlName</a>(idx, source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#a4c39e828758f6249408fca4fbc4b89c0">getRawControlName</a>(idx).<a class="code hl_function" href="classtrust_1_1ArrayView.html#a90e50dd55c347dadd8863e21696e6f64">data</a>());</div>
<div class="line"><span class="lineno"> 131</span> }</div>
<div class="line"><span class="lineno"> 132</span> <span class="keywordflow">for</span> (std::uint16_t i = source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#acb077a6f51c59fcfc8a2e6dd2de6cf2e">getJointCount</a>(); i &gt; 0u; --i) {</div>
<div class="line"><span class="lineno"> 133</span> <span class="keyword">const</span> <span class="keyword">auto</span> idx = <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(i - 1u);</div>
<div class="line"><span class="lineno"> 134</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#aaece7b99c2c0a9a91667920dc7ee489b">setJointName</a>(idx, source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#aed66db160f6517e3ec4fda3f3e124c45">getJointName</a>(idx).<a class="code hl_function" href="classtrust_1_1ArrayView.html#a90e50dd55c347dadd8863e21696e6f64">data</a>());</div>
<div class="line"><span class="lineno"> 135</span> }</div>
<div class="line"><span class="lineno"> 136</span> <span class="keywordflow">for</span> (std::uint16_t i = source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#abbfe6ca7c250868c9b5690c9e6dd73f2">getBlendShapeChannelCount</a>(); i &gt; 0u; --i) {</div>
<div class="line"><span class="lineno"> 137</span> <span class="keyword">const</span> <span class="keyword">auto</span> idx = <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(i - 1u);</div>
<div class="line"><span class="lineno"> 138</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#a16e68f1b1ec7a84ca03764c16a114b89">setBlendShapeChannelName</a>(idx, source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#a9162ea692bf3c45f65b7a569d5061623">getBlendShapeChannelName</a>(idx).<a class="code hl_function" href="classtrust_1_1ArrayView.html#a90e50dd55c347dadd8863e21696e6f64">data</a>());</div>
<div class="line"><span class="lineno"> 139</span> }</div>
<div class="line"><span class="lineno"> 140</span> <span class="keywordflow">for</span> (std::uint16_t i = source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#a817e01dd0c8c013ddeb87200a77f444e">getAnimatedMapCount</a>(); i &gt; 0u; --i) {</div>
<div class="line"><span class="lineno"> 141</span> <span class="keyword">const</span> <span class="keyword">auto</span> idx = <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(i - 1u);</div>
<div class="line"><span class="lineno"> 142</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#a952b9e26982e07b7cff4118cb7e4b3d9">setAnimatedMapName</a>(idx, source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#a057aa04a10d076a1569995339d95533d">getAnimatedMapName</a>(idx));</div>
<div class="line"><span class="lineno"> 143</span> }</div>
<div class="line"><span class="lineno"> 144</span> <span class="keywordflow">for</span> (std::uint16_t i = source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#a7fa8d1c480f84b2af00902dcb220925e">getMeshCount</a>(); i &gt; 0u; --i) {</div>
<div class="line"><span class="lineno"> 145</span> <span class="keyword">const</span> <span class="keyword">auto</span> idx = <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(i - 1u);</div>
<div class="line"><span class="lineno"> 146</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#a3a04e9932ae29728b79d6fe38b86755f">setMeshName</a>(idx, source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#a10353a0640d78d4ede523391293b9b30">getMeshName</a>(idx).<a class="code hl_function" href="classtrust_1_1ArrayView.html#a90e50dd55c347dadd8863e21696e6f64">data</a>());</div>
<div class="line"><span class="lineno"> 147</span> }</div>
<div class="line"><span class="lineno"> 148</span> </div>
<div class="line"><span class="lineno"> 149</span> <span class="keyword">using namespace </span>std::placeholders;</div>
<div class="line"><span class="lineno"> 150</span> <a class="code hl_function" href="namespacedna.html#a2f45e075b5acc7b36f4d4de005c09f4d">copyNameIndices</a>(</div>
<div class="line"><span class="lineno"> 151</span> std::bind(&amp;DefinitionReader::getJointIndicesForLOD, source, _1),</div>
<div class="line"><span class="lineno"> 152</span> std::bind(&amp;DefinitionWriter::setJointIndices, destination, _1, _2, _3),</div>
<div class="line"><span class="lineno"> 153</span> std::bind(&amp;DefinitionWriter::setLODJointMapping, destination, _1, _2),</div>
<div class="line"><span class="lineno"> 154</span> lodCount,</div>
<div class="line"><span class="lineno"> 155</span> memRes);</div>
<div class="line"><span class="lineno"> 156</span> <a class="code hl_function" href="namespacedna.html#a2f45e075b5acc7b36f4d4de005c09f4d">copyNameIndices</a>(</div>
<div class="line"><span class="lineno"> 157</span> std::bind(&amp;DefinitionReader::getBlendShapeChannelIndicesForLOD, source, _1),</div>
<div class="line"><span class="lineno"> 158</span> std::bind(&amp;DefinitionWriter::setBlendShapeChannelIndices, destination, _1, _2, _3),</div>
<div class="line"><span class="lineno"> 159</span> std::bind(&amp;DefinitionWriter::setLODBlendShapeChannelMapping, destination, _1, _2),</div>
<div class="line"><span class="lineno"> 160</span> lodCount,</div>
<div class="line"><span class="lineno"> 161</span> memRes);</div>
<div class="line"><span class="lineno"> 162</span> <a class="code hl_function" href="namespacedna.html#a2f45e075b5acc7b36f4d4de005c09f4d">copyNameIndices</a>(</div>
<div class="line"><span class="lineno"> 163</span> std::bind(&amp;DefinitionReader::getAnimatedMapIndicesForLOD, source, _1),</div>
<div class="line"><span class="lineno"> 164</span> std::bind(&amp;DefinitionWriter::setAnimatedMapIndices, destination, _1, _2, _3),</div>
<div class="line"><span class="lineno"> 165</span> std::bind(&amp;DefinitionWriter::setLODAnimatedMapMapping, destination, _1, _2),</div>
<div class="line"><span class="lineno"> 166</span> lodCount,</div>
<div class="line"><span class="lineno"> 167</span> memRes);</div>
<div class="line"><span class="lineno"> 168</span> <a class="code hl_function" href="namespacedna.html#a2f45e075b5acc7b36f4d4de005c09f4d">copyNameIndices</a>(</div>
<div class="line"><span class="lineno"> 169</span> std::bind(&amp;DefinitionReader::getMeshIndicesForLOD, source, _1),</div>
<div class="line"><span class="lineno"> 170</span> std::bind(&amp;DefinitionWriter::setMeshIndices, destination, _1, _2, _3),</div>
<div class="line"><span class="lineno"> 171</span> std::bind(&amp;DefinitionWriter::setLODMeshMapping, destination, _1, _2),</div>
<div class="line"><span class="lineno"> 172</span> lodCount,</div>
<div class="line"><span class="lineno"> 173</span> memRes);</div>
<div class="line"><span class="lineno"> 174</span> </div>
<div class="line"><span class="lineno"> 175</span> Vector&lt;std::uint16_t&gt; jointHierarchy{memRes};</div>
<div class="line"><span class="lineno"> 176</span> jointHierarchy.reserve(source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#acb077a6f51c59fcfc8a2e6dd2de6cf2e">getJointCount</a>());</div>
<div class="line"><span class="lineno"> 177</span> <span class="keywordflow">for</span> (std::uint16_t i = 0u; i &lt; source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#acb077a6f51c59fcfc8a2e6dd2de6cf2e">getJointCount</a>(); ++i) {</div>
<div class="line"><span class="lineno"> 178</span> jointHierarchy.push_back(source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#a82bfc19b2253282dd790133139d82019">getJointParentIndex</a>(i));</div>
<div class="line"><span class="lineno"> 179</span> }</div>
<div class="line"><span class="lineno"> 180</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#a69035647abcca8cad52431ca759fc96d">setJointHierarchy</a>(jointHierarchy.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(jointHierarchy.size()));</div>
<div class="line"><span class="lineno"> 181</span> </div>
<div class="line"><span class="lineno"> 182</span> <span class="keywordflow">for</span> (std::uint16_t i = 0u; i &lt; source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#aa653c8e3f7fa43344f2855eba8ef91c6">getMeshBlendShapeChannelMappingCount</a>(); ++i) {</div>
<div class="line"><span class="lineno"> 183</span> <span class="keyword">auto</span> mapping = source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#a391df62515b035a3a53dea3f6a31a0a5">getMeshBlendShapeChannelMapping</a>(i);</div>
<div class="line"><span class="lineno"> 184</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#a2af79d245c8106f3d9d893033355826d">setMeshBlendShapeChannelMapping</a>(i, mapping.meshIndex, mapping.blendShapeChannelIndex);</div>
<div class="line"><span class="lineno"> 185</span> }</div>
<div class="line"><span class="lineno"> 186</span> </div>
<div class="line"><span class="lineno"> 187</span> <span class="keyword">auto</span> jointCount = source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#acb077a6f51c59fcfc8a2e6dd2de6cf2e">getJointCount</a>();</div>
<div class="line"><span class="lineno"> 188</span> </div>
<div class="line"><span class="lineno"> 189</span> <span class="keyword">auto</span> translations = collect_n&lt;Vector3Vector&gt;(jointCount, [source](std::size_t index) {</div>
<div class="line"><span class="lineno"> 190</span> <span class="keywordflow">return</span> source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#ac77468257dabbf2e1376c6a932fe6a51">getNeutralJointTranslation</a>(<span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(index));</div>
<div class="line"><span class="lineno"> 191</span> }, memRes);</div>
<div class="line"><span class="lineno"> 192</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#af64d1d8956f3d0cd3165dae9df275c41">setNeutralJointTranslations</a>(translations.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(translations.size()));</div>
<div class="line"><span class="lineno"> 193</span> </div>
<div class="line"><span class="lineno"> 194</span> <span class="keyword">auto</span> rotations = collect_n&lt;Vector3Vector&gt;(jointCount, [source](std::size_t index) {</div>
<div class="line"><span class="lineno"> 195</span> <span class="keywordflow">return</span> source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#a1779ee479199ca32799e8b93fb15bb18">getNeutralJointRotation</a>(<span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(index));</div>
<div class="line"><span class="lineno"> 196</span> }, memRes);</div>
<div class="line"><span class="lineno"> 197</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DefinitionWriter.html#a487bb27204d18dc9f120a3c18cd1539b">setNeutralJointRotations</a>(rotations.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(rotations.size()));</div>
<div class="line"><span class="lineno"> 198</span>}</div>
<div class="ttc" id="aclassdna_1_1DefinitionReader_html_a057aa04a10d076a1569995339d95533d"><div class="ttname"><a href="classdna_1_1DefinitionReader.html#a057aa04a10d076a1569995339d95533d">dna::DefinitionReader::getAnimatedMapName</a></div><div class="ttdeci">virtual StringView getAnimatedMapName(std::uint16_t index) const =0</div><div class="ttdoc">Name of the requested animated map.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionReader_html_a0a8fa3d33f47640520f5cc676788470e"><div class="ttname"><a href="classdna_1_1DefinitionReader.html#a0a8fa3d33f47640520f5cc676788470e">dna::DefinitionReader::getRawControlCount</a></div><div class="ttdeci">virtual std::uint16_t getRawControlCount() const =0</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionReader_html_a10353a0640d78d4ede523391293b9b30"><div class="ttname"><a href="classdna_1_1DefinitionReader.html#a10353a0640d78d4ede523391293b9b30">dna::DefinitionReader::getMeshName</a></div><div class="ttdeci">virtual StringView getMeshName(std::uint16_t index) const =0</div><div class="ttdoc">Name of the requested mesh.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionReader_html_a1779ee479199ca32799e8b93fb15bb18"><div class="ttname"><a href="classdna_1_1DefinitionReader.html#a1779ee479199ca32799e8b93fb15bb18">dna::DefinitionReader::getNeutralJointRotation</a></div><div class="ttdeci">virtual Vector3 getNeutralJointRotation(std::uint16_t index) const =0</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionReader_html_a391df62515b035a3a53dea3f6a31a0a5"><div class="ttname"><a href="classdna_1_1DefinitionReader.html#a391df62515b035a3a53dea3f6a31a0a5">dna::DefinitionReader::getMeshBlendShapeChannelMapping</a></div><div class="ttdeci">virtual MeshBlendShapeChannelMapping getMeshBlendShapeChannelMapping(std::uint16_t index) const =0</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionReader_html_a4c39e828758f6249408fca4fbc4b89c0"><div class="ttname"><a href="classdna_1_1DefinitionReader.html#a4c39e828758f6249408fca4fbc4b89c0">dna::DefinitionReader::getRawControlName</a></div><div class="ttdeci">virtual StringView getRawControlName(std::uint16_t index) const =0</div><div class="ttdoc">Name of the requested raw control.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionReader_html_a70c2f16889d2aa1f6c55ffaed75aa8d7"><div class="ttname"><a href="classdna_1_1DefinitionReader.html#a70c2f16889d2aa1f6c55ffaed75aa8d7">dna::DefinitionReader::getGUIControlCount</a></div><div class="ttdeci">virtual std::uint16_t getGUIControlCount() const =0</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionReader_html_a817e01dd0c8c013ddeb87200a77f444e"><div class="ttname"><a href="classdna_1_1DefinitionReader.html#a817e01dd0c8c013ddeb87200a77f444e">dna::DefinitionReader::getAnimatedMapCount</a></div><div class="ttdeci">virtual std::uint16_t getAnimatedMapCount() const =0</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionReader_html_a82bfc19b2253282dd790133139d82019"><div class="ttname"><a href="classdna_1_1DefinitionReader.html#a82bfc19b2253282dd790133139d82019">dna::DefinitionReader::getJointParentIndex</a></div><div class="ttdeci">virtual std::uint16_t getJointParentIndex(std::uint16_t index) const =0</div><div class="ttdoc">Index of the requested joint's parent.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionReader_html_a9162ea692bf3c45f65b7a569d5061623"><div class="ttname"><a href="classdna_1_1DefinitionReader.html#a9162ea692bf3c45f65b7a569d5061623">dna::DefinitionReader::getBlendShapeChannelName</a></div><div class="ttdeci">virtual StringView getBlendShapeChannelName(std::uint16_t index) const =0</div><div class="ttdoc">Name of the requested blend shape channel.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionReader_html_aa653c8e3f7fa43344f2855eba8ef91c6"><div class="ttname"><a href="classdna_1_1DefinitionReader.html#aa653c8e3f7fa43344f2855eba8ef91c6">dna::DefinitionReader::getMeshBlendShapeChannelMappingCount</a></div><div class="ttdeci">virtual std::uint16_t getMeshBlendShapeChannelMappingCount() const =0</div><div class="ttdoc">Number of mesh-blend shape channel mapping items.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionReader_html_abbfe6ca7c250868c9b5690c9e6dd73f2"><div class="ttname"><a href="classdna_1_1DefinitionReader.html#abbfe6ca7c250868c9b5690c9e6dd73f2">dna::DefinitionReader::getBlendShapeChannelCount</a></div><div class="ttdeci">virtual std::uint16_t getBlendShapeChannelCount() const =0</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionReader_html_ac77468257dabbf2e1376c6a932fe6a51"><div class="ttname"><a href="classdna_1_1DefinitionReader.html#ac77468257dabbf2e1376c6a932fe6a51">dna::DefinitionReader::getNeutralJointTranslation</a></div><div class="ttdeci">virtual Vector3 getNeutralJointTranslation(std::uint16_t index) const =0</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionReader_html_acb077a6f51c59fcfc8a2e6dd2de6cf2e"><div class="ttname"><a href="classdna_1_1DefinitionReader.html#acb077a6f51c59fcfc8a2e6dd2de6cf2e">dna::DefinitionReader::getJointCount</a></div><div class="ttdeci">virtual std::uint16_t getJointCount() const =0</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionReader_html_acc5b028b9f5d8d936b6d99682906c8b1"><div class="ttname"><a href="classdna_1_1DefinitionReader.html#acc5b028b9f5d8d936b6d99682906c8b1">dna::DefinitionReader::getGUIControlName</a></div><div class="ttdeci">virtual StringView getGUIControlName(std::uint16_t index) const =0</div><div class="ttdoc">Name of the requested GUI control.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionReader_html_aed66db160f6517e3ec4fda3f3e124c45"><div class="ttname"><a href="classdna_1_1DefinitionReader.html#aed66db160f6517e3ec4fda3f3e124c45">dna::DefinitionReader::getJointName</a></div><div class="ttdeci">virtual StringView getJointName(std::uint16_t index) const =0</div><div class="ttdoc">Name of the requested joint.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_a0df6e5029b789fd4a14208d1416cd246"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#a0df6e5029b789fd4a14208d1416cd246">dna::DefinitionWriter::clearMeshBlendShapeChannelMappings</a></div><div class="ttdeci">virtual void clearMeshBlendShapeChannelMappings()=0</div><div class="ttdoc">Delete all stored mesh to blend shape channel mapping entries.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_a12aa23a21232da2ffaa51e4dc6748bb8"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#a12aa23a21232da2ffaa51e4dc6748bb8">dna::DefinitionWriter::clearMeshNames</a></div><div class="ttdeci">virtual void clearMeshNames()=0</div><div class="ttdoc">Delete all stored mesh names.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_a16e68f1b1ec7a84ca03764c16a114b89"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#a16e68f1b1ec7a84ca03764c16a114b89">dna::DefinitionWriter::setBlendShapeChannelName</a></div><div class="ttdeci">virtual void setBlendShapeChannelName(std::uint16_t index, const char *name)=0</div><div class="ttdoc">Name of the specified blend shape channel.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_a2af79d245c8106f3d9d893033355826d"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#a2af79d245c8106f3d9d893033355826d">dna::DefinitionWriter::setMeshBlendShapeChannelMapping</a></div><div class="ttdeci">virtual void setMeshBlendShapeChannelMapping(std::uint32_t index, std::uint16_t meshIndex, std::uint16_t blendShapeChannelIndex)=0</div><div class="ttdoc">Associate a blend shape channel with it's mesh.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_a2fa5d2b6c9fb5725cc0bba2ea7c5b1ab"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#a2fa5d2b6c9fb5725cc0bba2ea7c5b1ab">dna::DefinitionWriter::clearLODBlendShapeChannelMappings</a></div><div class="ttdeci">virtual void clearLODBlendShapeChannelMappings()=0</div><div class="ttdoc">Delete all stored LOD to blend shape channel list index mapping entries.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_a3a04e9932ae29728b79d6fe38b86755f"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#a3a04e9932ae29728b79d6fe38b86755f">dna::DefinitionWriter::setMeshName</a></div><div class="ttdeci">virtual void setMeshName(std::uint16_t index, const char *name)=0</div><div class="ttdoc">Name of the specified mesh.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_a487bb27204d18dc9f120a3c18cd1539b"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#a487bb27204d18dc9f120a3c18cd1539b">dna::DefinitionWriter::setNeutralJointRotations</a></div><div class="ttdeci">virtual void setNeutralJointRotations(const Vector3 *rotations, std::uint16_t count)=0</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_a4e8476c54bee8764db7e22f2d813c5e0"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#a4e8476c54bee8764db7e22f2d813c5e0">dna::DefinitionWriter::clearLODMeshMappings</a></div><div class="ttdeci">virtual void clearLODMeshMappings()=0</div><div class="ttdoc">Delete all stored LOD to mesh list index mapping entries.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_a51ec75c1d95e3f6b11e76a63bff7830a"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#a51ec75c1d95e3f6b11e76a63bff7830a">dna::DefinitionWriter::clearGUIControlNames</a></div><div class="ttdeci">virtual void clearGUIControlNames()=0</div><div class="ttdoc">Delete all stored GUI control names.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_a603d4b1155e298fc240c991c51a35057"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#a603d4b1155e298fc240c991c51a35057">dna::DefinitionWriter::setRawControlName</a></div><div class="ttdeci">virtual void setRawControlName(std::uint16_t index, const char *name)=0</div><div class="ttdoc">Name of the specified raw control.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_a623e9d447ff61291f0c4eebb2a52161d"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#a623e9d447ff61291f0c4eebb2a52161d">dna::DefinitionWriter::clearJointNames</a></div><div class="ttdeci">virtual void clearJointNames()=0</div><div class="ttdoc">Delete all stored joint names.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_a69035647abcca8cad52431ca759fc96d"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#a69035647abcca8cad52431ca759fc96d">dna::DefinitionWriter::setJointHierarchy</a></div><div class="ttdeci">virtual void setJointHierarchy(const std::uint16_t *jointIndices, std::uint16_t count)=0</div><div class="ttdoc">A simple array describing the parent-child relationships between joints.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_a7ccdfa0345f7789514a8dbb77fd9d6bf"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#a7ccdfa0345f7789514a8dbb77fd9d6bf">dna::DefinitionWriter::clearBlendShapeChannelIndices</a></div><div class="ttdeci">virtual void clearBlendShapeChannelIndices()=0</div><div class="ttdoc">Delete all stored blend shape channel indices.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_a833ddf3aa21ae018e73923a9c17e8f6c"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#a833ddf3aa21ae018e73923a9c17e8f6c">dna::DefinitionWriter::clearAnimatedMapIndices</a></div><div class="ttdeci">virtual void clearAnimatedMapIndices()=0</div><div class="ttdoc">Delete all stored animated map indices.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_a952b9e26982e07b7cff4118cb7e4b3d9"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#a952b9e26982e07b7cff4118cb7e4b3d9">dna::DefinitionWriter::setAnimatedMapName</a></div><div class="ttdeci">virtual void setAnimatedMapName(std::uint16_t index, const char *name)=0</div><div class="ttdoc">Name of the specified animated map.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_aa4875b5153d765696a6693add5dd0c46"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#aa4875b5153d765696a6693add5dd0c46">dna::DefinitionWriter::clearMeshIndices</a></div><div class="ttdeci">virtual void clearMeshIndices()=0</div><div class="ttdoc">Delete all stored mesh indices.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_aa69021d1daa96e5dc6c664a4a4d5b6f1"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#aa69021d1daa96e5dc6c664a4a4d5b6f1">dna::DefinitionWriter::clearBlendShapeChannelNames</a></div><div class="ttdeci">virtual void clearBlendShapeChannelNames()=0</div><div class="ttdoc">Delete all stored blend shape channel names.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_aaece7b99c2c0a9a91667920dc7ee489b"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#aaece7b99c2c0a9a91667920dc7ee489b">dna::DefinitionWriter::setJointName</a></div><div class="ttdeci">virtual void setJointName(std::uint16_t index, const char *name)=0</div><div class="ttdoc">Name of the specified joint.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_abc7053615464e121b86bb6c3c3605398"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#abc7053615464e121b86bb6c3c3605398">dna::DefinitionWriter::clearRawControlNames</a></div><div class="ttdeci">virtual void clearRawControlNames()=0</div><div class="ttdoc">Delete all stored raw control names.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_acbe167777c421076e740f9e775f1ca52"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#acbe167777c421076e740f9e775f1ca52">dna::DefinitionWriter::setGUIControlName</a></div><div class="ttdeci">virtual void setGUIControlName(std::uint16_t index, const char *name)=0</div><div class="ttdoc">Name of the specified GUI control.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_ada594e28662c8743180659e88666de30"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#ada594e28662c8743180659e88666de30">dna::DefinitionWriter::clearLODJointMappings</a></div><div class="ttdeci">virtual void clearLODJointMappings()=0</div><div class="ttdoc">Delete all stored LOD to joint list index mapping entries.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_ae88b611a59fdfadfef3fef6316bf7e0f"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#ae88b611a59fdfadfef3fef6316bf7e0f">dna::DefinitionWriter::clearLODAnimatedMapMappings</a></div><div class="ttdeci">virtual void clearLODAnimatedMapMappings()=0</div><div class="ttdoc">Delete all stored LOD to animated map list index mapping entries.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_af5678ae2507289472d3bf7db42cf5737"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#af5678ae2507289472d3bf7db42cf5737">dna::DefinitionWriter::clearJointIndices</a></div><div class="ttdeci">virtual void clearJointIndices()=0</div><div class="ttdoc">Delete all stored joint indices.</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_af64d1d8956f3d0cd3165dae9df275c41"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#af64d1d8956f3d0cd3165dae9df275c41">dna::DefinitionWriter::setNeutralJointTranslations</a></div><div class="ttdeci">virtual void setNeutralJointTranslations(const Vector3 *translations, std::uint16_t count)=0</div></div>
<div class="ttc" id="aclassdna_1_1DefinitionWriter_html_afab13f64abd3b2600cbb33f513c6e4bb"><div class="ttname"><a href="classdna_1_1DefinitionWriter.html#afab13f64abd3b2600cbb33f513c6e4bb">dna::DefinitionWriter::clearAnimatedMapNames</a></div><div class="ttdeci">virtual void clearAnimatedMapNames()=0</div><div class="ttdoc">Delete all stored animated map names.</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorReader_html_a5049f3e40b919fd15476ff24ea46ec32"><div class="ttname"><a href="classdna_1_1DescriptorReader.html#a5049f3e40b919fd15476ff24ea46ec32">dna::DescriptorReader::getLODCount</a></div><div class="ttdeci">virtual std::uint16_t getLODCount() const =0</div><div class="ttdoc">Available levels of detail (e.g. 6 which means the following levels are available: [0,...</div></div>
<div class="ttc" id="aclasstrust_1_1ArrayView_html_a90e50dd55c347dadd8863e21696e6f64"><div class="ttname"><a href="classtrust_1_1ArrayView.html#a90e50dd55c347dadd8863e21696e6f64">trust::ArrayView::data</a></div><div class="ttdeci">pointer data()</div><div class="ttdef"><b>Definition:</b> ArrayView.h:102</div></div>
<div class="ttc" id="anamespacedna_html_a2f45e075b5acc7b36f4d4de005c09f4d"><div class="ttname"><a href="namespacedna.html#a2f45e075b5acc7b36f4d4de005c09f4d">dna::copyNameIndices</a></div><div class="ttdeci">static void copyNameIndices(IndicesGetter getIndices, IndicesSetter setIndices, LODMappingSetter setLODMapping, std::uint16_t lodCount, MemoryResource *memRes)</div><div class="ttdef"><b>Definition:</b> Writer.cpp:82</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="classdna_1_1DefinitionWriter.html#a833ddf3aa21ae018e73923a9c17e8f6c">dna::DefinitionWriter::clearAnimatedMapIndices()</a>, <a class="el" href="classdna_1_1DefinitionWriter.html#afab13f64abd3b2600cbb33f513c6e4bb">dna::DefinitionWriter::clearAnimatedMapNames()</a>, <a class="el" href="classdna_1_1DefinitionWriter.html#a7ccdfa0345f7789514a8dbb77fd9d6bf">dna::DefinitionWriter::clearBlendShapeChannelIndices()</a>, <a class="el" href="classdna_1_1DefinitionWriter.html#aa69021d1daa96e5dc6c664a4a4d5b6f1">dna::DefinitionWriter::clearBlendShapeChannelNames()</a>, <a class="el" href="classdna_1_1DefinitionWriter.html#a51ec75c1d95e3f6b11e76a63bff7830a">dna::DefinitionWriter::clearGUIControlNames()</a>, <a class="el" href="classdna_1_1DefinitionWriter.html#af5678ae2507289472d3bf7db42cf5737">dna::DefinitionWriter::clearJointIndices()</a>, <a class="el" href="classdna_1_1DefinitionWriter.html#a623e9d447ff61291f0c4eebb2a52161d">dna::DefinitionWriter::clearJointNames()</a>, <a class="el" href="classdna_1_1DefinitionWriter.html#ae88b611a59fdfadfef3fef6316bf7e0f">dna::DefinitionWriter::clearLODAnimatedMapMappings()</a>, <a class="el" href="classdna_1_1DefinitionWriter.html#a2fa5d2b6c9fb5725cc0bba2ea7c5b1ab">dna::DefinitionWriter::clearLODBlendShapeChannelMappings()</a>, <a class="el" href="classdna_1_1DefinitionWriter.html#ada594e28662c8743180659e88666de30">dna::DefinitionWriter::clearLODJointMappings()</a>, <a class="el" href="classdna_1_1DefinitionWriter.html#a4e8476c54bee8764db7e22f2d813c5e0">dna::DefinitionWriter::clearLODMeshMappings()</a>, <a class="el" href="classdna_1_1DefinitionWriter.html#a0df6e5029b789fd4a14208d1416cd246">dna::DefinitionWriter::clearMeshBlendShapeChannelMappings()</a>, <a class="el" href="classdna_1_1DefinitionWriter.html#aa4875b5153d765696a6693add5dd0c46">dna::DefinitionWriter::clearMeshIndices()</a>, <a class="el" href="classdna_1_1DefinitionWriter.html#a12aa23a21232da2ffaa51e4dc6748bb8">dna::DefinitionWriter::clearMeshNames()</a>, <a class="el" href="classdna_1_1DefinitionWriter.html#abc7053615464e121b86bb6c3c3605398">dna::DefinitionWriter::clearRawControlNames()</a>, <a class="el" href="namespacedna.html#a2f45e075b5acc7b36f4d4de005c09f4d">copyNameIndices()</a>, <a class="el" href="classtrust_1_1ArrayView.html#a90e50dd55c347dadd8863e21696e6f64">trust::ArrayView&lt; T &gt;::data()</a>, <a class="el" href="classdna_1_1DefinitionReader.html#a817e01dd0c8c013ddeb87200a77f444e">dna::DefinitionReader::getAnimatedMapCount()</a>, <a class="el" href="classdna_1_1DefinitionReader.html#aeb215a0f41d4d5b38bb331e14c937155">dna::DefinitionReader::getAnimatedMapIndicesForLOD()</a>, <a class="el" href="classdna_1_1DefinitionReader.html#a057aa04a10d076a1569995339d95533d">dna::DefinitionReader::getAnimatedMapName()</a>, <a class="el" href="classdna_1_1DefinitionReader.html#abbfe6ca7c250868c9b5690c9e6dd73f2">dna::DefinitionReader::getBlendShapeChannelCount()</a>, <a class="el" href="classdna_1_1DefinitionReader.html#a052f479fb9782af634667a2c7d86dd7d">dna::DefinitionReader::getBlendShapeChannelIndicesForLOD()</a>, <a class="el" href="classdna_1_1DefinitionReader.html#a9162ea692bf3c45f65b7a569d5061623">dna::DefinitionReader::getBlendShapeChannelName()</a>, <a class="el" href="classdna_1_1DefinitionReader.html#a70c2f16889d2aa1f6c55ffaed75aa8d7">dna::DefinitionReader::getGUIControlCount()</a>, <a class="el" href="classdna_1_1DefinitionReader.html#acc5b028b9f5d8d936b6d99682906c8b1">dna::DefinitionReader::getGUIControlName()</a>, <a class="el" href="classdna_1_1DefinitionReader.html#acb077a6f51c59fcfc8a2e6dd2de6cf2e">dna::DefinitionReader::getJointCount()</a>, <a class="el" href="classdna_1_1DefinitionReader.html#a066b94bddd1f346c695eb7dd8a6dbc64">dna::DefinitionReader::getJointIndicesForLOD()</a>, <a class="el" href="classdna_1_1DefinitionReader.html#aed66db160f6517e3ec4fda3f3e124c45">dna::DefinitionReader::getJointName()</a>, <a class="el" href="classdna_1_1DefinitionReader.html#a82bfc19b2253282dd790133139d82019">dna::DefinitionReader::getJointParentIndex()</a>, <a class="el" href=
<p class="reference">Referenced by <a class="el" href="classdna_1_1Writer.html#a41e7a151c6dab14e702667b9e41e8a85">dna::Writer::setFrom()</a>.</p>
</div>
</div>
<a id="a3dd6b21633eba36a583be501ee467fa6" name="a3dd6b21633eba36a583be501ee467fa6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3dd6b21633eba36a583be501ee467fa6">&#9670;&nbsp;</a></span>copyDescriptor()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void dna::copyDescriptor </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classdna_1_1DescriptorReader.html">DescriptorReader</a> *&#160;</td>
<td class="paramname"><em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classdna_1_1DescriptorWriter.html">DescriptorWriter</a> *&#160;</td>
<td class="paramname"><em>destination</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a> *&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 45</span> {</div>
<div class="line"><span class="lineno"> 46</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DescriptorWriter.html#a9af57f937e1d24de1b6fcad6f109e4e0">setName</a>(source-&gt;<a class="code hl_function" href="classdna_1_1DescriptorReader.html#a421dc8eaebfd2940ebf7a7b42987a247">getName</a>());</div>
<div class="line"><span class="lineno"> 47</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DescriptorWriter.html#aed61cd3661fe097ac1792608ea13971b">setArchetype</a>(source-&gt;<a class="code hl_function" href="classdna_1_1DescriptorReader.html#a27bdf08bcbc0ffc73be4c6d1c4242f87">getArchetype</a>());</div>
<div class="line"><span class="lineno"> 48</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DescriptorWriter.html#a7f5376ccecaa926aba462ff4cba47244">setGender</a>(source-&gt;<a class="code hl_function" href="classdna_1_1DescriptorReader.html#ae41de3dc5c2dbaced840dcac773b16a2">getGender</a>());</div>
<div class="line"><span class="lineno"> 49</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DescriptorWriter.html#a23839423080cbbef906d2edc1eb47b2a">setAge</a>(source-&gt;<a class="code hl_function" href="classdna_1_1DescriptorReader.html#adf37388277858ed1880f4587dc3c17bb">getAge</a>());</div>
<div class="line"><span class="lineno"> 50</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DescriptorWriter.html#ace23be7b6e8b6104f472ca3f1d4b2235">clearMetaData</a>();</div>
<div class="line"><span class="lineno"> 51</span> <span class="keywordflow">for</span> (std::uint32_t i = 0u; i &lt; source-&gt;<a class="code hl_function" href="classdna_1_1DescriptorReader.html#a883464cf9ef0e733eae4c52e20c8e997">getMetaDataCount</a>(); ++i) {</div>
<div class="line"><span class="lineno"> 52</span> <span class="keyword">const</span> <span class="keyword">auto</span> key = source-&gt;<a class="code hl_function" href="classdna_1_1DescriptorReader.html#ac0a59511e545c660a9e5d1336ae6fc3c">getMetaDataKey</a>(i);</div>
<div class="line"><span class="lineno"> 53</span> <span class="keyword">const</span> <span class="keyword">auto</span> value = source-&gt;<a class="code hl_function" href="classdna_1_1DescriptorReader.html#a141c0d87063cd15317bc91a13e73dcf8">getMetaDataValue</a>(key);</div>
<div class="line"><span class="lineno"> 54</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DescriptorWriter.html#a03d2b0ecc0a5e01081e9a5fccec9ca65">setMetaData</a>(key, value);</div>
<div class="line"><span class="lineno"> 55</span> }</div>
<div class="line"><span class="lineno"> 56</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DescriptorWriter.html#ac104f5869d0b01c92e8dcc7b6fcf7cc9">setTranslationUnit</a>(source-&gt;<a class="code hl_function" href="classdna_1_1DescriptorReader.html#aadfe5c13952fbbdbf8fea0a862817e00">getTranslationUnit</a>());</div>
<div class="line"><span class="lineno"> 57</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DescriptorWriter.html#a1756bb4c64fb48a95af1daea77c6b5a6">setRotationUnit</a>(source-&gt;<a class="code hl_function" href="classdna_1_1DescriptorReader.html#aa8ea617301975ab2eaf42510ba470b1a">getRotationUnit</a>());</div>
<div class="line"><span class="lineno"> 58</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DescriptorWriter.html#a0a118e6fd0b17b4b40ff265f45d442e7">setCoordinateSystem</a>(source-&gt;<a class="code hl_function" href="classdna_1_1DescriptorReader.html#aec61b30a983756b0b42523b1fd1b4bcc">getCoordinateSystem</a>());</div>
<div class="line"><span class="lineno"> 59</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DescriptorWriter.html#a20f5c0bd82865136e3df7c9d67585213">setLODCount</a>(source-&gt;<a class="code hl_function" href="classdna_1_1DescriptorReader.html#a5049f3e40b919fd15476ff24ea46ec32">getLODCount</a>());</div>
<div class="line"><span class="lineno"> 60</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DescriptorWriter.html#a30f909fc6dcb53baa4462b45644056d5">setDBMaxLOD</a>(source-&gt;<a class="code hl_function" href="classdna_1_1DescriptorReader.html#a17d3855616540f144aa35f3a2afe08b2">getDBMaxLOD</a>());</div>
<div class="line"><span class="lineno"> 61</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DescriptorWriter.html#ac194e90483e1fb937ad43cc57d9f9dba">setDBComplexity</a>(source-&gt;<a class="code hl_function" href="classdna_1_1DescriptorReader.html#a43466c9804dda58f1ff3694c94213b97">getDBComplexity</a>());</div>
<div class="line"><span class="lineno"> 62</span> destination-&gt;<a class="code hl_function" href="classdna_1_1DescriptorWriter.html#ac7b713af76afdc4f89af288b983c6779">setDBName</a>(source-&gt;<a class="code hl_function" href="classdna_1_1DescriptorReader.html#a7007f41a06776604bd636040eb780e59">getDBName</a>());</div>
<div class="line"><span class="lineno"> 63</span>}</div>
<div class="ttc" id="aclassdna_1_1DescriptorReader_html_a141c0d87063cd15317bc91a13e73dcf8"><div class="ttname"><a href="classdna_1_1DescriptorReader.html#a141c0d87063cd15317bc91a13e73dcf8">dna::DescriptorReader::getMetaDataValue</a></div><div class="ttdeci">virtual StringView getMetaDataValue(const char *key) const =0</div><div class="ttdoc">Stored metadata value associated with the given key.</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorReader_html_a17d3855616540f144aa35f3a2afe08b2"><div class="ttname"><a href="classdna_1_1DescriptorReader.html#a17d3855616540f144aa35f3a2afe08b2">dna::DescriptorReader::getDBMaxLOD</a></div><div class="ttdeci">virtual std::uint16_t getDBMaxLOD() const =0</div><div class="ttdoc">The maximum level of detail stored in the DNA data for this character.</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorReader_html_a27bdf08bcbc0ffc73be4c6d1c4242f87"><div class="ttname"><a href="classdna_1_1DescriptorReader.html#a27bdf08bcbc0ffc73be4c6d1c4242f87">dna::DescriptorReader::getArchetype</a></div><div class="ttdeci">virtual Archetype getArchetype() const =0</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorReader_html_a421dc8eaebfd2940ebf7a7b42987a247"><div class="ttname"><a href="classdna_1_1DescriptorReader.html#a421dc8eaebfd2940ebf7a7b42987a247">dna::DescriptorReader::getName</a></div><div class="ttdeci">virtual StringView getName() const =0</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorReader_html_a43466c9804dda58f1ff3694c94213b97"><div class="ttname"><a href="classdna_1_1DescriptorReader.html#a43466c9804dda58f1ff3694c94213b97">dna::DescriptorReader::getDBComplexity</a></div><div class="ttdeci">virtual StringView getDBComplexity() const =0</div><div class="ttdoc">Name of the input control interface used to drive this character rig.</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorReader_html_a7007f41a06776604bd636040eb780e59"><div class="ttname"><a href="classdna_1_1DescriptorReader.html#a7007f41a06776604bd636040eb780e59">dna::DescriptorReader::getDBName</a></div><div class="ttdeci">virtual StringView getDBName() const =0</div><div class="ttdoc">Name of the database from which the character originates.</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorReader_html_a883464cf9ef0e733eae4c52e20c8e997"><div class="ttname"><a href="classdna_1_1DescriptorReader.html#a883464cf9ef0e733eae4c52e20c8e997">dna::DescriptorReader::getMetaDataCount</a></div><div class="ttdeci">virtual std::uint32_t getMetaDataCount() const =0</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorReader_html_aa8ea617301975ab2eaf42510ba470b1a"><div class="ttname"><a href="classdna_1_1DescriptorReader.html#aa8ea617301975ab2eaf42510ba470b1a">dna::DescriptorReader::getRotationUnit</a></div><div class="ttdeci">virtual RotationUnit getRotationUnit() const =0</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorReader_html_aadfe5c13952fbbdbf8fea0a862817e00"><div class="ttname"><a href="classdna_1_1DescriptorReader.html#aadfe5c13952fbbdbf8fea0a862817e00">dna::DescriptorReader::getTranslationUnit</a></div><div class="ttdeci">virtual TranslationUnit getTranslationUnit() const =0</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorReader_html_ac0a59511e545c660a9e5d1336ae6fc3c"><div class="ttname"><a href="classdna_1_1DescriptorReader.html#ac0a59511e545c660a9e5d1336ae6fc3c">dna::DescriptorReader::getMetaDataKey</a></div><div class="ttdeci">virtual StringView getMetaDataKey(std::uint32_t index) const =0</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorReader_html_adf37388277858ed1880f4587dc3c17bb"><div class="ttname"><a href="classdna_1_1DescriptorReader.html#adf37388277858ed1880f4587dc3c17bb">dna::DescriptorReader::getAge</a></div><div class="ttdeci">virtual std::uint16_t getAge() const =0</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorReader_html_ae41de3dc5c2dbaced840dcac773b16a2"><div class="ttname"><a href="classdna_1_1DescriptorReader.html#ae41de3dc5c2dbaced840dcac773b16a2">dna::DescriptorReader::getGender</a></div><div class="ttdeci">virtual Gender getGender() const =0</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorReader_html_aec61b30a983756b0b42523b1fd1b4bcc"><div class="ttname"><a href="classdna_1_1DescriptorReader.html#aec61b30a983756b0b42523b1fd1b4bcc">dna::DescriptorReader::getCoordinateSystem</a></div><div class="ttdeci">virtual CoordinateSystem getCoordinateSystem() const =0</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorWriter_html_a03d2b0ecc0a5e01081e9a5fccec9ca65"><div class="ttname"><a href="classdna_1_1DescriptorWriter.html#a03d2b0ecc0a5e01081e9a5fccec9ca65">dna::DescriptorWriter::setMetaData</a></div><div class="ttdeci">virtual void setMetaData(const char *key, const char *value)=0</div><div class="ttdoc">Associate the metadata value with the given key.</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorWriter_html_a0a118e6fd0b17b4b40ff265f45d442e7"><div class="ttname"><a href="classdna_1_1DescriptorWriter.html#a0a118e6fd0b17b4b40ff265f45d442e7">dna::DescriptorWriter::setCoordinateSystem</a></div><div class="ttdeci">virtual void setCoordinateSystem(CoordinateSystem system)=0</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorWriter_html_a1756bb4c64fb48a95af1daea77c6b5a6"><div class="ttname"><a href="classdna_1_1DescriptorWriter.html#a1756bb4c64fb48a95af1daea77c6b5a6">dna::DescriptorWriter::setRotationUnit</a></div><div class="ttdeci">virtual void setRotationUnit(RotationUnit unit)=0</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorWriter_html_a20f5c0bd82865136e3df7c9d67585213"><div class="ttname"><a href="classdna_1_1DescriptorWriter.html#a20f5c0bd82865136e3df7c9d67585213">dna::DescriptorWriter::setLODCount</a></div><div class="ttdeci">virtual void setLODCount(std::uint16_t lodCount)=0</div><div class="ttdoc">Available levels of detail (e.g. 6 which means the following levels are available: [0,...</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorWriter_html_a23839423080cbbef906d2edc1eb47b2a"><div class="ttname"><a href="classdna_1_1DescriptorWriter.html#a23839423080cbbef906d2edc1eb47b2a">dna::DescriptorWriter::setAge</a></div><div class="ttdeci">virtual void setAge(std::uint16_t age)=0</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorWriter_html_a30f909fc6dcb53baa4462b45644056d5"><div class="ttname"><a href="classdna_1_1DescriptorWriter.html#a30f909fc6dcb53baa4462b45644056d5">dna::DescriptorWriter::setDBMaxLOD</a></div><div class="ttdeci">virtual void setDBMaxLOD(std::uint16_t lod)=0</div><div class="ttdoc">The maximum level of detail stored in the DNA data for this character.</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorWriter_html_a7f5376ccecaa926aba462ff4cba47244"><div class="ttname"><a href="classdna_1_1DescriptorWriter.html#a7f5376ccecaa926aba462ff4cba47244">dna::DescriptorWriter::setGender</a></div><div class="ttdeci">virtual void setGender(Gender gender)=0</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorWriter_html_a9af57f937e1d24de1b6fcad6f109e4e0"><div class="ttname"><a href="classdna_1_1DescriptorWriter.html#a9af57f937e1d24de1b6fcad6f109e4e0">dna::DescriptorWriter::setName</a></div><div class="ttdeci">virtual void setName(const char *name)=0</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorWriter_html_ac104f5869d0b01c92e8dcc7b6fcf7cc9"><div class="ttname"><a href="classdna_1_1DescriptorWriter.html#ac104f5869d0b01c92e8dcc7b6fcf7cc9">dna::DescriptorWriter::setTranslationUnit</a></div><div class="ttdeci">virtual void setTranslationUnit(TranslationUnit unit)=0</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorWriter_html_ac194e90483e1fb937ad43cc57d9f9dba"><div class="ttname"><a href="classdna_1_1DescriptorWriter.html#ac194e90483e1fb937ad43cc57d9f9dba">dna::DescriptorWriter::setDBComplexity</a></div><div class="ttdeci">virtual void setDBComplexity(const char *name)=0</div><div class="ttdoc">Name of the input control interface used to drive this character rig.</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorWriter_html_ac7b713af76afdc4f89af288b983c6779"><div class="ttname"><a href="classdna_1_1DescriptorWriter.html#ac7b713af76afdc4f89af288b983c6779">dna::DescriptorWriter::setDBName</a></div><div class="ttdeci">virtual void setDBName(const char *name)=0</div><div class="ttdoc">Name of the database from which the character originates.</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorWriter_html_ace23be7b6e8b6104f472ca3f1d4b2235"><div class="ttname"><a href="classdna_1_1DescriptorWriter.html#ace23be7b6e8b6104f472ca3f1d4b2235">dna::DescriptorWriter::clearMetaData</a></div><div class="ttdeci">virtual void clearMetaData()=0</div><div class="ttdoc">Empties the metadata storage, delete all key-value pairs.</div></div>
<div class="ttc" id="aclassdna_1_1DescriptorWriter_html_aed61cd3661fe097ac1792608ea13971b"><div class="ttname"><a href="classdna_1_1DescriptorWriter.html#aed61cd3661fe097ac1792608ea13971b">dna::DescriptorWriter::setArchetype</a></div><div class="ttdeci">virtual void setArchetype(Archetype archetype)=0</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="classdna_1_1DescriptorWriter.html#ace23be7b6e8b6104f472ca3f1d4b2235">dna::DescriptorWriter::clearMetaData()</a>, <a class="el" href="classdna_1_1DescriptorReader.html#adf37388277858ed1880f4587dc3c17bb">dna::DescriptorReader::getAge()</a>, <a class="el" href="classdna_1_1DescriptorReader.html#a27bdf08bcbc0ffc73be4c6d1c4242f87">dna::DescriptorReader::getArchetype()</a>, <a class="el" href="classdna_1_1DescriptorReader.html#aec61b30a983756b0b42523b1fd1b4bcc">dna::DescriptorReader::getCoordinateSystem()</a>, <a class="el" href="classdna_1_1DescriptorReader.html#a43466c9804dda58f1ff3694c94213b97">dna::DescriptorReader::getDBComplexity()</a>, <a class="el" href="classdna_1_1DescriptorReader.html#a17d3855616540f144aa35f3a2afe08b2">dna::DescriptorReader::getDBMaxLOD()</a>, <a class="el" href="classdna_1_1DescriptorReader.html#a7007f41a06776604bd636040eb780e59">dna::DescriptorReader::getDBName()</a>, <a class="el" href="classdna_1_1DescriptorReader.html#ae41de3dc5c2dbaced840dcac773b16a2">dna::DescriptorReader::getGender()</a>, <a class="el" href="classdna_1_1DescriptorReader.html#a5049f3e40b919fd15476ff24ea46ec32">dna::DescriptorReader::getLODCount()</a>, <a class="el" href="classdna_1_1DescriptorReader.html#a883464cf9ef0e733eae4c52e20c8e997">dna::DescriptorReader::getMetaDataCount()</a>, <a class="el" href="classdna_1_1DescriptorReader.html#ac0a59511e545c660a9e5d1336ae6fc3c">dna::DescriptorReader::getMetaDataKey()</a>, <a class="el" href="classdna_1_1DescriptorReader.html#a141c0d87063cd15317bc91a13e73dcf8">dna::DescriptorReader::getMetaDataValue()</a>, <a class="el" href="classdna_1_1DescriptorReader.html#a421dc8eaebfd2940ebf7a7b42987a247">dna::DescriptorReader::getName()</a>, <a class="el" href="classdna_1_1DescriptorReader.html#aa8ea617301975ab2eaf42510ba470b1a">dna::DescriptorReader::getRotationUnit()</a>, <a class="el" href="classdna_1_1DescriptorReader.html#aadfe5c13952fbbdbf8fea0a862817e00">dna::DescriptorReader::getTranslationUnit()</a>, <a class="el" href="classdna_1_1DescriptorWriter.html#a23839423080cbbef906d2edc1eb47b2a">dna::DescriptorWriter::setAge()</a>, <a class="el" href="classdna_1_1DescriptorWriter.html#aed61cd3661fe097ac1792608ea13971b">dna::DescriptorWriter::setArchetype()</a>, <a class="el" href="classdna_1_1DescriptorWriter.html#a0a118e6fd0b17b4b40ff265f45d442e7">dna::DescriptorWriter::setCoordinateSystem()</a>, <a class="el" href="classdna_1_1DescriptorWriter.html#ac194e90483e1fb937ad43cc57d9f9dba">dna::DescriptorWriter::setDBComplexity()</a>, <a class="el" href="classdna_1_1DescriptorWriter.html#a30f909fc6dcb53baa4462b45644056d5">dna::DescriptorWriter::setDBMaxLOD()</a>, <a class="el" href="classdna_1_1DescriptorWriter.html#ac7b713af76afdc4f89af288b983c6779">dna::DescriptorWriter::setDBName()</a>, <a class="el" href="classdna_1_1DescriptorWriter.html#a7f5376ccecaa926aba462ff4cba47244">dna::DescriptorWriter::setGender()</a>, <a class="el" href="classdna_1_1DescriptorWriter.html#a20f5c0bd82865136e3df7c9d67585213">dna::DescriptorWriter::setLODCount()</a>, <a class="el" href="classdna_1_1DescriptorWriter.html#a03d2b0ecc0a5e01081e9a5fccec9ca65">dna::DescriptorWriter::setMetaData()</a>, <a class="el" href="classdna_1_1DescriptorWriter.html#a9af57f937e1d24de1b6fcad6f109e4e0">dna::DescriptorWriter::setName()</a>, <a class="el" href="classdna_1_1DescriptorWriter.html#a1756bb4c64fb48a95af1daea77c6b5a6">dna::DescriptorWriter::setRotationUnit()</a>, and <a class="el" href="classdna_1_1DescriptorWriter.html#ac104f5869d0b01c92e8dcc7b6fcf7cc9">dna::DescriptorWriter::setTranslationUnit()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classdna_1_1Writer.html#a41e7a151c6dab14e702667b9e41e8a85">dna::Writer::setFrom()</a>.</p>
</div>
</div>
<a id="a96b705368b65e6dfd0c9a92e27aeeadb" name="a96b705368b65e6dfd0c9a92e27aeeadb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96b705368b65e6dfd0c9a92e27aeeadb">&#9670;&nbsp;</a></span>copyGeometry()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void dna::copyGeometry </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classdna_1_1GeometryReader.html">GeometryReader</a> *&#160;</td>
<td class="paramname"><em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classdna_1_1GeometryWriter.html">GeometryWriter</a> *&#160;</td>
<td class="paramname"><em>destination</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a> *&#160;</td>
<td class="paramname"><em>memRes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 315</span> {</div>
<div class="line"><span class="lineno"> 316</span> destination-&gt;<a class="code hl_function" href="classdna_1_1GeometryWriter.html#a256a78757e7ae43a9c815a2b1c5f1638">clearMeshes</a>();</div>
<div class="line"><span class="lineno"> 317</span> </div>
<div class="line"><span class="lineno"> 318</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespacedna.html#adfcb80dcbf766a9072da417f6f8a2d37">hasGeometry</a>(source)) {</div>
<div class="line"><span class="lineno"> 319</span> <span class="comment">// Source DNA was loaded without geometry layer</span></div>
<div class="line"><span class="lineno"> 320</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 321</span> }</div>
<div class="line"><span class="lineno"> 322</span> </div>
<div class="line"><span class="lineno"> 323</span> <span class="keywordflow">for</span> (std::uint16_t meshIndexPlusOne = source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#a7fa8d1c480f84b2af00902dcb220925e">getMeshCount</a>(); meshIndexPlusOne &gt; 0u; --meshIndexPlusOne) {</div>
<div class="line"><span class="lineno"> 324</span> <span class="keyword">const</span> <span class="keyword">auto</span> meshIndex = <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(meshIndexPlusOne - 1u);</div>
<div class="line"><span class="lineno"> 325</span> <span class="keyword">auto</span> vertexCount = source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#af114745ac6472ad9234ada667e84fc87">getVertexPositionCount</a>(meshIndex);</div>
<div class="line"><span class="lineno"> 326</span> <span class="keyword">auto</span> positions = collect_n&lt;Vector3Vector&gt;(vertexCount, [source, meshIndex](std::size_t index) {</div>
<div class="line"><span class="lineno"> 327</span> <span class="keywordflow">return</span> source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#a127e52b68866fc96edd32c1a4a381ab5">getVertexPosition</a>(meshIndex, <span class="keyword">static_cast&lt;</span>std::uint32_t<span class="keyword">&gt;</span>(index));</div>
<div class="line"><span class="lineno"> 328</span> }, memRes);</div>
<div class="line"><span class="lineno"> 329</span> destination-&gt;<a class="code hl_function" href="classdna_1_1GeometryWriter.html#aebfee73d4e1219e3170e7f6b8960f03a">setVertexPositions</a>(meshIndex, positions.data(), <span class="keyword">static_cast&lt;</span>std::uint32_t<span class="keyword">&gt;</span>(positions.size()));</div>
<div class="line"><span class="lineno"> 330</span> </div>
<div class="line"><span class="lineno"> 331</span> <span class="keyword">auto</span> textureCoordinateCount = source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#add07c3f09324da46e23e30c4883215bd">getVertexTextureCoordinateCount</a>(meshIndex);</div>
<div class="line"><span class="lineno"> 332</span> <span class="keyword">auto</span> textureCoordinates = collect_n&lt;TextureCoordinateVector&gt;(textureCoordinateCount,</div>
<div class="line"><span class="lineno"> 333</span> [source, meshIndex](std::size_t index) {</div>
<div class="line"><span class="lineno"> 334</span> <span class="keywordflow">return</span> source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#a56816ff3ae1ff54d8d44f05ad77ce89b">getVertexTextureCoordinate</a>(meshIndex, <span class="keyword">static_cast&lt;</span>std::uint32_t<span class="keyword">&gt;</span>(index));</div>
<div class="line"><span class="lineno"> 335</span> }, memRes);</div>
<div class="line"><span class="lineno"> 336</span> destination-&gt;<a class="code hl_function" href="classdna_1_1GeometryWriter.html#a29e35bef1a560c33e2e022d410d2cd7e">setVertexTextureCoordinates</a>(meshIndex, textureCoordinates.data(),</div>
<div class="line"><span class="lineno"> 337</span> <span class="keyword">static_cast&lt;</span>std::uint32_t<span class="keyword">&gt;</span>(textureCoordinates.size()));</div>
<div class="line"><span class="lineno"> 338</span> </div>
<div class="line"><span class="lineno"> 339</span> <span class="keyword">auto</span> normalCount = source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#a08b6e5a69685155bf73ab8f6f97eb570">getVertexNormalCount</a>(meshIndex);</div>
<div class="line"><span class="lineno"> 340</span> <span class="keyword">auto</span> normals = collect_n&lt;Vector3Vector&gt;(normalCount, [source, meshIndex](std::size_t index) {</div>
<div class="line"><span class="lineno"> 341</span> <span class="keywordflow">return</span> source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#aa008a64aadb3b124a609ebe12242a834">getVertexNormal</a>(meshIndex, <span class="keyword">static_cast&lt;</span>std::uint32_t<span class="keyword">&gt;</span>(index));</div>
<div class="line"><span class="lineno"> 342</span> }, memRes);</div>
<div class="line"><span class="lineno"> 343</span> destination-&gt;<a class="code hl_function" href="classdna_1_1GeometryWriter.html#a57e513ac3e7dc63a8debb768174be323">setVertexNormals</a>(meshIndex, normals.data(), <span class="keyword">static_cast&lt;</span>std::uint32_t<span class="keyword">&gt;</span>(normals.size()));</div>
<div class="line"><span class="lineno"> 344</span> </div>
<div class="line"><span class="lineno"> 345</span> <span class="keyword">auto</span> layoutCount = source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#a358fdc0b958f5c476af5dce8efe9a4bb">getVertexLayoutCount</a>(meshIndex);</div>
<div class="line"><span class="lineno"> 346</span> <span class="keyword">auto</span> layouts = collect_n&lt;VertexLayoutVector&gt;(layoutCount, [source, meshIndex](std::size_t index) {</div>
<div class="line"><span class="lineno"> 347</span> <span class="keywordflow">return</span> source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#ab0dca7de52537f05c8769fb9ebc9ccc2">getVertexLayout</a>(meshIndex, <span class="keyword">static_cast&lt;</span>std::uint32_t<span class="keyword">&gt;</span>(index));</div>
<div class="line"><span class="lineno"> 348</span> }, memRes);</div>
<div class="line"><span class="lineno"> 349</span> destination-&gt;<a class="code hl_function" href="classdna_1_1GeometryWriter.html#a37c74ec30c140577de33907ee744f56d">setVertexLayouts</a>(meshIndex, layouts.data(), <span class="keyword">static_cast&lt;</span>std::uint32_t<span class="keyword">&gt;</span>(layouts.size()));</div>
<div class="line"><span class="lineno"> 350</span> </div>
<div class="line"><span class="lineno"> 351</span> <span class="keywordflow">for</span> (std::uint32_t faceIndexPlusOne = source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#ae0b5a7fa59bbbf796ba9cdbcc253a4b7">getFaceCount</a>(meshIndex); faceIndexPlusOne &gt; 0u; --faceIndexPlusOne) {</div>
<div class="line"><span class="lineno"> 352</span> <span class="keyword">const</span> <span class="keyword">auto</span> faceIndex = faceIndexPlusOne - 1u;</div>
<div class="line"><span class="lineno"> 353</span> <span class="keyword">auto</span> faceVertices = source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#adddc77cb8caf9508862b5c695897ca39">getFaceVertexLayoutIndices</a>(meshIndex, faceIndex);</div>
<div class="line"><span class="lineno"> 354</span> destination-&gt;<a class="code hl_function" href="classdna_1_1GeometryWriter.html#a0dc0c7304f1429b1895fcedffde8bfa3">setFaceVertexLayoutIndices</a>(meshIndex, faceIndex, faceVertices.data(),</div>
<div class="line"><span class="lineno"> 355</span> <span class="keyword">static_cast&lt;</span>std::uint32_t<span class="keyword">&gt;</span>(faceVertices.size()));</div>
<div class="line"><span class="lineno"> 356</span> }</div>
<div class="line"><span class="lineno"> 357</span> </div>
<div class="line"><span class="lineno"> 358</span> destination-&gt;<a class="code hl_function" href="classdna_1_1GeometryWriter.html#a847d4e6701869a0eb3f528775e2bcf36">setMaximumInfluencePerVertex</a>(meshIndex, source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#acd3a1e20f710fbe91a2af6b519afe7b0">getMaximumInfluencePerVertex</a>(meshIndex));</div>
<div class="line"><span class="lineno"> 359</span> </div>
<div class="line"><span class="lineno"> 360</span> <span class="keyword">const</span> <span class="keyword">auto</span> skinWeightsCount = source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#a4c2ff723178fe07c10763bd566753f9f">getSkinWeightsCount</a>(meshIndex);</div>
<div class="line"><span class="lineno"> 361</span> <span class="keywordflow">for</span> (std::uint32_t skinWeightsIndexPlusOne = skinWeightsCount; skinWeightsIndexPlusOne &gt; 0u; --skinWeightsIndexPlusOne) {</div>
<div class="line"><span class="lineno"> 362</span> <span class="keyword">const</span> <span class="keyword">auto</span> skinWeightsIndex = skinWeightsIndexPlusOne - 1u;</div>
<div class="line"><span class="lineno"> 363</span> <span class="keyword">auto</span> skinWeights = source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#a29cfe68b4f7b383a9f05c44aeb9f3950">getSkinWeightsValues</a>(meshIndex, skinWeightsIndex);</div>
<div class="line"><span class="lineno"> 364</span> destination-&gt;<a class="code hl_function" href="classdna_1_1GeometryWriter.html#a6a7aeca2da8cd7829461a141690acc15">setSkinWeightsValues</a>(meshIndex, skinWeightsIndex, skinWeights.data(),</div>
<div class="line"><span class="lineno"> 365</span> <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(skinWeights.size()));</div>
<div class="line"><span class="lineno"> 366</span> </div>
<div class="line"><span class="lineno"> 367</span> <span class="keyword">auto</span> skinWeightsJoints = source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#afc2b976f8999566dde42b3b994e41f6a">getSkinWeightsJointIndices</a>(meshIndex, skinWeightsIndex);</div>
<div class="line"><span class="lineno"> 368</span> destination-&gt;<a class="code hl_function" href="classdna_1_1GeometryWriter.html#a1193d02012fe866e4a306205eaefe9ca">setSkinWeightsJointIndices</a>(meshIndex, skinWeightsIndex, skinWeightsJoints.data(),</div>
<div class="line"><span class="lineno"> 369</span> <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(skinWeightsJoints.size()));</div>
<div class="line"><span class="lineno"> 370</span> }</div>
<div class="line"><span class="lineno"> 371</span> }</div>
<div class="line"><span class="lineno"> 372</span>}</div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_a08b6e5a69685155bf73ab8f6f97eb570"><div class="ttname"><a href="classdna_1_1GeometryReader.html#a08b6e5a69685155bf73ab8f6f97eb570">dna::GeometryReader::getVertexNormalCount</a></div><div class="ttdeci">virtual std::uint32_t getVertexNormalCount(std::uint16_t meshIndex) const =0</div><div class="ttdoc">Number of vertex normals in the entire mesh.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_a127e52b68866fc96edd32c1a4a381ab5"><div class="ttname"><a href="classdna_1_1GeometryReader.html#a127e52b68866fc96edd32c1a4a381ab5">dna::GeometryReader::getVertexPosition</a></div><div class="ttdeci">virtual Position getVertexPosition(std::uint16_t meshIndex, std::uint32_t vertexIndex) const =0</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_a29cfe68b4f7b383a9f05c44aeb9f3950"><div class="ttname"><a href="classdna_1_1GeometryReader.html#a29cfe68b4f7b383a9f05c44aeb9f3950">dna::GeometryReader::getSkinWeightsValues</a></div><div class="ttdeci">virtual ConstArrayView&lt; float &gt; getSkinWeightsValues(std::uint16_t meshIndex, std::uint32_t vertexIndex) const =0</div><div class="ttdoc">List of skin weights influencing the requested vertex.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_a358fdc0b958f5c476af5dce8efe9a4bb"><div class="ttname"><a href="classdna_1_1GeometryReader.html#a358fdc0b958f5c476af5dce8efe9a4bb">dna::GeometryReader::getVertexLayoutCount</a></div><div class="ttdeci">virtual std::uint32_t getVertexLayoutCount(std::uint16_t meshIndex) const =0</div><div class="ttdoc">Number of vertex layouts in the entire mesh.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_a4c2ff723178fe07c10763bd566753f9f"><div class="ttname"><a href="classdna_1_1GeometryReader.html#a4c2ff723178fe07c10763bd566753f9f">dna::GeometryReader::getSkinWeightsCount</a></div><div class="ttdeci">virtual std::uint32_t getSkinWeightsCount(std::uint16_t meshIndex) const =0</div><div class="ttdoc">Number of skin weights associated with the specified mesh.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_a56816ff3ae1ff54d8d44f05ad77ce89b"><div class="ttname"><a href="classdna_1_1GeometryReader.html#a56816ff3ae1ff54d8d44f05ad77ce89b">dna::GeometryReader::getVertexTextureCoordinate</a></div><div class="ttdeci">virtual TextureCoordinate getVertexTextureCoordinate(std::uint16_t meshIndex, std::uint32_t textureCoordinateIndex) const =0</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_aa008a64aadb3b124a609ebe12242a834"><div class="ttname"><a href="classdna_1_1GeometryReader.html#aa008a64aadb3b124a609ebe12242a834">dna::GeometryReader::getVertexNormal</a></div><div class="ttdeci">virtual Normal getVertexNormal(std::uint16_t meshIndex, std::uint32_t normalIndex) const =0</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_ab0dca7de52537f05c8769fb9ebc9ccc2"><div class="ttname"><a href="classdna_1_1GeometryReader.html#ab0dca7de52537f05c8769fb9ebc9ccc2">dna::GeometryReader::getVertexLayout</a></div><div class="ttdeci">virtual VertexLayout getVertexLayout(std::uint16_t meshIndex, std::uint32_t layoutIndex) const =0</div><div class="ttdoc">Vertex layouts contain only attribute indices which can be used to query the actual attributes,...</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_acd3a1e20f710fbe91a2af6b519afe7b0"><div class="ttname"><a href="classdna_1_1GeometryReader.html#acd3a1e20f710fbe91a2af6b519afe7b0">dna::GeometryReader::getMaximumInfluencePerVertex</a></div><div class="ttdeci">virtual std::uint16_t getMaximumInfluencePerVertex(std::uint16_t meshIndex) const =0</div><div class="ttdoc">The maximum number of joints that may influence any single vertex.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_add07c3f09324da46e23e30c4883215bd"><div class="ttname"><a href="classdna_1_1GeometryReader.html#add07c3f09324da46e23e30c4883215bd">dna::GeometryReader::getVertexTextureCoordinateCount</a></div><div class="ttdeci">virtual std::uint32_t getVertexTextureCoordinateCount(std::uint16_t meshIndex) const =0</div><div class="ttdoc">Number of texture coordinates in the entire mesh.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_adddc77cb8caf9508862b5c695897ca39"><div class="ttname"><a href="classdna_1_1GeometryReader.html#adddc77cb8caf9508862b5c695897ca39">dna::GeometryReader::getFaceVertexLayoutIndices</a></div><div class="ttdeci">virtual ConstArrayView&lt; std::uint32_t &gt; getFaceVertexLayoutIndices(std::uint16_t meshIndex, std::uint32_t faceIndex) const =0</div><div class="ttdoc">List of vertex layout indices the belong to a face on the specified mesh.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_ae0b5a7fa59bbbf796ba9cdbcc253a4b7"><div class="ttname"><a href="classdna_1_1GeometryReader.html#ae0b5a7fa59bbbf796ba9cdbcc253a4b7">dna::GeometryReader::getFaceCount</a></div><div class="ttdeci">virtual std::uint32_t getFaceCount(std::uint16_t meshIndex) const =0</div><div class="ttdoc">Number of faces that belong to the specified mesh.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_af114745ac6472ad9234ada667e84fc87"><div class="ttname"><a href="classdna_1_1GeometryReader.html#af114745ac6472ad9234ada667e84fc87">dna::GeometryReader::getVertexPositionCount</a></div><div class="ttdeci">virtual std::uint32_t getVertexPositionCount(std::uint16_t meshIndex) const =0</div><div class="ttdoc">Number of vertex positions in the entire mesh.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryReader_html_afc2b976f8999566dde42b3b994e41f6a"><div class="ttname"><a href="classdna_1_1GeometryReader.html#afc2b976f8999566dde42b3b994e41f6a">dna::GeometryReader::getSkinWeightsJointIndices</a></div><div class="ttdeci">virtual ConstArrayView&lt; std::uint16_t &gt; getSkinWeightsJointIndices(std::uint16_t meshIndex, std::uint32_t vertexIndex) const =0</div><div class="ttdoc">List of joint indices associated with each skin weight for the specified vertex.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryWriter_html_a0dc0c7304f1429b1895fcedffde8bfa3"><div class="ttname"><a href="classdna_1_1GeometryWriter.html#a0dc0c7304f1429b1895fcedffde8bfa3">dna::GeometryWriter::setFaceVertexLayoutIndices</a></div><div class="ttdeci">virtual void setFaceVertexLayoutIndices(std::uint16_t meshIndex, std::uint32_t faceIndex, const std::uint32_t *layoutIndices, std::uint32_t count)=0</div><div class="ttdoc">Vertex layout indices that belong to the specified face.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryWriter_html_a1193d02012fe866e4a306205eaefe9ca"><div class="ttname"><a href="classdna_1_1GeometryWriter.html#a1193d02012fe866e4a306205eaefe9ca">dna::GeometryWriter::setSkinWeightsJointIndices</a></div><div class="ttdeci">virtual void setSkinWeightsJointIndices(std::uint16_t meshIndex, std::uint32_t vertexIndex, const std::uint16_t *jointIndices, std::uint16_t count)=0</div><div class="ttdoc">List of joint indices associated with each skin weight for the specified vertex.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryWriter_html_a256a78757e7ae43a9c815a2b1c5f1638"><div class="ttname"><a href="classdna_1_1GeometryWriter.html#a256a78757e7ae43a9c815a2b1c5f1638">dna::GeometryWriter::clearMeshes</a></div><div class="ttdeci">virtual void clearMeshes()=0</div><div class="ttdoc">Delete all meshes.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryWriter_html_a29e35bef1a560c33e2e022d410d2cd7e"><div class="ttname"><a href="classdna_1_1GeometryWriter.html#a29e35bef1a560c33e2e022d410d2cd7e">dna::GeometryWriter::setVertexTextureCoordinates</a></div><div class="ttdeci">virtual void setVertexTextureCoordinates(std::uint16_t meshIndex, const TextureCoordinate *textureCoordinates, std::uint32_t count)=0</div><div class="ttdoc">List of vertex texture coordinates.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryWriter_html_a37c74ec30c140577de33907ee744f56d"><div class="ttname"><a href="classdna_1_1GeometryWriter.html#a37c74ec30c140577de33907ee744f56d">dna::GeometryWriter::setVertexLayouts</a></div><div class="ttdeci">virtual void setVertexLayouts(std::uint16_t meshIndex, const VertexLayout *layouts, std::uint32_t count)=0</div><div class="ttdoc">List of vertex layouts the belong to the specified mesh.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryWriter_html_a57e513ac3e7dc63a8debb768174be323"><div class="ttname"><a href="classdna_1_1GeometryWriter.html#a57e513ac3e7dc63a8debb768174be323">dna::GeometryWriter::setVertexNormals</a></div><div class="ttdeci">virtual void setVertexNormals(std::uint16_t meshIndex, const Normal *normals, std::uint32_t count)=0</div><div class="ttdoc">List of vertex normals.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryWriter_html_a6a7aeca2da8cd7829461a141690acc15"><div class="ttname"><a href="classdna_1_1GeometryWriter.html#a6a7aeca2da8cd7829461a141690acc15">dna::GeometryWriter::setSkinWeightsValues</a></div><div class="ttdeci">virtual void setSkinWeightsValues(std::uint16_t meshIndex, std::uint32_t vertexIndex, const float *weights, std::uint16_t count)=0</div><div class="ttdoc">List of skin weights influencing the referenced vertex.</div></div>
<div class="ttc" id="aclassdna_1_1GeometryWriter_html_a847d4e6701869a0eb3f528775e2bcf36"><div class="ttname"><a href="classdna_1_1GeometryWriter.html#a847d4e6701869a0eb3f528775e2bcf36">dna::GeometryWriter::setMaximumInfluencePerVertex</a></div><div class="ttdeci">virtual void setMaximumInfluencePerVertex(std::uint16_t meshIndex, std::uint16_t maxInfluenceCount)=0</div></div>
<div class="ttc" id="aclassdna_1_1GeometryWriter_html_aebfee73d4e1219e3170e7f6b8960f03a"><div class="ttname"><a href="classdna_1_1GeometryWriter.html#aebfee73d4e1219e3170e7f6b8960f03a">dna::GeometryWriter::setVertexPositions</a></div><div class="ttdeci">virtual void setVertexPositions(std::uint16_t meshIndex, const Position *positions, std::uint32_t count)=0</div><div class="ttdoc">List of vertex positions.</div></div>
<div class="ttc" id="anamespacedna_html_adfcb80dcbf766a9072da417f6f8a2d37"><div class="ttname"><a href="namespacedna.html#adfcb80dcbf766a9072da417f6f8a2d37">dna::hasGeometry</a></div><div class="ttdeci">static bool hasGeometry(const GeometryReader *source)</div><div class="ttdef"><b>Definition:</b> Writer.cpp:296</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="classdna_1_1GeometryWriter.html#a256a78757e7ae43a9c815a2b1c5f1638">dna::GeometryWriter::clearMeshes()</a>, <a class="el" href="classdna_1_1GeometryReader.html#ae0b5a7fa59bbbf796ba9cdbcc253a4b7">dna::GeometryReader::getFaceCount()</a>, <a class="el" href="classdna_1_1GeometryReader.html#adddc77cb8caf9508862b5c695897ca39">dna::GeometryReader::getFaceVertexLayoutIndices()</a>, <a class="el" href="classdna_1_1GeometryReader.html#acd3a1e20f710fbe91a2af6b519afe7b0">dna::GeometryReader::getMaximumInfluencePerVertex()</a>, <a class="el" href="classdna_1_1DefinitionReader.html#a7fa8d1c480f84b2af00902dcb220925e">dna::DefinitionReader::getMeshCount()</a>, <a class="el" href="classdna_1_1GeometryReader.html#a4c2ff723178fe07c10763bd566753f9f">dna::GeometryReader::getSkinWeightsCount()</a>, <a class="el" href="classdna_1_1GeometryReader.html#afc2b976f8999566dde42b3b994e41f6a">dna::GeometryReader::getSkinWeightsJointIndices()</a>, <a class="el" href="classdna_1_1GeometryReader.html#a29cfe68b4f7b383a9f05c44aeb9f3950">dna::GeometryReader::getSkinWeightsValues()</a>, <a class="el" href="classdna_1_1GeometryReader.html#ab0dca7de52537f05c8769fb9ebc9ccc2">dna::GeometryReader::getVertexLayout()</a>, <a class="el" href="classdna_1_1GeometryReader.html#a358fdc0b958f5c476af5dce8efe9a4bb">dna::GeometryReader::getVertexLayoutCount()</a>, <a class="el" href="classdna_1_1GeometryReader.html#aa008a64aadb3b124a609ebe12242a834">dna::GeometryReader::getVertexNormal()</a>, <a class="el" href="classdna_1_1GeometryReader.html#a08b6e5a69685155bf73ab8f6f97eb570">dna::GeometryReader::getVertexNormalCount()</a>, <a class="el" href="classdna_1_1GeometryReader.html#a127e52b68866fc96edd32c1a4a381ab5">dna::GeometryReader::getVertexPosition()</a>, <a class="el" href="classdna_1_1GeometryReader.html#af114745ac6472ad9234ada667e84fc87">dna::GeometryReader::getVertexPositionCount()</a>, <a class="el" href="classdna_1_1GeometryReader.html#a56816ff3ae1ff54d8d44f05ad77ce89b">dna::GeometryReader::getVertexTextureCoordinate()</a>, <a class="el" href="classdna_1_1GeometryReader.html#add07c3f09324da46e23e30c4883215bd">dna::GeometryReader::getVertexTextureCoordinateCount()</a>, <a class="el" href="namespacedna.html#adfcb80dcbf766a9072da417f6f8a2d37">hasGeometry()</a>, <a class="el" href="classdna_1_1GeometryWriter.html#a0dc0c7304f1429b1895fcedffde8bfa3">dna::GeometryWriter::setFaceVertexLayoutIndices()</a>, <a class="el" href="classdna_1_1GeometryWriter.html#a847d4e6701869a0eb3f528775e2bcf36">dna::GeometryWriter::setMaximumInfluencePerVertex()</a>, <a class="el" href="classdna_1_1GeometryWriter.html#a1193d02012fe866e4a306205eaefe9ca">dna::GeometryWriter::setSkinWeightsJointIndices()</a>, <a class="el" href="classdna_1_1GeometryWriter.html#a6a7aeca2da8cd7829461a141690acc15">dna::GeometryWriter::setSkinWeightsValues()</a>, <a class="el" href="classdna_1_1GeometryWriter.html#a37c74ec30c140577de33907ee744f56d">dna::GeometryWriter::setVertexLayouts()</a>, <a class="el" href="classdna_1_1GeometryWriter.html#a57e513ac3e7dc63a8debb768174be323">dna::GeometryWriter::setVertexNormals()</a>, <a class="el" href="classdna_1_1GeometryWriter.html#aebfee73d4e1219e3170e7f6b8960f03a">dna::GeometryWriter::setVertexPositions()</a>, and <a class="el" href="classdna_1_1GeometryWriter.html#a29e35bef1a560c33e2e022d410d2cd7e">dna::GeometryWriter::setVertexTextureCoordinates()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classdna_1_1Writer.html#a41e7a151c6dab14e702667b9e41e8a85">dna::Writer::setFrom()</a>.</p>
</div>
</div>
<a id="a2f45e075b5acc7b36f4d4de005c09f4d" name="a2f45e075b5acc7b36f4d4de005c09f4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f45e075b5acc7b36f4d4de005c09f4d">&#9670;&nbsp;</a></span>copyNameIndices()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void dna::copyNameIndices </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacedna.html#aa6d2a1e06befb26359ecb9520d189b9f">IndicesGetter</a>&#160;</td>
<td class="paramname"><em>getIndices</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacedna.html#a8e24a6224edae74951b361bd329793a8">IndicesSetter</a>&#160;</td>
<td class="paramname"><em>setIndices</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacedna.html#aa5e4b325b343cf2a4d495485227ab904">LODMappingSetter</a>&#160;</td>
<td class="paramname"><em>setLODMapping</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint16_t&#160;</td>
<td class="paramname"><em>lodCount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a> *&#160;</td>
<td class="paramname"><em>memRes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 86</span> {</div>
<div class="line"><span class="lineno"> 87</span> <a class="code hl_typedef" href="namespacepma.html#a66acdf887e847cb2662b905e682b0132">Matrix&lt;std::uint16_t&gt;</a> allIndices{memRes};</div>
<div class="line"><span class="lineno"> 88</span> std::uint16_t index = 0u;</div>
<div class="line"><span class="lineno"> 89</span> <span class="keywordflow">for</span> (std::uint16_t lod = 0u; lod &lt; lodCount; ++lod) {</div>
<div class="line"><span class="lineno"> 90</span> <span class="keyword">auto</span> indices = getIndices(lod);</div>
<div class="line"><span class="lineno"> 91</span> <span class="comment">// Check if these same indices were perhaps already used for previous LODs</span></div>
<div class="line"><span class="lineno"> 92</span> <span class="keyword">auto</span> found = <a class="code hl_function" href="namespacedna.html#a371ddf780a3211d8f4ba894755c7bcce">findIndices</a>(allIndices, indices);</div>
<div class="line"><span class="lineno"> 93</span> <span class="keywordflow">if</span> (!found.first) {</div>
<div class="line"><span class="lineno"> 94</span> setIndices(index, indices.data(), <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(indices.size()));</div>
<div class="line"><span class="lineno"> 95</span> setLODMapping(lod, index);</div>
<div class="line"><span class="lineno"> 96</span> allIndices.emplace_back(indices.begin(), indices.end());</div>
<div class="line"><span class="lineno"> 97</span> ++index;</div>
<div class="line"><span class="lineno"> 98</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><span class="lineno"> 99</span> <span class="comment">// Already used so do not replicate the same data twice</span></div>
<div class="line"><span class="lineno"> 100</span> setLODMapping(lod, found.second);</div>
<div class="line"><span class="lineno"> 101</span> }</div>
<div class="line"><span class="lineno"> 102</span> }</div>
<div class="line"><span class="lineno"> 103</span>}</div>
<div class="ttc" id="anamespacedna_html_a371ddf780a3211d8f4ba894755c7bcce"><div class="ttname"><a href="namespacedna.html#a371ddf780a3211d8f4ba894755c7bcce">dna::findIndices</a></div><div class="ttdeci">static std::pair&lt; bool, std::uint16_t &gt; findIndices(const Matrix&lt; std::uint16_t &gt; &amp;source, ConstArrayView&lt; std::uint16_t &gt; indices)</div><div class="ttdef"><b>Definition:</b> Writer.cpp:65</div></div>
<div class="ttc" id="anamespacepma_html_a66acdf887e847cb2662b905e682b0132"><div class="ttname"><a href="namespacepma.html#a66acdf887e847cb2662b905e682b0132">pma::Matrix</a></div><div class="ttdeci">Vector&lt; Vector&lt; T &gt;, Allocator &gt; Matrix</div><div class="ttdef"><b>Definition:</b> include/pma/TypeDefs.h:32</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacedna.html#a371ddf780a3211d8f4ba894755c7bcce">findIndices()</a>.</p>
<p class="reference">Referenced by <a class="el" href="namespacedna.html#a16f3f0150d5c559e35eda9ee663b38fb">copyDefinition()</a>.</p>
</div>
</div>
<a id="ac2f0bf7e61585af872e31438ea6fd449" name="ac2f0bf7e61585af872e31438ea6fd449"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2f0bf7e61585af872e31438ea6fd449">&#9670;&nbsp;</a></span>ensureHasSize()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TContainer , typename ... Args&gt; </div>
<table class="memname">
<tr>
<td class="memname">void dna::ensureHasSize </td>
<td>(</td>
<td class="paramtype">TContainer &amp;&#160;</td>
<td class="paramname"><em>target</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Args &amp;&amp;...&#160;</td>
<td class="paramname"><em>args</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 27</span> {</div>
<div class="line"><span class="lineno"> 28</span> target.reserve(size);</div>
<div class="line"><span class="lineno"> 29</span> <span class="keywordflow">while</span> (target.size() &lt; size) {</div>
<div class="line"><span class="lineno"> 30</span> target.push_back(<span class="keyword">typename</span> TContainer::value_type(std::forward&lt;Args&gt;(args)...));</div>
<div class="line"><span class="lineno"> 31</span> }</div>
<div class="line"><span class="lineno"> 32</span>}</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="classdna_1_1WriterImpl.html#af3f7354ef666e6682b5b2b469ce417cc">dna::WriterImpl&lt; TWriterBase &gt;::setAnimatedMapName()</a>, <a class="el" href="classdna_1_1WriterImpl.html#a42a291f3337b6b44f3cd51e317fe7271">dna::WriterImpl&lt; TWriterBase &gt;::setBlendShapeChannelIndex()</a>, <a class="el" href="classdna_1_1WriterImpl.html#a4e953b29a1c0cd920ee81883e79d3ff0">dna::WriterImpl&lt; TWriterBase &gt;::setBlendShapeChannelName()</a>, <a class="el" href="classdna_1_1WriterImpl.html#ad99d3b3399c15030d3682a8c9dfb453a">dna::WriterImpl&lt; TWriterBase &gt;::setBlendShapeTargetDeltas()</a>, <a class="el" href="classdna_1_1WriterImpl.html#aa07eb30dff23b4ebf71b27121f5b10ef">dna::WriterImpl&lt; TWriterBase &gt;::setBlendShapeTargetVertexIndices()</a>, <a class="el" href="classdna_1_1WriterImpl.html#a640289c474776d944f80b81f707bedbf">dna::WriterImpl&lt; TWriterBase &gt;::setFaceVertexLayoutIndices()</a>, <a class="el" href="classdna_1_1WriterImpl.html#a9957bb06ae42ce862d7e5ba1461116cc">dna::WriterImpl&lt; TWriterBase &gt;::setGUIControlName()</a>, <a class="el" href="classdna_1_1WriterImpl.html#a74e166e7a3d610e9afd008c35998a849">dna::WriterImpl&lt; TWriterBase &gt;::setJointGroupInputIndices()</a>, <a class="el" href="classdna_1_1WriterImpl.html#aa140ca06400ad5396850fe53f2d060b6">dna::WriterImpl&lt; TWriterBase &gt;::setJointGroupJointIndices()</a>, <a class="el" href="classdna_1_1WriterImpl.html#aacdb5d64806e563d14ab29c6a7c6b225">dna::WriterImpl&lt; TWriterBase &gt;::setJointGroupLODs()</a>, <a class="el" href="classdna_1_1WriterImpl.html#a41cfaababcbd9f8330d4da2ced776e98">dna::WriterImpl&lt; TWriterBase &gt;::setJointGroupOutputIndices()</a>, <a class="el" href="classdna_1_1WriterImpl.html#a01f3ae4c20b812fb8958a0211c82c7f0">dna::WriterImpl&lt; TWriterBase &gt;::setJointGroupValues()</a>, <a class="el" href="classdna_1_1WriterImpl.html#a315475cff9a8796f4cbecf8f04eda31c">dna::WriterImpl&lt; TWriterBase &gt;::setJointName()</a>, <a class="el" href="classdna_1_1WriterImpl.html#a87212e5bc21d526a0c821ae95f53a2a9">dna::WriterImpl&lt; TWriterBase &gt;::setMaximumInfluencePerVertex()</a>, <a class="el" href="classdna_1_1WriterImpl.html#a2ba68c4639b0c334eedd649c492f49db">dna::WriterImpl&lt; TWriterBase &gt;::setMeshName()</a>, <a class="el" href="classdna_1_1WriterImpl.html#af89ddd98e8ce0ee55bbb8e38bd15fcb2">dna::WriterImpl&lt; TWriterBase &gt;::setRawControlName()</a>, <a class="el" href="classdna_1_1WriterImpl.html#a49694841b2dbe656f28da1254e900507">dna::WriterImpl&lt; TWriterBase &gt;::setSkinWeightsJointIndices()</a>, <a class="el" href="classdna_1_1WriterImpl.html#a92cd868b10f6570d4fa8343f2c1e7ff2">dna::WriterImpl&lt; TWriterBase &gt;::setSkinWeightsValues()</a>, <a class="el" href="classdna_1_1WriterImpl.html#adb42a6c986f0b17fa23d4e1e5ba474c9">dna::WriterImpl&lt; TWriterBase &gt;::setVertexLayouts()</a>, <a class="el" href="classdna_1_1WriterImpl.html#aa637e689f972aca02a3c4e639037bb2c">dna::WriterImpl&lt; TWriterBase &gt;::setVertexNormals()</a>, <a class="el" href="classdna_1_1WriterImpl.html#ad1ef41080bfe79bab8ec0c438f98d82d">dna::WriterImpl&lt; TWriterBase &gt;::setVertexPositions()</a>, and <a class="el" href="classdna_1_1WriterImpl.html#a85fb4bd8e2701ca890bdf483e4dd4b9a">dna::WriterImpl&lt; TWriterBase &gt;::setVertexTextureCoordinates()</a>.</p>
</div>
</div>
<a id="a371ddf780a3211d8f4ba894755c7bcce" name="a371ddf780a3211d8f4ba894755c7bcce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a371ddf780a3211d8f4ba894755c7bcce">&#9670;&nbsp;</a></span>findIndices()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::pair&lt; bool, std::uint16_t &gt; dna::findIndices </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacepma.html#a66acdf887e847cb2662b905e682b0132">Matrix</a>&lt; std::uint16_t &gt; &amp;&#160;</td>
<td class="paramname"><em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacedna.html#a2d8779c1a78015209a7249b86804dba6">ConstArrayView</a>&lt; std::uint16_t &gt;&#160;</td>
<td class="paramname"><em>indices</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 65</span> {</div>
<div class="line"><span class="lineno"> 66</span> <span class="comment">// In the common scenario each LOD has it&#39;s unique set of indices</span></div>
<div class="line"><span class="lineno"> 67</span> <span class="keywordflow">for</span> (std::size_t i = 0ul; i &lt; source.size(); ++i) {</div>
<div class="line"><span class="lineno"> 68</span> <a class="code hl_class" href="classtrust_1_1ArrayView.html">ConstArrayView&lt;std::uint16_t&gt;</a> candidate{source[i].<a class="code hl_function" href="classtrust_1_1ArrayView.html#a90e50dd55c347dadd8863e21696e6f64">data</a>(), source[i].size()};</div>
<div class="line"><span class="lineno"> 69</span> <span class="keywordflow">if</span> (indices == candidate) {</div>
<div class="line"><span class="lineno"> 70</span> <span class="comment">// Unless the indices are the same between multiple LODs, in which case use the</span></div>
<div class="line"><span class="lineno"> 71</span> <span class="comment">// already registered index</span></div>
<div class="line"><span class="lineno"> 72</span> <span class="keywordflow">return</span> {<span class="keyword">true</span>, <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(i)};</div>
<div class="line"><span class="lineno"> 73</span> }</div>
<div class="line"><span class="lineno"> 74</span> }</div>
<div class="line"><span class="lineno"> 75</span> <span class="keywordflow">return</span> {<span class="keyword">false</span>, <span class="keyword">static_cast&lt;</span>std::uint16_t<span class="keyword">&gt;</span>(0)};</div>
<div class="line"><span class="lineno"> 76</span>}</div>
<div class="ttc" id="aclasstrust_1_1ArrayView_html"><div class="ttname"><a href="classtrust_1_1ArrayView.html">trust::ArrayView</a></div><div class="ttdoc">A view over a continuous sequence of objects.</div><div class="ttdef"><b>Definition:</b> ArrayView.h:55</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="classtrust_1_1ArrayView.html#a90e50dd55c347dadd8863e21696e6f64">trust::ArrayView&lt; T &gt;::data()</a>.</p>
<p class="reference">Referenced by <a class="el" href="namespacedna.html#a2f45e075b5acc7b36f4d4de005c09f4d">copyNameIndices()</a>.</p>
</div>
</div>
<a id="ae6b7eda6633b4e1c6d9a69d97723a1fc" name="ae6b7eda6633b4e1c6d9a69d97723a1fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6b7eda6633b4e1c6d9a69d97723a1fc">&#9670;&nbsp;</a></span>hasBlendShapeTargets()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool dna::hasBlendShapeTargets </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classdna_1_1GeometryReader.html">GeometryReader</a> *&#160;</td>
<td class="paramname"><em>source</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 374</span> {</div>
<div class="line"><span class="lineno"> 375</span> <span class="comment">// Heuristic for determining whether source DNA actually has any blend shape target data, or mesh count is non-zero only</span></div>
<div class="line"><span class="lineno"> 376</span> <span class="comment">// because of mesh names stored in definition layer</span></div>
<div class="line"><span class="lineno"> 377</span> std::uint32_t totalBlendShapeTargetCount = {};</div>
<div class="line"><span class="lineno"> 378</span> <span class="keywordflow">for</span> (std::uint16_t meshIndex = {}; meshIndex &lt; source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#a7fa8d1c480f84b2af00902dcb220925e">getMeshCount</a>(); ++meshIndex) {</div>
<div class="line"><span class="lineno"> 379</span> totalBlendShapeTargetCount += source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#a8472e74653f6524839f9e65fe4367483">getBlendShapeTargetCount</a>(meshIndex);</div>
<div class="line"><span class="lineno"> 380</span> }</div>
<div class="line"><span class="lineno"> 381</span> <span class="keywordflow">return</span> (totalBlendShapeTargetCount != 0u);</div>
<div class="line"><span class="lineno"> 382</span>}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="classdna_1_1GeometryReader.html#a8472e74653f6524839f9e65fe4367483">dna::GeometryReader::getBlendShapeTargetCount()</a>, and <a class="el" href="classdna_1_1DefinitionReader.html#a7fa8d1c480f84b2af00902dcb220925e">dna::DefinitionReader::getMeshCount()</a>.</p>
<p class="reference">Referenced by <a class="el" href="namespacedna.html#ae53d84a6543f4f423b7dfbfa448c39e5">copyBlendShapeTargets()</a>.</p>
</div>
</div>
<a id="adfcb80dcbf766a9072da417f6f8a2d37" name="adfcb80dcbf766a9072da417f6f8a2d37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adfcb80dcbf766a9072da417f6f8a2d37">&#9670;&nbsp;</a></span>hasGeometry()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool dna::hasGeometry </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classdna_1_1GeometryReader.html">GeometryReader</a> *&#160;</td>
<td class="paramname"><em>source</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 296</span> {</div>
<div class="line"><span class="lineno"> 297</span> <span class="comment">// Heuristic for determining whether source DNA actually has any geometry data, or mesh count is non-zero only</span></div>
<div class="line"><span class="lineno"> 298</span> <span class="comment">// because of mesh names stored in definition layer</span></div>
<div class="line"><span class="lineno"> 299</span> std::uint32_t totalVertexCount = {};</div>
<div class="line"><span class="lineno"> 300</span> std::uint32_t totalVertexNormalCount = {};</div>
<div class="line"><span class="lineno"> 301</span> std::uint32_t totalTextureCoordCount = {};</div>
<div class="line"><span class="lineno"> 302</span> std::uint32_t totalVertexLayoutCount = {};</div>
<div class="line"><span class="lineno"> 303</span> std::uint32_t totalSkinWeightCount = {};</div>
<div class="line"><span class="lineno"> 304</span> <span class="keywordflow">for</span> (std::uint16_t meshIndex = {}; meshIndex &lt; source-&gt;<a class="code hl_function" href="classdna_1_1DefinitionReader.html#a7fa8d1c480f84b2af00902dcb220925e">getMeshCount</a>(); ++meshIndex) {</div>
<div class="line"><span class="lineno"> 305</span> totalVertexCount += source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#af114745ac6472ad9234ada667e84fc87">getVertexPositionCount</a>(meshIndex);</div>
<div class="line"><span class="lineno"> 306</span> totalVertexNormalCount += source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#a08b6e5a69685155bf73ab8f6f97eb570">getVertexNormalCount</a>(meshIndex);</div>
<div class="line"><span class="lineno"> 307</span> totalTextureCoordCount += source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#add07c3f09324da46e23e30c4883215bd">getVertexTextureCoordinateCount</a>(meshIndex);</div>
<div class="line"><span class="lineno"> 308</span> totalVertexLayoutCount += source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#a358fdc0b958f5c476af5dce8efe9a4bb">getVertexLayoutCount</a>(meshIndex);</div>
<div class="line"><span class="lineno"> 309</span> totalSkinWeightCount += source-&gt;<a class="code hl_function" href="classdna_1_1GeometryReader.html#a4c2ff723178fe07c10763bd566753f9f">getSkinWeightsCount</a>(meshIndex);</div>
<div class="line"><span class="lineno"> 310</span> }</div>
<div class="line"><span class="lineno"> 311</span> <span class="keywordflow">return</span> ((totalVertexCount != 0u) || (totalVertexNormalCount != 0u) || (totalTextureCoordCount != 0u) ||</div>
<div class="line"><span class="lineno"> 312</span> (totalVertexLayoutCount != 0u) || (totalSkinWeightCount != 0u));</div>
<div class="line"><span class="lineno"> 313</span>}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="classdna_1_1DefinitionReader.html#a7fa8d1c480f84b2af00902dcb220925e">dna::DefinitionReader::getMeshCount()</a>, <a class="el" href="classdna_1_1GeometryReader.html#a4c2ff723178fe07c10763bd566753f9f">dna::GeometryReader::getSkinWeightsCount()</a>, <a class="el" href="classdna_1_1GeometryReader.html#a358fdc0b958f5c476af5dce8efe9a4bb">dna::GeometryReader::getVertexLayoutCount()</a>, <a class="el" href="classdna_1_1GeometryReader.html#a08b6e5a69685155bf73ab8f6f97eb570">dna::GeometryReader::getVertexNormalCount()</a>, <a class="el" href="classdna_1_1GeometryReader.html#af114745ac6472ad9234ada667e84fc87">dna::GeometryReader::getVertexPositionCount()</a>, and <a class="el" href="classdna_1_1GeometryReader.html#add07c3f09324da46e23e30c4883215bd">dna::GeometryReader::getVertexTextureCoordinateCount()</a>.</p>
<p class="reference">Referenced by <a class="el" href="namespacedna.html#a96b705368b65e6dfd0c9a92e27aeeadb">copyGeometry()</a>.</p>
</div>
</div>
<a id="a3ad422dfca9b5baae2aeedc887f4d74b" name="a3ad422dfca9b5baae2aeedc887f4d74b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ad422dfca9b5baae2aeedc887f4d74b">&#9670;&nbsp;</a></span>operator!=() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool dna::operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classdna_1_1StringView.html">StringView</a> &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classdna_1_1StringView.html">StringView</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 39</span> {</div>
<div class="line"><span class="lineno"> 40</span> <span class="keywordflow">return</span> !(lhs == rhs);</div>
<div class="line"><span class="lineno"> 41</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a70312b8f0160509a898ce0b019236510" name="a70312b8f0160509a898ce0b019236510"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70312b8f0160509a898ce0b019236510">&#9670;&nbsp;</a></span>operator!=() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool dna::operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structdna_1_1Vector3.html">Vector3</a> &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdna_1_1Vector3.html">Vector3</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 106</span> {</div>
<div class="line"><span class="lineno"> 107</span> <span class="keywordflow">return</span> !(lhs == rhs);</div>
<div class="line"><span class="lineno"> 108</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a357a580731826b4dc67d2c499dd91e2f" name="a357a580731826b4dc67d2c499dd91e2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a357a580731826b4dc67d2c499dd91e2f">&#9670;&nbsp;</a></span>operator&amp;()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TEnum &gt; </div>
<table class="memname">
<tr>
<td class="memname">std::enable_if&lt; std::is_enum&lt; TEnum &gt;::value, TEnum &gt;::type dna::operator&amp; </td>
<td>(</td>
<td class="paramtype">TEnum&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TEnum&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 11</span> {</div>
<div class="line"><span class="lineno"> 12</span> <span class="keyword">using </span>Underlying = <span class="keyword">typename</span> std::underlying_type&lt;TEnum&gt;::type;</div>
<div class="line"><span class="lineno"> 13</span> <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>TEnum<span class="keyword">&gt;</span>(<span class="keyword">static_cast&lt;</span>Underlying<span class="keyword">&gt;</span>(lhs) &amp; <span class="keyword">static_cast&lt;</span>Underlying<span class="keyword">&gt;</span>(rhs));</div>
<div class="line"><span class="lineno"> 14</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="adad41be575ee85edd1af3929672da4f8" name="adad41be575ee85edd1af3929672da4f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adad41be575ee85edd1af3929672da4f8">&#9670;&nbsp;</a></span>operator&amp;=()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TEnum &gt; </div>
<table class="memname">
<tr>
<td class="memname">std::enable_if&lt; std::is_enum&lt; TEnum &gt;::value, TEnum &gt;::type dna::operator&amp;= </td>
<td>(</td>
<td class="paramtype">TEnum &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TEnum&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 39</span> {</div>
<div class="line"><span class="lineno"> 40</span> <span class="keywordflow">return</span> lhs = (lhs &amp; rhs);</div>
<div class="line"><span class="lineno"> 41</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a8452f6c4d4feecbd7d986e76f66ca194" name="a8452f6c4d4feecbd7d986e76f66ca194"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8452f6c4d4feecbd7d986e76f66ca194">&#9670;&nbsp;</a></span>operator*() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structdna_1_1Vector3.html">Vector3</a> dna::operator* </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdna_1_1Vector3.html">Vector3</a>&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdna_1_1Vector3.html">Vector3</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 78</span> {</div>
<div class="line"><span class="lineno"> 79</span> <span class="keywordflow">return</span> (lhs *= rhs);</div>
<div class="line"><span class="lineno"> 80</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a46580edd3acc232b4879ede9daa85840" name="a46580edd3acc232b4879ede9daa85840"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46580edd3acc232b4879ede9daa85840">&#9670;&nbsp;</a></span>operator*() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structdna_1_1Vector3.html">Vector3</a> dna::operator* </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdna_1_1Vector3.html">Vector3</a>&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 94</span> {</div>
<div class="line"><span class="lineno"> 95</span> <span class="keywordflow">return</span> (lhs *= rhs);</div>
<div class="line"><span class="lineno"> 96</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a439d8166c37e3c26bc97175ee198f73a" name="a439d8166c37e3c26bc97175ee198f73a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a439d8166c37e3c26bc97175ee198f73a">&#9670;&nbsp;</a></span>operator+() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structdna_1_1Vector3.html">Vector3</a> dna::operator+ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdna_1_1Vector3.html">Vector3</a>&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdna_1_1Vector3.html">Vector3</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 70</span> {</div>
<div class="line"><span class="lineno"> 71</span> <span class="keywordflow">return</span> (lhs += rhs);</div>
<div class="line"><span class="lineno"> 72</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="abb7fe41e1f70a69ca1e207d5cc39ab24" name="abb7fe41e1f70a69ca1e207d5cc39ab24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb7fe41e1f70a69ca1e207d5cc39ab24">&#9670;&nbsp;</a></span>operator+() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structdna_1_1Vector3.html">Vector3</a> dna::operator+ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdna_1_1Vector3.html">Vector3</a>&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 86</span> {</div>
<div class="line"><span class="lineno"> 87</span> <span class="keywordflow">return</span> (lhs += rhs);</div>
<div class="line"><span class="lineno"> 88</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a8d64c054e1f8eea3777f3d8465017ea3" name="a8d64c054e1f8eea3777f3d8465017ea3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d64c054e1f8eea3777f3d8465017ea3">&#9670;&nbsp;</a></span>operator-() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structdna_1_1Vector3.html">Vector3</a> dna::operator- </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdna_1_1Vector3.html">Vector3</a>&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdna_1_1Vector3.html">Vector3</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 74</span> {</div>
<div class="line"><span class="lineno"> 75</span> <span class="keywordflow">return</span> (lhs -= rhs);</div>
<div class="line"><span class="lineno"> 76</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a128dfeef70469ca85cf5148e12625b95" name="a128dfeef70469ca85cf5148e12625b95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a128dfeef70469ca85cf5148e12625b95">&#9670;&nbsp;</a></span>operator-() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structdna_1_1Vector3.html">Vector3</a> dna::operator- </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdna_1_1Vector3.html">Vector3</a>&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 90</span> {</div>
<div class="line"><span class="lineno"> 91</span> <span class="keywordflow">return</span> (lhs -= rhs);</div>
<div class="line"><span class="lineno"> 92</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a508850da6b23d1d373b3a43eec70d542" name="a508850da6b23d1d373b3a43eec70d542"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a508850da6b23d1d373b3a43eec70d542">&#9670;&nbsp;</a></span>operator/() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structdna_1_1Vector3.html">Vector3</a> dna::operator/ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdna_1_1Vector3.html">Vector3</a>&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdna_1_1Vector3.html">Vector3</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 82</span> {</div>
<div class="line"><span class="lineno"> 83</span> <span class="keywordflow">return</span> (lhs /= rhs);</div>
<div class="line"><span class="lineno"> 84</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ac6fa73755bb2a34993010c7b979247a8" name="ac6fa73755bb2a34993010c7b979247a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6fa73755bb2a34993010c7b979247a8">&#9670;&nbsp;</a></span>operator/() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structdna_1_1Vector3.html">Vector3</a> dna::operator/ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdna_1_1Vector3.html">Vector3</a>&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 98</span> {</div>
<div class="line"><span class="lineno"> 99</span> <span class="keywordflow">return</span> (lhs /= rhs);</div>
<div class="line"><span class="lineno"> 100</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="afccd04c7c4f586d08538497f4b396d22" name="afccd04c7c4f586d08538497f4b396d22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afccd04c7c4f586d08538497f4b396d22">&#9670;&nbsp;</a></span>operator==() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool dna::operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classdna_1_1StringView.html">StringView</a> &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classdna_1_1StringView.html">StringView</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 35</span> {</div>
<div class="line"><span class="lineno"> 36</span> <span class="keywordflow">return</span> (<span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code hl_class" href="classtrust_1_1ArrayView.html">StringView::Base</a>&amp;<span class="keyword">&gt;</span>(lhs) == <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code hl_class" href="classtrust_1_1ArrayView.html">StringView::Base</a>&amp;<span class="keyword">&gt;</span>(rhs));</div>
<div class="line"><span class="lineno"> 37</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="adaef46a362234f443088c3e79e4df16b" name="adaef46a362234f443088c3e79e4df16b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adaef46a362234f443088c3e79e4df16b">&#9670;&nbsp;</a></span>operator==() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool dna::operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structdna_1_1Vector3.html">Vector3</a> &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdna_1_1Vector3.html">Vector3</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 102</span> {</div>
<div class="line"><span class="lineno"> 103</span> <span class="keywordflow">return</span> (lhs.<a class="code hl_variable" href="structdna_1_1Vector3.html#a174ac0385ec85c98e8e2927fb15973bd">x</a> == rhs.<a class="code hl_variable" href="structdna_1_1Vector3.html#a174ac0385ec85c98e8e2927fb15973bd">x</a> &amp;&amp; lhs.<a class="code hl_variable" href="structdna_1_1Vector3.html#a98dedbceccb88f1327056fdd511b884d">y</a> == rhs.<a class="code hl_variable" href="structdna_1_1Vector3.html#a98dedbceccb88f1327056fdd511b884d">y</a> &amp;&amp; lhs.<a class="code hl_variable" href="structdna_1_1Vector3.html#a82be7bbbcdabd8602c94ecd8deff5a03">z</a> == rhs.<a class="code hl_variable" href="structdna_1_1Vector3.html#a82be7bbbcdabd8602c94ecd8deff5a03">z</a>);</div>
<div class="line"><span class="lineno"> 104</span>}</div>
<div class="ttc" id="astructdna_1_1Vector3_html_a174ac0385ec85c98e8e2927fb15973bd"><div class="ttname"><a href="structdna_1_1Vector3.html#a174ac0385ec85c98e8e2927fb15973bd">dna::Vector3::x</a></div><div class="ttdeci">float x</div><div class="ttdef"><b>Definition:</b> Vector3.h:8</div></div>
<div class="ttc" id="astructdna_1_1Vector3_html_a82be7bbbcdabd8602c94ecd8deff5a03"><div class="ttname"><a href="structdna_1_1Vector3.html#a82be7bbbcdabd8602c94ecd8deff5a03">dna::Vector3::z</a></div><div class="ttdeci">float z</div><div class="ttdef"><b>Definition:</b> Vector3.h:10</div></div>
<div class="ttc" id="astructdna_1_1Vector3_html_a98dedbceccb88f1327056fdd511b884d"><div class="ttname"><a href="structdna_1_1Vector3.html#a98dedbceccb88f1327056fdd511b884d">dna::Vector3::y</a></div><div class="ttdeci">float y</div><div class="ttdef"><b>Definition:</b> Vector3.h:9</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structdna_1_1Vector3.html#a174ac0385ec85c98e8e2927fb15973bd">dna::Vector3::x</a>, <a class="el" href="structdna_1_1Vector3.html#a98dedbceccb88f1327056fdd511b884d">dna::Vector3::y</a>, and <a class="el" href="structdna_1_1Vector3.html#a82be7bbbcdabd8602c94ecd8deff5a03">dna::Vector3::z</a>.</p>
</div>
</div>
<a id="ad98a16809d3fd34ff9c73795e74c3608" name="ad98a16809d3fd34ff9c73795e74c3608"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad98a16809d3fd34ff9c73795e74c3608">&#9670;&nbsp;</a></span>operator^()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TEnum &gt; </div>
<table class="memname">
<tr>
<td class="memname">std::enable_if&lt; std::is_enum&lt; TEnum &gt;::value, TEnum &gt;::type dna::operator^ </td>
<td>(</td>
<td class="paramtype">TEnum&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TEnum&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 25</span> {</div>
<div class="line"><span class="lineno"> 26</span> <span class="keyword">using </span>Underlying = <span class="keyword">typename</span> std::underlying_type&lt;TEnum&gt;::type;</div>
<div class="line"><span class="lineno"> 27</span> <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>TEnum<span class="keyword">&gt;</span>(<span class="keyword">static_cast&lt;</span>Underlying<span class="keyword">&gt;</span>(lhs) ^ <span class="keyword">static_cast&lt;</span>Underlying<span class="keyword">&gt;</span>(rhs));</div>
<div class="line"><span class="lineno"> 28</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a61e58cab7b5cd6afb72a383f98ce1923" name="a61e58cab7b5cd6afb72a383f98ce1923"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61e58cab7b5cd6afb72a383f98ce1923">&#9670;&nbsp;</a></span>operator^=()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TEnum &gt; </div>
<table class="memname">
<tr>
<td class="memname">std::enable_if&lt; std::is_enum&lt; TEnum &gt;::value, TEnum &gt;::type dna::operator^= </td>
<td>(</td>
<td class="paramtype">TEnum &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TEnum&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 51</span> {</div>
<div class="line"><span class="lineno"> 52</span> <span class="keywordflow">return</span> lhs = (lhs ^ rhs);</div>
<div class="line"><span class="lineno"> 53</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="adb2c2bf1fb3ec438880b7d7590cbbc86" name="adb2c2bf1fb3ec438880b7d7590cbbc86"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb2c2bf1fb3ec438880b7d7590cbbc86">&#9670;&nbsp;</a></span>operator|()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TEnum &gt; </div>
<table class="memname">
<tr>
<td class="memname">std::enable_if&lt; std::is_enum&lt; TEnum &gt;::value, TEnum &gt;::type dna::operator| </td>
<td>(</td>
<td class="paramtype">TEnum&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TEnum&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 18</span> {</div>
<div class="line"><span class="lineno"> 19</span> <span class="keyword">using </span>Underlying = <span class="keyword">typename</span> std::underlying_type&lt;TEnum&gt;::type;</div>
<div class="line"><span class="lineno"> 20</span> <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>TEnum<span class="keyword">&gt;</span>(<span class="keyword">static_cast&lt;</span>Underlying<span class="keyword">&gt;</span>(lhs) | <span class="keyword">static_cast&lt;</span>Underlying<span class="keyword">&gt;</span>(rhs));</div>
<div class="line"><span class="lineno"> 21</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a6498c0dc252169a658f5f60a65fe71c8" name="a6498c0dc252169a658f5f60a65fe71c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6498c0dc252169a658f5f60a65fe71c8">&#9670;&nbsp;</a></span>operator|=()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TEnum &gt; </div>
<table class="memname">
<tr>
<td class="memname">std::enable_if&lt; std::is_enum&lt; TEnum &gt;::value, TEnum &gt;::type dna::operator|= </td>
<td>(</td>
<td class="paramtype">TEnum &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TEnum&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 45</span> {</div>
<div class="line"><span class="lineno"> 46</span> <span class="keywordflow">return</span> lhs = (lhs | rhs);</div>
<div class="line"><span class="lineno"> 47</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a97566b9494a7aaad694034d8b14c9694" name="a97566b9494a7aaad694034d8b14c9694"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97566b9494a7aaad694034d8b14c9694">&#9670;&nbsp;</a></span>operator~()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TEnum &gt; </div>
<table class="memname">
<tr>
<td class="memname">std::enable_if&lt; std::is_enum&lt; TEnum &gt;::value, TEnum &gt;::type dna::operator~ </td>
<td>(</td>
<td class="paramtype">TEnum&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 32</span> {</div>
<div class="line"><span class="lineno"> 33</span> <span class="keyword">using </span>Underlying = <span class="keyword">typename</span> std::underlying_type&lt;TEnum&gt;::type;</div>
<div class="line"><span class="lineno"> 34</span> <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>TEnum<span class="keyword">&gt;</span>(~static_cast&lt;Underlying&gt;(value));</div>
<div class="line"><span class="lineno"> 35</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ad001e7d42ce133a3839d6805f7b9fe32" name="ad001e7d42ce133a3839d6805f7b9fe32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad001e7d42ce133a3839d6805f7b9fe32">&#9670;&nbsp;</a></span>remap()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void dna::remap </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>originalCount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacepma.html#aa4a7d53c17b0073cbf7c83622dffcfd1">UnorderedSet</a>&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>keptIndices</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacepma.html#ada0fd0f9404c2e6f4bfcf09e36428621">UnorderedMap</a>&lt; T, T &gt; &amp;&#160;</td>
<td class="paramname"><em>mapping</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 11</span> {</div>
<div class="line"><span class="lineno"> 12</span> <span class="keywordflow">for</span> (T oldIndex{}, newIndex{}; oldIndex &lt; originalCount; ++oldIndex) {</div>
<div class="line"><span class="lineno"> 13</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="namespaceextd.html#a002ec342c016b4bc7cb2a886e13638c2">extd::contains</a>(keptIndices, oldIndex)) {</div>
<div class="line"><span class="lineno"> 14</span> mapping.insert({oldIndex, newIndex});</div>
<div class="line"><span class="lineno"> 15</span> ++newIndex;</div>
<div class="line"><span class="lineno"> 16</span> }</div>
<div class="line"><span class="lineno"> 17</span> }</div>
<div class="line"><span class="lineno"> 18</span>}</div>
<div class="ttc" id="anamespaceextd_html_a002ec342c016b4bc7cb2a886e13638c2"><div class="ttname"><a href="namespaceextd.html#a002ec342c016b4bc7cb2a886e13638c2">extd::contains</a></div><div class="ttdeci">bool contains(TInputIterator first, TInputIterator last, const T &amp;value)</div><div class="ttdef"><b>Definition:</b> utils/Extd.h:40</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespaceextd.html#a002ec342c016b4bc7cb2a886e13638c2">extd::contains()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classdna_1_1AnimatedMapFilter.html#a8c6cb59a6ee300af107fb1f958be03e4">dna::AnimatedMapFilter::configure()</a>, <a class="el" href="classdna_1_1BlendShapeFilter.html#af5e4098d03df979b6bdcd684c4720015">dna::BlendShapeFilter::configure()</a>, <a class="el" href="classdna_1_1JointFilter.html#abe98bfb6dcf85c71c8aaba161ab94582">dna::JointFilter::configure()</a>, and <a class="el" href="classdna_1_1MeshFilter.html#a809efea7bc2dae3dcf45c5f005e80431">dna::MeshFilter::configure()</a>.</p>
</div>
</div>
<a id="aeb9729de45b0a394c99c8907bce661c3" name="aeb9729de45b0a394c99c8907bce661c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb9729de45b0a394c99c8907bce661c3">&#9670;&nbsp;</a></span>remappedPositions()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , typename U &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="namespacepma.html#ada0fd0f9404c2e6f4bfcf09e36428621">UnorderedMap</a>&lt; U, U &gt; dna::remappedPositions </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacepma.html#a2d6fe21d674b98f7f9bc8dc3a2776cb9">Vector</a>&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>target</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacepma.html#aa4a7d53c17b0073cbf7c83622dffcfd1">UnorderedSet</a>&lt; U &gt; &amp;&#160;</td>
<td class="paramname"><em>indices</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a> *&#160;</td>
<td class="paramname"><em>memRes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 27</span> {</div>
<div class="line"><span class="lineno"> 28</span> <a class="code hl_typedef" href="namespacepma.html#ada0fd0f9404c2e6f4bfcf09e36428621">UnorderedMap&lt;U, U&gt;</a> mapping{memRes};</div>
<div class="line"><span class="lineno"> 29</span> <span class="keywordflow">for</span> (U oldIndex{}, newIndex{}; oldIndex &lt; static_cast&lt;U&gt;(target.size()); ++oldIndex) {</div>
<div class="line"><span class="lineno"> 30</span> <span class="keywordflow">if</span> (indices.find(oldIndex) != indices.end()) {</div>
<div class="line"><span class="lineno"> 31</span> mapping.insert({oldIndex, newIndex});</div>
<div class="line"><span class="lineno"> 32</span> ++newIndex;</div>
<div class="line"><span class="lineno"> 33</span> }</div>
<div class="line"><span class="lineno"> 34</span> }</div>
<div class="line"><span class="lineno"> 35</span> <span class="keywordflow">return</span> mapping;</div>
<div class="line"><span class="lineno"> 36</span>}</div>
<div class="ttc" id="anamespacepma_html_ada0fd0f9404c2e6f4bfcf09e36428621"><div class="ttname"><a href="namespacepma.html#ada0fd0f9404c2e6f4bfcf09e36428621">pma::UnorderedMap</a></div><div class="ttdeci">std::unordered_map&lt; K, V, std::hash&lt; K &gt;, std::equal_to&lt; K &gt;, Allocator &gt; UnorderedMap</div><div class="ttdef"><b>Definition:</b> include/pma/TypeDefs.h:47</div></div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a117519626c9cd44fb83eae7f17b3f25a" name="a117519626c9cd44fb83eae7f17b3f25a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a117519626c9cd44fb83eae7f17b3f25a">&#9670;&nbsp;</a></span>jointAttributeCount</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr std::uint16_t dna::jointAttributeCount = 9u</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
2023-04-21 18:19:55 +08:00
<p class="reference">Referenced by <a class="el" href="classdna_1_1JointFilter.html#ad365dfe45ef08d37d79c37e61ccd1252">dna::JointFilter::apply()</a>, <a class="el" href="classdnac_1_1JointFilter.html#a43b0dfa72a3e2c94b33c592225cc472c">dnac::JointFilter::apply()</a>, <a class="el" href="classdna_1_1FilteredInputArchive.html#ab9d882b0e1a9176cfcf93fe52fe57da7">dna::FilteredInputArchive::process()</a>, and <a class="el" href="classdnac_1_1ScaleCommand_1_1Impl.html#a765e5aba59db044180e88a69baa32dbd">dnac::ScaleCommand::Impl::scaleJointBehavior()</a>.</p>
2022-11-28 19:21:26 +08:00
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>