A working example with TrackIR

Pose not stable yet.
Code needs clean up.
An example of using TrackIR camera

In the example, there is a box responding to the movement of the
tracking tool (6DOF).

Things to do:
1. Make the view change as tool moves instead of the box
2. Offer a hotkey to “center” the view based on the current pose of the
   tool.
Revise documentation in TrackIRDevice, update default parameters
Revise TrackIRScaffold

1. Reorder interface in TrackIRScaffold.h

2. Remove unused headers in TrackIRScaffold.cpp

3. Handle multiple cameras

4. Fix rotation (yaw, pitch, roll) -> (pitch, yaw, roll)

5. Add some documentation

6. Make TrackIRScaffold::registerDevice() has only one "return"
TrackIRDevice/Scaffold Unit Tests Revsion
CMakeList files revision

1. Copy DLLs into build folder

2. Add "CAMERALIBRARY_IMPORTS" preprocessor definition.
    Natural Point CameraSDK needs this to work properly.
TrackIRThread class style revision

1. Add some documentations

2. Use forward decleartion instead of "#include"

3. Change thread update rate to 60Hz (from 120Hz)
TrackIR Example

An simple example with TrackIR tracking tool controls the view angle.
Merge remote-tracking branch 'origin/master' into wip/TrackIR
Drop TransferTrackIRPoseBehavior class

TransferInputPoseBehavior can do the work.
Thus, no need for a new behavoir.
Drop VisualTest for TrackIR

Visual validation is done in TrackIR Example.
Build TrackIR device only when driver found
Add Linux support for TrackIR

Use 3rd party driver (LinuxTrack) to enable
useage of TrackIR under Linux platform.
Give path to CMake to find linuxtrack
Linux TrackIRScaffold revision

1. Use lower case instead of upper case for variable name

2. Even linuxtrack currently produce inconsistent Z-axis value, use it.
   (There is a comment about it though)
Windows TrackIRScaffold revision

1. Remove unused header

2. Coding format revision

3. Pose will be produced only when the camera captures three markers,
   otherwise, an invalid pose will be generated.
Revise TransferInputPoseBehavior to cooperate invalid pose

When incoming pose from InputComponent is invalid, this behavior will
set the pose to (0, 0, 0) will no rotation on any axis.
Drop unit test for output producer in TrackIR

Reason: no need for output producer.
Documentation revision
Revise FindOptiTrack CMake file