Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

Dev2dToDev6d.H

Go to the documentation of this file.
00001 
00010 #ifndef DEV2DTODEV6D_H
00011 #define DEV2DTODEV6D_H
00012 
00013 // gluebase includes
00014 #define OUTSIDE_GLUE_CORE
00015 #include <fsa/fsa.H>
00016 #include <dev/buttons.H>
00017 #include <dev/dev2d.H>
00018 #include <dev/room6d.H>
00019 #include <config/config.H>
00020 #include <mlib/points.H>
00021 
00022 namespace InSpace {
00023 
00024 class Dev2dToDev6d : public Interactor<Dev2dToDev6d>
00025 {
00026  public:
00027   
00028   Dev2dToDev6d(str_ptr dev2d, str_ptr z_button, str_ptr rotx_button,
00029            str_ptr roty_button, str_ptr rotz_button, str_ptr dev6d,
00030            int clampPosToRoom);
00031   virtual ~Dev2dToDev6d();
00032 
00033  protected:
00034 
00035   int outsideRoom(Wpt p);
00036 
00037   void motion(cEVENT2dptr &evt, STATE* &next);
00038   void z_on(cEVENTbtnptr &evt, STATE *&);
00039   void z_off(cEVENTbtnptr &evt, STATE *&);
00040   void z_motion(cEVENT2dptr &evt, STATE* &next);
00041   void rotx(cEVENTbtnptr &evt, STATE *&);
00042   void roty(cEVENTbtnptr &evt, STATE *&);
00043   void rotz(cEVENTbtnptr &evt, STATE *&);
00044 
00045   EVENT2dptr     _dev2d;
00046   EVENTbtnptr    _zbtnon;
00047   EVENTbtnptr    _zbtnoff;
00048   EVENTbtnptr    _rotx;
00049   EVENTbtnptr    _roty;
00050   EVENTbtnptr    _rotz;
00051 
00052   STATE _changeZ;
00053 
00054   DEVice_room6d *_tracker;
00055   Wtransf _trans, _rot;
00056   int _clamp;
00057   double _rotangle;
00058 
00059 };
00060 
00061 }
00062 
00063 #endif

Generated on Thu Jul 8 15:19:28 2004 for inspace by doxygen 1.3.4