![]() |
OpenNI 1.5.2
|
Note that OpenNI has a different interface for a node implementation than the actual API of the node. However sometimes very similar, those interfaces are different.
The module's interfaces (C++ ones) are defined in file XnModuleCppInterface.h.
The following table lists current OpenNI node types and their module interface.
| Node Type | Module Interface |
|---|---|
| Production Node | xn::ModuleProductionNode |
| Device | xn::ModuleDevice |
| Generator | xn::ModuleGenerator |
| Recorder | xn::ModuleRecorder |
| Player | xn::ModulePlayer |
| Map Generator | xn::ModuleMapGenerator |
| Depth Generator | xn::ModuleDepthGenerator |
| Image Generator | xn::ModuleImageGenerator |
| IR Generator | xn::ModuleIRGenerator |
| Gestures Generator | xn::ModuleGestureGenerator |
| Scene Analyzer | xn::ModuleSceneAnalyzer |
| Hands Generator | xn::ModuleHandsGenerator |
| User Generator | xn::ModuleUserGenerator |
| Audio Generator | xn::ModuleAudioGenerator |
| Codec | xn::ModuleCodec |
| Script | xn::ModuleScriptNode |
Our newly created class should inherit virtually from the proper interface. For example, if we're creating a hand generator then our class declaration should start with:
class MyHandGenerator: public virtual xn::ModuleHandsGenerator { ... };
1.7.6.1