00001 #ifndef MOVETRANSFORM_H 00002 #define MOVETRANSFORM_H 00003 00004 #include "Transform.h" 00005 #include "Point.h" 00006 00007 #include "PathController.h" 00008 00009 00011 class VMoveTransform : public VTransform<VPoint> { 00012 public: 00013 VMoveTransform(); 00014 VMoveTransform(VMoveTransform* p) : VTransform<VPoint>(p) {} 00015 00017 string Identify() const; 00018 00021 00022 00024 virtual int ControllerCount() const { return 2; } 00025 00027 virtual void ImplementController( int index ) 00028 { 00029 VController<VPoint>* ctrlNew; 00030 switch (index) { 00031 case 1: 00032 ctrlNew = new VPathController(); 00033 break; 00034 default: 00035 ctrlNew = new VKeyController<VPoint>(); 00036 break; 00037 } 00038 00039 if (ctrlNew) 00040 SetController( ctrlNew ); 00041 } 00042 00044 virtual string ControllerInfo( int index ) const 00045 { 00046 switch (index) { 00047 case 0: 00048 return string("Key Controller"); 00049 case 1: 00050 return string("Follow Path"); 00051 default: 00052 return string(""); 00053 } 00054 } 00056 00057 protected: 00058 void Do(VPoint change); 00059 00060 }; 00061 00062 00063 #endif