47 #ifndef __FREE_FORMATION_H__
48 #define __FREE_FORMATION_H__
55 #include "mengeCommon.h"
58 using namespace Menge;
108 virtual const std::string &
getLabel()
const {
return LABEL; }
122 static Resource * load(
const std::string & fileName );
138 void addAgent(
const Agents::BaseAgent * agt );
145 void removeAgent(
const Agents::BaseAgent *agt);
153 void mapAgentsToFormation(
const BFSM::FSM * fsm);
166 bool getGoalForAgent(
const Agents::BaseAgent * agt, Agents::PrefVelocity &pVel, Vector2 &target);
176 void mapAgentToPoint(
const Agents::BaseAgent *agt);
193 void addFormationPoint(Vector2 pt,
bool borderPoint,
float weight );
200 void addAgentPoint(
const Agents::BaseAgent *agt);
209 void normalizeFormation();
297 std::map< size_t, const Agents::BaseAgent * >
_agents;