summaryrefslogtreecommitdiffhomepage
path: root/Stars45/TrackIR.h
blob: c402f1045361183666e144c88ae6c8f08100f9c9 (plain)
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
/*  Starshatter: The Open Source Project
    Copyright (c) 2021-2022, Starshatter: The Open Source Project Contributors
    Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors
    Copyright (c) 1997-2006, Destroyer Studios LLC.

    AUTHOR:       John DiCamillo


    OVERVIEW
    ========
    TrackIR head tracker interface class
*/

#ifndef TrackIR_h
#define TrackIR_h

#include "Types.h"

// +--------------------------------------------------------------------+

class TrackIR
{
public:
    TrackIR();
    ~TrackIR();

    DWORD    ExecFrame();

    bool     IsRunning()    const { return running; }
    double   GetAzimuth()   const { return az; }
    double   GetElevation() const { return el; }

    double   GetX()         const { return x;  }
    double   GetY()         const { return y;  }
    double   GetZ()         const { return z;  }

protected:

    bool     running;
    DWORD    stale_frames;
    DWORD    frame_signature;

    double   az;
    double   el;

    double   x; // vrt
    double   y; // vup
    double   z; // vpn (i think)
};

#endif  // TrackIR_h