![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: formation.h,v $ $Revision: 1.7 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef DtFormation_H_ 00015 #define DtFormation_H_ 00016 00017 #include "vrfutil/rwList.h" 00018 #include <list> 00019 #include <matrix/vlVector.h> 00020 00021 class DtFormationEntry; 00022 00025 #include "vrfutil/vrfutilDefines.h" 00026 class DT_DLL_vrfutil DtFormation : public DtRwList 00027 { 00028 public: 00029 00031 DtFormation(); 00032 00034 DtFormation(const DtString& name, DtReaderWriterRegistry* const 00035 parentRegistry = 0); 00036 00038 DtFormation(const DtFormation& orig); 00039 00041 DtFormation& operator=(const DtFormation& orig); 00042 00044 virtual ~DtFormation(); 00045 00058 virtual void addPosition(int promotionId, int leaderPromotionId, 00059 const DtVector& positionOffset); 00060 00062 virtual void removeAndDeleteAll(); 00063 00065 virtual const DtFormationEntry* getFormationEntryForPromotionId(int) const; 00066 virtual DtFormationEntry* getFormationEntryForPromotionId(int); 00067 00073 virtual std::list<DtVector> formationPositions(int numEntitiesInFormation) const; 00074 00075 bool operator==(const DtFormation&) const; 00076 bool operator!=(const DtFormation&) const; 00077 00079 virtual void addEntry(DtFormationEntry * entry); 00080 00084 virtual DtFormationEntry* createAndAddFormationEntry(); 00085 00086 protected: 00087 00089 virtual DtVector newFormationEntryOffset() const; 00090 00092 virtual void removeEntry(DtFormationEntry * entry); 00093 00094 virtual void copyList(const DtFormation& orig); 00095 00098 virtual void emptyList(); 00099 00102 virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath, 00103 const DtVariableBindingsList& variableBindings); 00104 }; 00105 00106 #endif