NaviTrack Tutorial:Creating module:Adding module

From NAMIC Wiki
Jump to: navigation, search
Home < NaviTrack Tutorial:Creating module:Adding module

In this page, we will add "MyTutorialModule" to your NaviTrack.

Step 1: Deploy your source codes

Put your *.cxx files into "src/input/", and *.h into "include/OpenTracker/input".

In UNIX:

% cp *.cxx <your NaviTrack directory>/src/input/
% cp *.h   <your NaviTrack directory>/include/OpenTracker/input/


Step 2: Configure Cmake

Configure your "CMakeLists.txt" at the root of your NaviTrack source tree, so that NaviTrack is compiled with your own module.

In SET(SOURCES ...) section in CMakeLists.txt (starts from L.126), add paths to your *.cxx files as:

SET(SOURCES
src/core/Event.cxx
src/core/EventAttributeBase.cxx
src/core/Translator.cxx

...

src/input/CustomTransformation.cxx
src/input/SpaceTravellerModule.cxx
src/input/MyTutorialModule.cxx                       <----- Here !!!
src/tool/OT_ACE_Log.cxx
src/input/QuatToMatrix.cxx
src/types/Image.cxx
)

Step 3: Register your module in SPLModule

SPLModule is a special module to register all NaviTrack modules, whenever the NaviTracker is started. This registration enables the NaviTrack to recognize names of modules described in a XML configuration file.

To register your own module, you need to add just two lines into src/misc/SPLModules.cxx.

(1) Include the header file

At the including section in src/misc/SPLModules.cxx:

#include <OpenTracker/OpenTracker.h>
#include <OpenTracker/misc/SPLCommonNodeFactory.h>
#include <OpenTracker/core/Configurator.h>
#include <OpenTracker/input/EndoScoutModule.h>

 ...

#include <OpenTracker/input/MyTutorialModule.h>              <--- Here !!!

(2) CALL OT_REGISTER_MODULE() macro

Add your own module using OT_REGISTER_MODULE() macro in addSPLModules() function (L.50-):

 OPENTRACKER_API int addSPLModules()
 {
 
   OT_REGISTER_MODULE(NaviTrack, NULL);
   
   OT_REGISTER_MODULE(SpaceTravellerModule, NULL);
   
   OT_REGISTER_MODULE(NDIModule, NULL);
   
   OT_REGISTER_MODULE(MyTutorialModule, NULL);                      <---   Here !!!
   
   ....

Step 4: Cmake and build it!

Now you are ready to generate new Makefile and build your NaviTrack.

Run CMake to apply your change in CMakeLists.txt to Makefile and start building.


Go back to Creating module