mod_base_craft_eye.hh

Go to the documentation of this file.
00001 /*
00008  * LEGAL:   COPYRIGHT (C) 2007 JIM E. BROOKS
00009  *          THIS SOURCE CODE IS RELEASED UNDER THE TERMS
00010  *          OF THE GNU GENERAL PUBLIC LICENSE VERSION 2 (GPL 2).
00011  *****************************************************************************/
00012 
00013 #if COMPILING_MODULE
00014 #ifndef MOD_BASE_CRAFT_EYE_HH
00015 #define MOD_BASE_CRAFT_EYE_HH 1
00016 
00017 #include "mod_base_craft.hh"
00018 
00019 namespace mod_base {
00020 
00029 class EyeCraft : public Craft
00030 {
00031 
00032 typedef Craft Parent;
00033 
00034 // Object interface:
00035 public:                             EyeCraft( void );
00036 public:     virtual                 ~EyeCraft();
00037 public:     virtual const string    GetName( void ) { return string("EyeCraft"); }
00038 public:     virtual void            Draw( void ) { }
00039 public:     virtual void            SetPosition( const WorldVertex& position );
00040 public:     virtual WorldVertex     GetPosition( void );
00041 public:     virtual SharedPtr<const Matrix> GetMatrix( void );
00042 public:     virtual void                SetMatrix( const Matrix& matrix );
00043 
00044 // Dyna interface:
00045 public:     virtual void            Translate( uint axis, fp inc );
00046 public:     virtual void            Translate( const Vector3& v );
00047 public:     virtual void            Rotate( uint axis, Radian rad );
00048 
00049 // Craft interface:
00050 public:     virtual bool            IfEyeCraft( void ) { return true; }
00051 protected:  virtual void            Animate( void );
00052 protected:  virtual void            AnimateStall(  void );
00053 
00054 // Control [Craft]:
00055 
00056 // Chase-plane [EyeCraft redefines as NOPs):
00057 public:     virtual void            EnableChasePlane( const bool enable = true ) { }
00058 public:     virtual void            SyncChasePlane( void ) { }
00059 public:     virtual void            RotateChasePlane( uint axis, Radian rad ) { }
00060 public:     virtual void            TranslateChasePlane( uint axis, fp inc ) { }
00061 public:     virtual void            ResetChasePlane( void ) { }
00062 
00063 // EyeCraft interface:
00064 public:     void                    EnableChasePlaneMode( const bool enable );
00065 
00066 // Data:
00067 private:
00068     bool        mChasePlaneMode;    
00069 };
00070 
00071 } // namespace mod_base
00072 
00073 #endif // MOD_BASE_CRAFT_EYE_HH
00074 #endif // COMPILING_MODULE
Palomino 3D Engine documents generated by doxygen 1.5.3 on Fri Nov 23 11:26:12 2007