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