12 #ifndef DtFormationState_H_
13 #define DtFormationState_H_
16 #include <vlutil/vlString.h>
54 virtual void setFormation(
const DtFormation& formation);
55 virtual void setFormation(
const std::vector<DtFormationRecord*>& formation);
62 virtual void removeFormationRecord(
int positionIndex);
66 virtual void setEntityList(
const std::vector<DtString>& entityList);
68 virtual void setEntityListAndFormation(
const std::vector<DtString>& entityList,
69 const DtFormation& formation,
const std::list<int>& formationPositions);
74 const DtFormation& formation,
const std::list<int>& formationPositions);
77 virtual const std::vector<DtString>& entityList()
const;
80 virtual void clearEntityList();
87 virtual int lookupPromotionIndexByName(
const DtString& objectName)
const;
96 virtual DtString formationLeader()
const;
99 virtual double formationHalfLength()
const;
102 virtual void print();
105 virtual void addFormationStateChangedCallback(
109 virtual void removeFormationStateChangedCallback(
114 virtual void enableFormationCallbacks();
115 virtual void disableFormationCallbacks();
119 virtual bool isAvailableForFormation(
const DtVrfObject*)
const;
129 virtual void rebuildEntityToPositionMap();
133 virtual DtFormationRecord* generateAdditionalFormationRecord(
int positionIndex)
const;
137 void emptyPositionIndexToFormationRecordMap();
141 virtual DtVector positionOffsetForPositionIndex(
int positionIndex);
143 virtual void invokeFormationStateChangedCallbacks()
const;