00001 00010 #ifndef FLYNAVINT_H 00011 #define FLYNAVINT_H 00012 00013 // Gluebase includes 00014 #define OUTSIDE_GLUE_CORE 00015 #include <fsa/fsa.H> 00016 #include <mlib/points.H> 00017 #include <dev/room6d.H> 00018 #include <dev/dev2d.H> 00019 #include <dev/buttons.H> 00020 #include <config/config.H> 00021 #include <std/hash.H> 00022 #include <dev/polled.H> 00023 00024 #include "DrawPoint.H" 00025 00026 00027 namespace InSpace { 00028 00029 class FlyNavInt : public Interactor<FlyNavInt>, public DEVpolled 00030 { 00031 public: 00032 00033 FlyNavInt(); 00034 virtual ~FlyNavInt() {} 00035 00036 protected: 00037 00038 void motionSix(cEVENTroom6dptr &evt, STATE *&); 00039 void motionTwo(cEVENT2dptr &evt, STATE *&); 00040 00041 virtual void do_poll(); 00042 00043 virtual void fly(); 00044 00045 EVENTroom6dptr _tracker; 00046 EVENT2dptr _joystick; 00047 00048 00049 DrawPoint *_rotPointMarker; 00050 00051 Wtransf _delta; 00052 Wtransf _trans; 00053 00054 double _prevValY; 00055 double _prevValX; 00056 00057 }; 00058 00059 } 00060 00061 #endif