dustywaypointscaleinterpolatedtask.h

Go to the documentation of this file.
00001 #ifndef __DUSTY_WAYPOINT_SCALE_INTERPOLATED_TASK_H__
00002 #define __DUSTY_WAYPOINT_SCALE_INTERPOLATED_TASK_H__
00003 
00004 #include "dustyengine.h"
00005 
00006 namespace DustyEngine
00007 {
00008         struct WaypointPoint;
00009     struct WaypointListItem;
00010     class ScaleInterpolatedTask;
00011 
00016     class DUSTYENGINE_API WaypointScaleInterpolatedTask : public ScaleInterpolatedTask
00017     {
00018     public:
00020         WaypointScaleInterpolatedTask();
00021         virtual ~WaypointScaleInterpolatedTask();
00022 
00024 
00029 
00030 
00031         void AddWaypoint(irr::core::vector3df point, irr::u32 time = 0);
00032 
00033                 // override SetInterpolationTime to avoid errors when someone
00034                 // attempts to manually set interpolation time.
00035                 void SetInterpolationTime(irr::u32 time);
00036 
00037                 // also override vector-setting functions
00038                 void SetStartVector(irr::core::vector3df sv);
00039                 void SetEndVector(irr::core::vector3df ev);
00040 
00042         void ClearWaypoints();
00043 
00044                 void OnUpdate();
00045 
00048                 irr::u32 NumWaypoints()
00049                 {
00050                         return waypoints.size();
00051                 }
00052 
00053     protected:
00054                 void UpdateVectorsAndTime();
00055         void UpdateWaypointList();
00056         void AddWaypointToList(irr::core::vector3df start, irr::core::vector3df end, irr::u32 startTime, irr::u32 endTime);
00057 
00058         irr::core::array<WaypointPoint> waypoints;
00059         irr::core::array<WaypointListItem> waypointList;
00060     };
00061 }
00062 
00063 #endif
00064 

Generated on Fri Jan 27 17:31:51 2006 for Dusty Engine by  doxygen 1.4.6-NO