#include <flock.h>

| Public Member Functions | |
| Flock (Group *grp, GroupTarget *tgt) | |
| bool | done () | 
| void | init () | 
| void | tick (double dt) | 
| void | postProcess () | 
| virtual Command * | clone () | 
| int | closestToTarget (bool closest) | 
| int | mostMassive (bool massivest) | 
| Flock (Group *grp, GroupTarget *tgt) | |
| bool | done () | 
| void | init () | 
| void | tick (double dt) | 
| void | postProcess () | 
| int | closestToTarget (bool closest) | 
| int | mostMassive (bool massivest) | 
| Flock (Group *grp, GroupTarget *tgt) | |
| bool | done () | 
| void | init () | 
| void | tick (double dt) | 
| void | postProcess () | 
| int | closestToTarget (bool closest) | 
| int | mostMassive (bool massivest) | 
| Flock (Group *grp, GroupTarget *tgt) | |
| bool | done () | 
| void | init () | 
| void | tick (double dt) | 
| void | postProcess () | 
| int | closestToTarget (bool closest) | 
| int | mostMassive (bool massivest) | 
| Flock (Group *grp, GroupTarget *tgt) | |
| bool | done () | 
| void | init () | 
| void | tick (double dt) | 
| void | postProcess () | 
| int | closestToTarget (bool closest) | 
| int | mostMassive (bool massivest) | 
| Private Member Functions | |
| bool | valid (Group *grp) | 
| Ogre::Vector3 | cohesion (int i) | 
| Ogre::Vector3 | alignment (int i) | 
| void | computeSeparation (int leaderIndex) | 
| void | applyForces (int leaderIndex) | 
| void | bringWithinNeighborhood () | 
| bool | valid (Group *grp) | 
| Ogre::Vector3 | cohesion (int i) | 
| Ogre::Vector3 | alignment (int i) | 
| void | computeSeparation (int leaderIndex) | 
| void | applyForces (int leaderIndex) | 
| void | bringWithinNeighborhood () | 
| bool | valid (Group *grp) | 
| Ogre::Vector3 | cohesion (int i) | 
| Ogre::Vector3 | alignment (int i) | 
| void | computeSeparation (int leaderIndex) | 
| void | applyForces (int leaderIndex) | 
| void | bringWithinNeighborhood () | 
| bool | valid (Group *grp) | 
| Ogre::Vector3 | cohesion (int i) | 
| Ogre::Vector3 | alignment (int i) | 
| void | computeSeparation (int leaderIndex) | 
| void | applyForces (int leaderIndex) | 
| void | bringWithinNeighborhood () | 
| bool | valid (Group *grp) | 
| Ogre::Vector3 | cohesion (int i) | 
| Ogre::Vector3 | alignment (int i) | 
| void | computeSeparation (int leaderIndex) | 
| void | applyForces (int leaderIndex) | 
| void | bringWithinNeighborhood () | 
| Private Attributes | |
| Ogre::Vector3 | avgPos | 
| Ogre::Vector3 | avgVel | 
| Ogre::Vector3 | force | 
| float | CohesionParameter | 
| float | AlignmentParameter | 
| float | SeparationParameter | 
| float | SeparationThreshold | 
| float | maxSpeedByAngle [MaxEnts] | 
| Entity * | nonNeighbors [MaxEnts] | 
| int | nNonNeighbors | 
| Ogre::Vector3 | forces [MaxEnts] | 
| Entity ** | members | 
| int | nMembers | 
| int | nEnts | 
| DistanceMgr * | distanceMgr | 
| EntityMgr * | entityMgr | 
| Entity * | nonNeighbors [MaxEnts] | 
| Entity ** | members | 
| DistanceMgr * | distanceMgr | 
| EntityMgr * | entityMgr | 
| Entity * | nonNeighbors [MaxEnts] | 
| Entity ** | members | 
| DistanceMgr * | distanceMgr | 
| EntityMgr * | entityMgr | 
| Entity * | nonNeighbors [MaxEnts] | 
| Entity ** | members | 
| DistanceMgr * | distanceMgr | 
| EntityMgr * | entityMgr | 
| Entity * | nonNeighbors [MaxEnts] | 
| Entity ** | members | 
| DistanceMgr * | distanceMgr | 
| EntityMgr * | entityMgr | 
Definition at line 24 of file flock.h.
| FastEcslent::Flock::Flock | ( | Group * | grp, | |
| GroupTarget * | tgt | |||
| ) | 
| FastEcslent::Flock::Flock | ( | Group * | grp, | |
| GroupTarget * | tgt | |||
| ) | 
| FastEcslent::Flock::Flock | ( | Group * | grp, | |
| GroupTarget * | tgt | |||
| ) | 
| FastEcslent::Flock::Flock | ( | Group * | grp, | |
| GroupTarget * | tgt | |||
| ) | 
| FastEcslent::Flock::Flock | ( | Group * | grp, | |
| GroupTarget * | tgt | |||
| ) | 
| bool FastEcslent::Flock::valid | ( | Group * | grp | ) |  [inline, private] | 
| Ogre::Vector3 FastEcslent::Flock::cohesion | ( | int | i | ) |  [inline, private] | 
Definition at line 65 of file flock.cpp.
References avgPos, CohesionParameter, force, members, and FastEcslent::Entity::pos.
Referenced by tick().
| Ogre::Vector3 FastEcslent::Flock::alignment | ( | int | i | ) |  [inline, private] | 
Definition at line 75 of file flock.cpp.
References AlignmentParameter, avgVel, force, members, and FastEcslent::Entity::vel.
Referenced by tick().
| void FastEcslent::Flock::computeSeparation | ( | int | leaderIndex | ) |  [inline, private] | 
Definition at line 85 of file flock.cpp.
References FastEcslent::DistanceMgr::distance, distanceMgr, FastEcslent::Entity::entityId, entityMgr, FastEcslent::EntityMgr::ents, forces, FastEcslent::Identity::id, FastEcslent::Entity::mass, members, nEnts, nMembers, FastEcslent::DistanceMgr::normalizedDistanceVec, SeparationParameter, SeparationThreshold, and FastEcslent::Entity::speed.
Referenced by tick().
| void FastEcslent::Flock::applyForces | ( | int | leaderIndex | ) |  [inline, private] | 
Definition at line 115 of file flock.cpp.
References FastEcslent::Entity::desiredHeading, FastEcslent::Entity::desiredSpeed, forces, maxSpeedByAngle, members, FastEcslent::Entity::minSpeed, nMembers, and FastEcslent::Entity::vel.
Referenced by tick().
| void FastEcslent::Flock::bringWithinNeighborhood | ( | ) |  [private] | 
| bool FastEcslent::Flock::done | ( | ) |  [inline, virtual] | 
| void FastEcslent::Flock::init | ( | void | ) |  [virtual] | 
Implements FastEcslent::Command.
Definition at line 32 of file flock.cpp.
References AlignmentParameter, CohesionParameter, DEBUG, FastEcslent::Engine::distanceMgr, distanceMgr, FastEcslent::Group::engine, FastEcslent::Engine::entityMgr, entityMgr, FastEcslent::Tactic::group, FastEcslent::Group::leaderIndex, FastEcslent::Entity::maxSpeed, maxSpeedByAngle, FastEcslent::Group::members, members, FastEcslent::Entity::minSpeed, FastEcslent::Group::nEntitiesInGroup, FastEcslent::EntityMgr::nEnts, nEnts, nMembers, SeparationParameter, SeparationThreshold, and FastEcslent::Entity::uiname.
| void FastEcslent::Flock::tick | ( | double | dt | ) |  [inline, virtual] | 
Implements FastEcslent::Command.
Definition at line 127 of file flock.cpp.
References alignment(), applyForces(), avgPos, avgVel, cohesion(), computeSeparation(), forces, FastEcslent::Tactic::group, FastEcslent::Group::leaderIndex, members, nMembers, FastEcslent::Entity::pos, and FastEcslent::Entity::vel.
| void FastEcslent::Flock::postProcess | ( | ) |  [inline, virtual] | 
| virtual Command* FastEcslent::Flock::clone | ( | ) |  [inline, virtual] | 
| int FastEcslent::Flock::closestToTarget | ( | bool | closest | ) | 
| int FastEcslent::Flock::mostMassive | ( | bool | massivest | ) | 
Reimplemented from FastEcslent::Tactic.
| bool FastEcslent::Flock::valid | ( | Group * | grp | ) |  [inline, private] | 
| Ogre::Vector3 FastEcslent::Flock::cohesion | ( | int | i | ) |  [private] | 
| Ogre::Vector3 FastEcslent::Flock::alignment | ( | int | i | ) |  [private] | 
| void FastEcslent::Flock::computeSeparation | ( | int | leaderIndex | ) |  [private] | 
| void FastEcslent::Flock::applyForces | ( | int | leaderIndex | ) |  [private] | 
| void FastEcslent::Flock::bringWithinNeighborhood | ( | ) |  [private] | 
| bool FastEcslent::Flock::done | ( | ) |  [virtual] | 
Implements FastEcslent::Command.
| void FastEcslent::Flock::init | ( | ) |  [virtual] | 
Implements FastEcslent::Command.
| void FastEcslent::Flock::tick | ( | double | dt | ) |  [virtual] | 
Implements FastEcslent::Command.
| void FastEcslent::Flock::postProcess | ( | ) |  [inline, virtual] | 
| int FastEcslent::Flock::closestToTarget | ( | bool | closest | ) | 
| int FastEcslent::Flock::mostMassive | ( | bool | massivest | ) | 
Reimplemented from FastEcslent::Tactic.
| bool FastEcslent::Flock::valid | ( | Group * | grp | ) |  [inline, private] | 
| Ogre::Vector3 FastEcslent::Flock::cohesion | ( | int | i | ) |  [private] | 
| Ogre::Vector3 FastEcslent::Flock::alignment | ( | int | i | ) |  [private] | 
| void FastEcslent::Flock::computeSeparation | ( | int | leaderIndex | ) |  [private] | 
| void FastEcslent::Flock::applyForces | ( | int | leaderIndex | ) |  [private] | 
| void FastEcslent::Flock::bringWithinNeighborhood | ( | ) |  [private] | 
| bool FastEcslent::Flock::done | ( | ) |  [virtual] | 
Implements FastEcslent::Command.
| void FastEcslent::Flock::init | ( | ) |  [virtual] | 
Implements FastEcslent::Command.
| void FastEcslent::Flock::tick | ( | double | dt | ) |  [virtual] | 
Implements FastEcslent::Command.
| void FastEcslent::Flock::postProcess | ( | ) |  [inline, virtual] | 
| int FastEcslent::Flock::closestToTarget | ( | bool | closest | ) | 
| int FastEcslent::Flock::mostMassive | ( | bool | massivest | ) | 
Reimplemented from FastEcslent::Tactic.
| bool FastEcslent::Flock::valid | ( | Group * | grp | ) |  [inline, private] | 
| Ogre::Vector3 FastEcslent::Flock::cohesion | ( | int | i | ) |  [private] | 
| Ogre::Vector3 FastEcslent::Flock::alignment | ( | int | i | ) |  [private] | 
| void FastEcslent::Flock::computeSeparation | ( | int | leaderIndex | ) |  [private] | 
| void FastEcslent::Flock::applyForces | ( | int | leaderIndex | ) |  [private] | 
| void FastEcslent::Flock::bringWithinNeighborhood | ( | ) |  [private] | 
| bool FastEcslent::Flock::done | ( | ) |  [virtual] | 
Implements FastEcslent::Command.
| void FastEcslent::Flock::init | ( | ) |  [virtual] | 
Implements FastEcslent::Command.
| void FastEcslent::Flock::tick | ( | double | dt | ) |  [virtual] | 
Implements FastEcslent::Command.
| void FastEcslent::Flock::postProcess | ( | ) |  [inline, virtual] | 
| int FastEcslent::Flock::closestToTarget | ( | bool | closest | ) | 
| int FastEcslent::Flock::mostMassive | ( | bool | massivest | ) | 
Reimplemented from FastEcslent::Tactic.
| bool FastEcslent::Flock::valid | ( | Group * | grp | ) |  [inline, private] | 
| Ogre::Vector3 FastEcslent::Flock::cohesion | ( | int | i | ) |  [private] | 
| Ogre::Vector3 FastEcslent::Flock::alignment | ( | int | i | ) |  [private] | 
| void FastEcslent::Flock::computeSeparation | ( | int | leaderIndex | ) |  [private] | 
| void FastEcslent::Flock::applyForces | ( | int | leaderIndex | ) |  [private] | 
| void FastEcslent::Flock::bringWithinNeighborhood | ( | ) |  [private] | 
| bool FastEcslent::Flock::done | ( | ) |  [virtual] | 
Implements FastEcslent::Command.
| void FastEcslent::Flock::init | ( | ) |  [virtual] | 
Implements FastEcslent::Command.
| void FastEcslent::Flock::tick | ( | double | dt | ) |  [virtual] | 
Implements FastEcslent::Command.
| void FastEcslent::Flock::postProcess | ( | ) |  [inline, virtual] | 
| int FastEcslent::Flock::closestToTarget | ( | bool | closest | ) | 
| int FastEcslent::Flock::mostMassive | ( | bool | massivest | ) | 
Reimplemented from FastEcslent::Tactic.
| Ogre::Vector3 FastEcslent::Flock::avgPos  [private] | 
| Ogre::Vector3 FastEcslent::Flock::avgVel  [private] | 
| Ogre::Vector3 FastEcslent::Flock::force  [private] | 
| float FastEcslent::Flock::CohesionParameter  [private] | 
| float FastEcslent::Flock::AlignmentParameter  [private] | 
| float FastEcslent::Flock::SeparationParameter  [private] | 
| float FastEcslent::Flock::SeparationThreshold  [private] | 
| float FastEcslent::Flock::maxSpeedByAngle  [private] | 
| Entity* FastEcslent::Flock::nonNeighbors[MaxEnts]  [private] | 
| int FastEcslent::Flock::nNonNeighbors  [private] | 
| Ogre::Vector3 FastEcslent::Flock::forces  [private] | 
Definition at line 45 of file flock.h.
Referenced by applyForces(), computeSeparation(), and tick().
| Entity** FastEcslent::Flock::members  [private] | 
Definition at line 46 of file flock.h.
Referenced by alignment(), applyForces(), cohesion(), computeSeparation(), init(), and tick().
| int FastEcslent::Flock::nMembers  [private] | 
Definition at line 47 of file flock.h.
Referenced by applyForces(), computeSeparation(), init(), and tick().
| int FastEcslent::Flock::nEnts  [private] | 
| DistanceMgr* FastEcslent::Flock::distanceMgr  [private] | 
| EntityMgr* FastEcslent::Flock::entityMgr  [private] | 
| Entity* FastEcslent::Flock::nonNeighbors[MaxEnts]  [private] | 
| Entity** FastEcslent::Flock::members  [private] | 
| DistanceMgr* FastEcslent::Flock::distanceMgr  [private] | 
| EntityMgr* FastEcslent::Flock::entityMgr  [private] | 
| Entity* FastEcslent::Flock::nonNeighbors[MaxEnts]  [private] | 
| Entity** FastEcslent::Flock::members  [private] | 
| DistanceMgr* FastEcslent::Flock::distanceMgr  [private] | 
| EntityMgr* FastEcslent::Flock::entityMgr  [private] | 
| Entity* FastEcslent::Flock::nonNeighbors[MaxEnts]  [private] | 
| Entity** FastEcslent::Flock::members  [private] | 
| DistanceMgr* FastEcslent::Flock::distanceMgr  [private] | 
| EntityMgr* FastEcslent::Flock::entityMgr  [private] | 
| Entity* FastEcslent::Flock::nonNeighbors[MaxEnts]  [private] | 
| Entity** FastEcslent::Flock::members  [private] | 
| DistanceMgr* FastEcslent::Flock::distanceMgr  [private] | 
| EntityMgr* FastEcslent::Flock::entityMgr  [private] | 
 1.5.4
 1.5.4