flockanimatordefault.h

00001 #ifndef FLOCKANIMATORDEFAULT_H
00002 #define FLOCKANIMATORDEFAULT_H
00003 
00004 #include "irrlicht.h"
00005 
00006 class Boid;
00007 class Flock;
00008 
00010 
00015 class FlockAnimatorDefault : public irr::scene::ISceneNodeAnimator
00016 {
00017     public:
00018 
00022         FlockAnimatorDefault(irr::IrrlichtDevice* d);
00023 
00025         ~FlockAnimatorDefault();
00026 
00036         void animateNode(irr::scene::ISceneNode* node, irr::u32 timeMs);
00037 
00042                 void testSpeedUp(irr::scene::ISceneNode* node);
00043 
00044     protected:
00045 
00046     private:
00047 
00049         irr::core::vector3df steerForSeparation(Boid* boid, Flock* flock, irr::f32 maxDistance, irr::f32 cosMaxAngle);
00050 
00052         irr::core::vector3df steerForAlignment(Boid* boid, Flock* flock, irr::f32 maxDistance, irr::f32 cosMaxAngle);
00053 
00055         irr::core::vector3df steerForCohesion(Boid* boid, Flock* flock, irr::f32 maxDistance, irr::f32 cosMaxAngle);
00056 
00058         irr::core::vector3df FlockAnimatorDefault::steerForSeek(Boid* boid, Flock* flock);
00059 
00060         irr::IrrlichtDevice*    device;
00061 };
00062 
00063 #endif // FLOCKANIMATORDEFAULT_H

Generated on Sun Dec 2 17:09:57 2007 for Swarm by  doxygen 1.4.6-NO