expressed/v_dl/sdk/doc/FDP.html

2628 lines
40 KiB
HTML
Raw Permalink Normal View History

2023-11-20 16:39:21 +00:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: FDP</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: FDP</h1>
<section>
<header>
<h2>
FDP
</h2>
</header>
<article>
<div class="container-overview">
<dt>
<h4 class="name" id="FDP"><span class="type-signature"></span>new FDP<span class="signature">()</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Feature points of a face.
<br/><br/>
This class is a container for facial feature points as defined by <a href="doc/MPEG-4 FBA Overview.pdf">MPEG-4 FBA standard</a>, as well as
some additional feature points. Feature points are identified by their group (for example, feature points of
the nose constitute their own group) and index. So, for example, the tip of the chin belongs to group 2 and has
index 1, so it is identified as point 2.1. The identification of all MPEG-4 feature points is
illustrated in the image below:
<br/><br/>
<img src="images/mpeg-4_fba.png">
<img src="images/half_profile_physical_2d.png">
<br/><br/>
Groups 2 - 11 contain feature points defined according to the MPEG-4 FBA standard,
and groups 12, 14 and 17 contain additional feature points that are not part of the MPEG-4 standard (12.1, 12.5, 12.6, 12.7, 12.8, 12.9, 12.10, 12.11, 12.12, 14.1, 14.2, 14.3, 14.4, 14.21, 14.22, 14.23, 14.24, 14.25, 17.5 - 17.20).<br/>
<br>
Group 15 contains the physical contour points (15.1-15.17).
Please note that point 15.17 is exactly identical to point 2.1 (2.1 point exists for MPEG-4 compatibility purposes).
<br/><br/>
FDP class stores feature point information. It also provides functions for reading and writing the feature point data as files,
as well as certain auxiliary members that deal with normalisation of feature points and their classification according to
facial region.
<br/><br/>
The actual data for each feature point is stored in the structure FeaturePoint. One such structure is allocated for each feature point. To
access a feature point, use one of the functions getFP() that access a feature point by its group and index expressed either as integer values, or as a string (e.g. "2.1").
Functions getFPPos() are available as a convenience, to access the feature point coordinates directly, without first accessing the FeaturePoint structure.
<br/><br/>
The feature points may relate to a particular 3D model. In such a case it is interesting to know, for each feature point, to
which vertex it belongs. For this purpose, the FeaturePoint structure contains the mesh identifier
and vertex index that correspond to the feature point and the FDP class provides functions to access this data.
<br/><br/>
<b><i>Left-right convention</i></b>
<br/><br/>
References to left and right in feature point definitions are given from the perspective of the face itself so "right eye"
can be imagined as "my right eye". When referring to feature points in an image, it is assumed that image is taken by camera and
not mirrored so "right eye" is on the left in the image, as shown in feature points illustration above.
<br/><br/>
</div>
<dl class="details">
<dt class="tag-see">See:</dt>
<dd class="tag-see">
<ul>
<li><a href="FeaturePoint.html">FeaturePoint</a></li>
<li><a href="global.html#FP_START_GROUP_INDEX">FP_START_GROUP_INDEX</a>, <a href="global.html#FP_END_GROUP_INDEX">FP_END_GROUP_INDEX</a>, <a href="global.html#FP_NUMBER_OF_GROUPS">FP_NUMBER_OF_GROUPS</a></li>
</ul>
</dd>
</dl>
</dd>
</div>
<h3 class="subsection-title">Methods</h3>
<dl>
<dt>
<h4 class="name" id="getFP"><span class="type-signature"></span>getFP<span class="signature">(group, n)</span><span class="type-signature"> &rarr; {<a href="FeaturePoint.html">FeaturePoint</a>}</span></h4>
</dt>
<dd>
<div class="description">
Get a feature point by its group and index.
<br/>
<b>Note</b>: After the end of use, obtained FeaturePoint needs to be deleted to release the allocated memory. Example:
<pre class="prettyprint source"><code>
var left_eye_fp = faceData.getFeaturePoints2D().getFP(3,5);
var right_eye_fp = faceData.getFeaturePoints2D().getFP(3,6);
...
left_eye_fp.delete();
right_eye_fp.delete();
</code></pre>
<br/><br/>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>group</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point group. Valid range is from <a href="global.html#FP_START_GROUP_INDEX">FP_START_GROUP_INDEX</a> to <a href="global.html#FP_END_GROUP_INDEX">FP_END_GROUP_INDEX</a>.</td>
</tr>
<tr>
<td class="name"><code>n</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point index. Valid range is from 1 to the size of particular group. Group sizes can be obtained using groupSize().
<br/><br/></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
Feature point object corresponding to the group and index
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="FeaturePoint.html">FeaturePoint</a></span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="setFP"><span class="type-signature"></span>setFP<span class="signature">(group, n, featurePoint)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Set a feature specified by its group and index.
<br/><br/>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>group</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point group. Valid range is from <a href="global.html#FP_START_GROUP_INDEX">FP_START_GROUP_INDEX</a> to <a href="global.html#FP_END_GROUP_INDEX">FP_END_GROUP_INDEX</a>.</td>
</tr>
<tr>
<td class="name"><code>n</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point index. Valid range is from 1 to the size of particular group. Group sizes can be obtained using groupSize().</td>
</tr>
<tr>
<td class="name"><code>featurePoint</code></td>
<td class="type">
<span class="param-type"><a href="FeaturePoint.html">FeaturePoint</a></span>
</td>
<td class="description last">The feature point object to set.
<br/><br/></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
</dd>
<dt>
<h4 class="name" id="setFP"><span class="type-signature"></span>setFP<span class="signature">(name, featurePoint)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Set a feature specified by its name.
<br/><br/>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>name</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">Feature point name (e.g. "7.1").</td>
</tr>
<tr>
<td class="name"><code>featurePoint</code></td>
<td class="type">
<span class="param-type"><a href="FeaturePoint.html">FeaturePoint</a></span>
</td>
<td class="description last">The feature point object to set.</td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
</dd>
<dt>
<h4 class="name" id="getFPPos"><span class="type-signature"></span>getFPPos<span class="signature">(group, n)</span><span class="type-signature"> &rarr; {Float32Array}</span></h4>
</dt>
<dd>
<div class="description">
Get the position of a feature point specified by its group and index.
<br/><br/>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>group</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point group. Valid range is from <a href="global.html#FP_START_GROUP_INDEX">FP_START_GROUP_INDEX</a> to <a href="global.html#FP_END_GROUP_INDEX">FP_END_GROUP_INDEX</a>.</td>
</tr>
<tr>
<td class="name"><code>n</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point index. Valid range is from 1 to the size of particular group. Group sizes can be obtained using groupSize().
<br/><br/></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
Vertex position (array of 3 numbers).
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Float32Array</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="setFPPos"><span class="type-signature"></span>setFPPos<span class="signature">(group, n, x, y, z)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Set the position of a feature point specified by its group and index.
<br/><br/>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>group</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point group. Valid range is from <a href="global.html#FP_START_GROUP_INDEX">FP_START_GROUP_INDEX</a> to <a href="global.html#FP_END_GROUP_INDEX">FP_END_GROUP_INDEX</a>.</td>
</tr>
<tr>
<td class="name"><code>n</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point index. Valid range is from 1 to the size of particular group. Group sizes can be obtained using groupSize().</td>
</tr>
<tr>
<td class="name"><code>x</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Vertex x position.</td>
</tr>
<tr>
<td class="name"><code>y</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Vertex y position.</td>
</tr>
<tr>
<td class="name"><code>z</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Vertex z position.
<br/><br/></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
</dd>
<dt>
<h4 class="name" id="getFPQuality"><span class="type-signature"></span>getFPQuality<span class="signature">(group, n)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Get the quality of a feature point specified by its group and index.
<br/><br/>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>group</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point group. Valid range is from <a href="global.html#FP_START_GROUP_INDEX">FP_START_GROUP_INDEX</a> to <a href="global.html#FP_END_GROUP_INDEX">FP_END_GROUP_INDEX</a>.</td>
</tr>
<tr>
<td class="name"><code>n</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point index. Valid range is from 1 to the size of particular group. Group sizes can be obtained using groupSize().
<br/><br/></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
</dd>
<dt>
<h4 class="name" id="setFPQuality"><span class="type-signature"></span>setFPQuality<span class="signature">(group, n, quality)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Set the quality of a feature point specified by its group and index.
<br/><br/>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>group</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point group. Valid range is from <a href="global.html#FP_START_GROUP_INDEX">FP_START_GROUP_INDEX</a> to <a href="global.html#FP_END_GROUP_INDEX">FP_END_GROUP_INDEX</a>.</td>
</tr>
<tr>
<td class="name"><code>n</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point index. Valid range is from 1 to the size of particular group. Group sizes can be obtained using groupSize().</td>
</tr>
<tr>
<td class="name"><code>quality</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">quality value.
<br/><br/></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
</dd>
<dt>
<h4 class="name" id="setFPPos"><span class="type-signature"></span>setFPPos<span class="signature">(name, x, y, z)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Set the position of a feature point specified by its name.
<br/><br/>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>name</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">Feature point name (e.g. "7.1").</td>
</tr>
<tr>
<td class="name"><code>x</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Vertex x position.</td>
</tr>
<tr>
<td class="name"><code>y</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Vertex y position.</td>
</tr>
<tr>
<td class="name"><code>z</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Vertex z position.
<br/><br/></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
</dd>
<dt>
<h4 class="name" id="reset"><span class="type-signature"></span>reset<span class="signature">()</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Resets all feature points.
<br/><br/>
The value of all feature points is set to "undefined".
<br/><br/>
</div>
<dl class="details">
</dl>
</dd>
<dt>
<h4 class="name" id="FPIsDefined"><span class="type-signature"></span>FPIsDefined<span class="signature">(group, n)</span><span class="type-signature"> &rarr; {boolean}</span></h4>
</dt>
<dd>
<div class="description">
Returns true if the feature point is defined. For more information see <a href="FeaturePoint.html#defined">FeaturePoint.defined</a>.
<br/><br/>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>group</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point group. Valid range is from <a href="global.html#FP_START_GROUP_INDEX">FP_START_GROUP_INDEX</a> to <a href="global.html#FP_END_GROUP_INDEX">FP_END_GROUP_INDEX</a>.</td>
</tr>
<tr>
<td class="name"><code>n</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point index. Valid range is from 1 to the size of particular group. Group sizes can be obtained using groupSize().
<br/><br/></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
True if the feature point is defined, false otherwise.
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">boolean</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="FPIsDetected"><span class="type-signature"></span>FPIsDetected<span class="signature">(group, n)</span><span class="type-signature"> &rarr; {boolean}</span></h4>
</dt>
<dd>
<div class="description">
Returns true if the feature point is detected. For more information see <a href="FeaturePoint.html#detected">FeaturePoint.detected</a>.
<br/><br/>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>group</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point group. Valid range is from <a href="global.html#FP_START_GROUP_INDEX">FP_START_GROUP_INDEX</a> to <a href="global.html#FP_END_GROUP_INDEX">FP_END_GROUP_INDEX</a>.</td>
</tr>
<tr>
<td class="name"><code>n</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point index. Valid range is from 1 to the size of particular group. Group sizes can be obtained using groupSize().
<br/><br/></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
True if the feature point is detected, false otherwise.
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">boolean</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="FPIsValid"><span class="type-signature"></span>FPIsValid<span class="signature">(group, n)</span><span class="type-signature"> &rarr; {boolean}</span></h4>
</dt>
<dd>
<div class="description">
Returns true if specified feature point identifier is valid. Identifier is valid if it consists of feature point group and feature point index within valid ranges.
<br/><br/>
<b>Note</b>: The method is static meaning it is accessible directly from the FDP object's constructor. Example:
<pre class="prettyprint source"><code>
var isPointValid = VisageModule.FDP.FPIsValid(group, n);
</code></pre>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>group</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point group. Valid range is from <a href="global.html#FP_START_GROUP_INDEX">FP_START_GROUP_INDEX</a> to <a href="global.html#FP_END_GROUP_INDEX">FP_END_GROUP_INDEX</a>.</td>
</tr>
<tr>
<td class="name"><code>n</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point index. Valid range is from 1 to the size of particular group. Group sizes can be obtained using groupSize().
<br/><br/></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
True if specified feature point identifier is valid, false otherwise.
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">boolean</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="FPIsValid"><span class="type-signature"></span>FPIsValid<span class="signature">(name)</span><span class="type-signature"> &rarr; {boolean}</span></h4>
</dt>
<dd>
<div class="description">
Returns true if specified feature point identifier is valid. Identifier i.e. feature point name is valid if it consists of feature point group and feature point index within valid ranges and is of the correct format.
Valid range for feature point group is from <a href="global.html#FP_START_GROUP_INDEX">FP_START_GROUP_INDEX</a> to <a href="global.html#FP_END_GROUP_INDEX">FP_END_GROUP_INDEX</a>. Valid range for feature point index is from 1 to the size of particular group.
<br/><br/>
<b>Note</b>: The method is static meaning it is accessible directly from the FDP object's constructor. Example:
<pre class="prettyprint source"><code>
var isPointValid = VisageModule.FDP.FPIsValid("2.1");
</code></pre>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>name</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">Feature point name (e.g. "7.1").
<br/><br/></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
True if specified feature point identifier is valid, false otherwise.
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">boolean</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="getFPName"><span class="type-signature"></span>getFPName<span class="signature">(group, n)</span><span class="type-signature"> &rarr; {string}</span></h4>
</dt>
<dd>
<div class="description">
Get feature point name from group and index.
<br/><br/>
<b>Note</b>: The method is static meaning it is accessible directly from the FDP object's constructor. Example:
<pre class="prettyprint source"><code>
var pointName = VisageModule.FDP.getFPName(group, n);
</code></pre>
The method is static and should be called
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>group</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point group. Valid range is from <a href="global.html#FP_START_GROUP_INDEX">FP_START_GROUP_INDEX</a> to <a href="global.html#FP_END_GROUP_INDEX">FP_END_GROUP_INDEX</a>.</td>
</tr>
<tr>
<td class="name"><code>n</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point index. Valid range is from 1 to the size of particular group. Group sizes can be obtained using groupSize().
<br/><br/></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
Feature point name.
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">string</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="groupSize"><span class="type-signature"></span>groupSize<span class="signature">(group)</span><span class="type-signature"> &rarr; {number}</span></h4>
</dt>
<dd>
<div class="description">
Get the size of the specified feature point group.
Valid range for group is from <a href="global.html#FP_START_GROUP_INDEX">FP_START_GROUP_INDEX</a> to <a href="global.html#FP_END_GROUP_INDEX">FP_END_GROUP_INDEX</a>.
<br/><br/>
<b>Note</b>: The method is static meaning it is accessible directly from the FDP object's constructor. Example:
<pre class="prettyprint source"><code>
var groupSize = VisageModule.FDP.groupSize(group);
</code></pre>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>group</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point group. Valid range is from <a href="global.html#FP_START_GROUP_INDEX">FP_START_GROUP_INDEX</a> to <a href="global.html#FP_END_GROUP_INDEX">FP_END_GROUP_INDEX</a>.
<br/><br/></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
Size of the specified feature point group.
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">number</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="getMirrorPointIndex"><span class="type-signature"></span>getMirrorPointIndex<span class="signature">(group, n)</span><span class="type-signature"> &rarr; {number}</span></h4>
</dt>
<dd>
<div class="description">
Get the mirror point index for the point defined by given group and index.
<br/><br/>
<b>Note</b>: The method is static meaning it is accessible directly from the FDP object's constructor. Example:
<pre class="prettyprint source"><code>
var mirrorPointIndex = VisageModule.FDP.getMirrorPointIndex(group);
</code></pre>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>group</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point group. Valid range is from <a href="global.html#FP_START_GROUP_INDEX">FP_START_GROUP_INDEX</a> to <a href="global.html#FP_END_GROUP_INDEX">FP_END_GROUP_INDEX</a>.</td>
</tr>
<tr>
<td class="name"><code>n</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Feature point index. Valid range is from 1 to the size of particular group. Group sizes can be obtained using groupSize().
<br/><br/></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
n of the mirror point (group is the same).
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">number</span>
</dd>
</dl>
</dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="module-VisageTrackerUnityPlugin.html">VisageTrackerUnityPlugin</a></li><li><a href="module-VisageAnalyserUnityPlugin.html">VisageAnalyserUnityPlugin</a></li></ul><h3>Classes</h3><ul><li><a href="FaceData.html">FaceData</a></li><li><a href="ScreenSpaceGazeData.html">ScreenSpaceGazeData</a></li><li><a href="VectorFloat.html">VectorFloat</a></li><li><a href="VectorShort.html">VectorShort</a></li><li><a href="VectorString.html">VectorString</a></li><li><a href="VisageFaceAnalyser.html">VisageFaceAnalyser</a></li><li><a href="AnalysisData.html">AnalysisData</a></li><li><a href="FeaturePoint.html">FeaturePoint</a></li><li><a href="FDP.html">FDP</a></li><li><a href="VisageDetector.html">VisageDetector</a></li><li><a href="FaceDataVector.html">FaceDataVector</a></li><li><a href="VSRectVector.html">VSRectVector</a></li><li><a href="VSRect.html">VSRect</a></li><li><a href="VisageGazeTracker.html">VisageGazeTracker</a></li><li><a href="VisageFaceRecognition.html">VisageFaceRecognition</a></li><li><a href="VisageTracker.html">VisageTracker</a></li><li><a href="VisageConfiguration.html">VisageConfiguration</a></li><li><a href="VisageLivenessBlink.html">VisageLivenessBlink</a></li><li><a href="VisageLivenessSmile.html">VisageLivenessSmile</a></li><li><a href="VisageLivenessBrowRaise.html">VisageLivenessBrowRaise</a></li><li><a href="VisageAR.html">VisageAR</a></li></ul><h3>Global</h3><ul><li><a href="global.html#FP_START_GROUP_INDEX">FP_START_GROUP_INDEX</a></li><li><a href="global.html#FP_END_GROUP_INDEX">FP_END_GROUP_INDEX</a></li><li><a href="global.html#FP_NUMBER_OF_GROUPS">FP_NUMBER_OF_GROUPS</a></li><li><a href="global.html#initializeLicenseManager">initializeLicenseManager</a></li><li><a href="global.html#VisageTrackerStatus">VisageTrackerStatus</a></li><li><a href="global.html#VisageTrackerImageFormat">VisageTrackerImageFormat</a></li><li><a href="global.html#VisageTrackerOrigin">VisageTrackerOrigin</a></li><li><a href="global.html#getSDKVersion">getSDKVersion</a></li></ul>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0</a> on Sat Jul 29 2023 01:38:28 GMT-0000 (GMT)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>