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