1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
/**
@page modules_node_interface Implement the Proper Interface
Note that OpenNI has a different interface for a node implementation
(MPI) than the actual API of the node. Although they seem superficially
very similar, the MPI and API interfaces are different.
The module's MPI interfaces (C++ ones) are defined in file @ref
XnModuleCppInterface.h.
The following table lists current OpenNI node types and their module
interface.
<table>
<tr>
<th>Node Type</th>
<th>Module Interface</th>
</tr>
<tr>
<td>Production Node</td>
<td>@ref xn::ModuleProductionNode</td>
</tr>
<tr>
<td>Device</td>
<td>@ref xn::ModuleDevice</td>
</tr>
<tr>
<td>Generator</td>
<td>@ref xn::ModuleGenerator</td>
</tr>
<tr>
<td>Recorder</td>
<td>@ref xn::ModuleRecorder</td>
</tr>
<tr>
<td>Player</td>
<td>@ref xn::ModulePlayer</td>
</tr>
<tr>
<td>Map Generator</td>
<td>@ref xn::ModuleMapGenerator</td>
</tr>
<tr>
<td>Depth Generator</td>
<td>@ref xn::ModuleDepthGenerator</td>
</tr>
<tr>
<td>Image Generator</td>
<td>@ref xn::ModuleImageGenerator</td>
</tr>
<tr>
<td>IR Generator</td>
<td>@ref xn::ModuleIRGenerator</td>
</tr>
<tr>
<td>Gestures Generator</td>
<td>@ref xn::ModuleGestureGenerator</td>
</tr>
<tr>
<td>Scene Analyzer</td>
<td>@ref xn::ModuleSceneAnalyzer</td>
</tr>
<tr>
<td>Hands Generator</td>
<td>@ref xn::ModuleHandsGenerator</td>
</tr>
<tr>
<td>User Generator</td>
<td>@ref xn::ModuleUserGenerator</td>
</tr>
<tr>
<td>Audio Generator</td>
<td>@ref xn::ModuleAudioGenerator</td>
</tr>
<tr>
<td>Codec</td>
<td>@ref xn::ModuleCodec</td>
</tr>
<tr>
<td>Script</td>
<td>@ref xn::ModuleScriptNode</td>
</tr>
</table>
When you want to create a new class, it must inherit virtually from the
corresponding interface. For example, if you are developing a hand
generator, the class declaration must be as follows:
@code
class MyHandGenerator: public virtual xn::ModuleHandsGenerator
{
...
};
@endcode
*/
|