VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/aggregateMoveAlongPSR.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2004 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: aggregateMoveAlongPSR.h,v $ $Revision: 1.11 $ $State: Exp $
00007 *******************************************************************************/
00008 
00012 
00014 
00015 #ifndef DtAggregateMoveAlongPSR_H_
00016 #define DtAggregateMoveAlongPSR_H_
00017 
00018 #include "vrfobjcore/vrfobjcoreDefines.h"
00019 #include "vrfobjcore/processSR.h"
00020 #include "vrfutil/rwString.h"
00021 #include "vrfutil/rwReal.h"
00022 #include "vrfobjcore/promotionIdObjectNameInfo.h"
00023 #include "vrfutil/rwStringList.h"
00024 #include "vrfutil/rwBoolean.h"
00025 
00026 #include <set>
00027 
00035 class DT_DLL_vrfobjcore DtAggregateMoveAlongPSR : public DtVrfProcessStateRepository
00036 {
00037    typedef std::map<DtString, int> DtObjectNamePromotionIdMap;
00038    typedef std::map<int, DtString> DtPromotionIdObjectNameMap;
00039 
00040 public:
00041 
00043    DtAggregateMoveAlongPSR(DtVrfObject* vrfObject, 
00044       const DtString& rwName = DtString::nullString(), 
00045       DtReaderWriterRegistry*  parentRegistry = 0);
00046 
00048    DtAggregateMoveAlongPSR(const DtAggregateMoveAlongPSR& orig,
00049       const DtString& rwName = DtString::nullString(), 
00050       DtReaderWriterRegistry*  parentRegistry = 0);
00051 
00053    virtual ~DtAggregateMoveAlongPSR();
00054 
00056    DtAggregateMoveAlongPSR& operator=(const DtAggregateMoveAlongPSR& orig);
00057 
00059    virtual DtVrfProcessStateRepository* clone(
00060       const DtString& rwName = DtString::nullString(), 
00061       DtReaderWriterRegistry*  parentRegistry = 0) const;
00062 
00066    virtual DtString type() const;
00067 
00070    virtual void setRouteName(const DtString& routeName);
00071    virtual const DtString& routeName() const;
00073 
00078    virtual void setTimeToNextMaintainFormationTick(DtTime simTime);
00079    virtual DtTime timeToNextMaintainFormationTick() const;
00081 
00083    virtual DtString lookupRouteName(int promotionId) const;
00084 
00086    virtual DtString lookupRouteName(const DtString& objectName) const;
00087 
00089    virtual void clearPromotionIdRouteNameList();
00090 
00092    virtual void addPromotionIdRouteNameEntry(int promotionId, 
00093       const DtString& routeName);
00094 
00096    virtual const DtPromotionIdObjectNameMap& promotionIdRouteNameList() const;
00097 
00099    virtual void addTaskedSubordinateNamePromotionIdEntry(
00100       const DtString& objectName, int promotionId);
00101 
00103    virtual void removeTaskedSubordinateName(const DtString& objectName);
00104 
00107    virtual bool isATaskedSubordinate(const DtString& objectName);
00108 
00110    virtual void removeRoute(const DtString& routeName);
00111 
00113    virtual void clearTaskSubordinateNames();
00114 
00116    virtual bool taskedSubordinateNamesEmpty() const;
00117 
00120    virtual void setMovingToRoute(bool trueOrFalse);
00121    virtual bool movingToRoute() const;
00123 
00125    virtual const DtObjectNamePromotionIdMap& taskedSubordinateNames() const;
00126 
00129    virtual void setRouteIsDiscovered(bool value);
00130    virtual bool routeIsDiscovered() const;
00132 
00135    virtual void putSelf(FILE *fp, int indentLevel = 0, 
00136       bool writeUnspecified = false, 
00137       const DtFilename& path = DtReaderWriter::appPath());
00138 
00141    virtual void getSelf(DtlObjPtr args, const DtFilename& searchPath,
00142       const DtVariableBindingsList& variableBindings);  
00143 
00145    static DtVrfProcessStateRepository* creator (const DtString& rwName,
00146       DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
00147 
00148 protected:
00149 
00151    DtPromotionIdObjectNameMap myPromotionIndexRouteNameMap;
00152 
00154    DtObjectNamePromotionIdMap myCurrentlyTaskedSubordinateNames;
00155 
00157    DtRwString myRouteName;
00158 
00163    DtPromotionIdObjectNameList myPromotionIdRouteNameList;
00164 
00169    DtPromotionIdObjectNameList myPromotionIdEntityNameList;
00170 
00172    DtRwReal myTimeToNextMaintainFormationTick;
00173 
00176    DtRwBoolean myMovingToRoute;
00177 
00179    DtRwBoolean myRouteIsDiscovered;
00180 };
00181 
00182 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)