00001 00013 #ifndef DEV2DTODEV6DSPHERE_H 00014 #define DEV2DTODEV6DSPHERE_H 00015 00016 // gluebase includes 00017 #define OUTSIDE_GLUE_CORE 00018 #include <fsa/fsa.H> 00019 #include <dev/buttons.H> 00020 #include <dev/dev2d.H> 00021 #include <dev/room6d.H> 00022 #include <config/config.H> 00023 #include <mlib/points.H> 00024 00025 00026 class Dev2dToDev6dSphere : public Interactor<Dev2dToDev6dSphere> 00027 { 00028 public: 00029 00030 // assumes usual conventions to make this work for a fishtank viewing 00031 // setup, up = -Y, right = +X, initially looking down +Z axis. 00032 00033 Dev2dToDev6dSphere(str_ptr dev2d, str_ptr dev6d, 00034 double sphere_rad, double side_angle, double up_angle); 00035 virtual ~Dev2dToDev6dSphere(); 00036 00037 protected: 00038 00039 void motion(cEVENT2dptr &evt, STATE *&); 00040 00041 double _rad, _upangle, _sideangle; 00042 00043 EVENT2dptr _dev2d; 00044 DEVice_room6d *_tracker; 00045 }; 00046 00047 00048 #endif