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

GrabNavInt.H

Go to the documentation of this file.
00001 
00010 #ifndef GRABNAVINT_H
00011 #define GRABNAVINT_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/buttons.H>
00019 #include <config/config.H>
00020 #include <std/hash.H>
00021 
00022 #include "DrawPoint.H"
00023 
00024 namespace InSpace {
00025 
00026 class GrabNavInt : public Interactor<GrabNavInt>
00027 {
00028  public:
00029 
00030   GrabNavInt();
00031   virtual ~GrabNavInt() {}
00032   
00033  protected:
00034 
00035   
00036   void start_grab(cEVENTbtnptr &evt, STATE *&);
00037   void motion(cEVENTroom6dptr &evt, STATE *&);
00038   void end_grab(cEVENTbtnptr &evt, STATE *&);
00039 
00040   void start_scale(cEVENTbtnptr &evt, STATE *&);
00041   void scale_rhand(cEVENTroom6dptr &evt, STATE *&);
00042   void scale_lhand(cEVENTroom6dptr &evt, STATE *&);
00043   void end_scale(cEVENTbtnptr &evt, STATE *&);
00044   void scale_stuff();
00045 
00046   
00047   STATE            _moving;
00048   STATE            _scaling;
00049   
00050   EVENTroom6dptr   _tracker;
00051   EVENTroom6dptr   _stracker;
00052   
00053   EVENTbtnptr      _grabbtnon;
00054   EVENTbtnptr      _grabbtnoff;
00055   EVENTbtnptr      _scalebtnon;
00056   EVENTbtnptr      _scalebtnoff;
00057 
00058   DrawPoint *_rotPointMarker;
00059  
00060   bool _lhandValid;
00061   bool _rhandValid;
00062   Wtransf _lhand;
00063   Wtransf _rhand;
00064   double _initialHandDist;
00065   Wtransf _initialXform;
00066 
00067   ARRAY<Wtransf> _objInitialXforms;
00068 
00069 };
00070 
00071 }
00072 #endif

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