![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: pseudoMovePSR.h,v $ $Revision: 1.11 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef DtPseudoAggregateMovementPSR_H_ 00015 #define DtPseudoAggregateMovementPSR_H_ 00016 00017 #include "vrfobjcore/processSR.h" 00018 #include "vrfutil/rwString.h" 00019 #include "vrfobjcore/promoteEntryList.h" 00020 #include <vlpi/disEnums.h> 00021 #include "vrfutil/rwInt.h" 00022 #include "vrfutil/rwReal.h" 00023 #include <vl/hostStructs.h> 00024 00056 00060 00061 #include "vrfobjcore/vrfobjcoreDefines.h" 00062 class DT_DLL_vrfobjcore DtPseudoAggregateMovementPSR : public DtVrfProcessStateRepository 00063 { 00064 public: 00065 00067 DtPseudoAggregateMovementPSR(DtVrfObject* vrfObject, 00068 const DtString& rwName = DtString::nullString(), 00069 DtReaderWriterRegistry* parentRegistry = 0); 00070 00072 virtual ~DtPseudoAggregateMovementPSR(); 00073 00075 DtPseudoAggregateMovementPSR(const DtPseudoAggregateMovementPSR& orig, 00076 const DtString& rwName = DtString::nullString(), 00077 DtReaderWriterRegistry* parentRegistry = 0); 00078 00080 DtPseudoAggregateMovementPSR& operator=(const DtPseudoAggregateMovementPSR& orig); 00081 00083 virtual DtVrfProcessStateRepository* clone( 00084 const DtString& rwName = DtString::nullString(), 00085 DtReaderWriterRegistry* parentRegistry = 0) const; 00086 00089 virtual DtString type() const; 00090 00095 virtual void setCurrentlyTaskedLeaderId(const DtEntityIdentifier& objectId); 00096 virtual const DtEntityIdentifier& currentlyTaskedLeaderId() const; 00097 00100 virtual DtVrfObject* currentlyTaskedLeader() const; 00101 00104 virtual DtPromotionEntryList* promotionList() const; 00105 00107 virtual DtAggregateFormation formation() const; 00108 virtual void setFormation(DtAggregateFormation formation); 00109 00110 virtual void setLeaderOrderedSpeed(DtReal speed); 00111 virtual DtReal leaderOrderedSpeed() const; 00112 00115 virtual void putSelf(FILE *fp, int indentLevel = 0, 00116 bool writeUnspecified = false, const DtFilename& path = DtReaderWriter::appPath()); 00117 virtual void getSelf(DtlObjPtr args, const DtFilename& searchPath, 00118 const DtVariableBindingsList& variableBindings); 00119 00120 public: 00121 00123 static DtVrfProcessStateRepository* creator (const DtString& rwName, 00124 DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry); 00125 00126 static void objectAddedCallback(DtVrfObject* object, void* usr); 00127 00128 protected: 00132 virtual void processObjectAdded(DtVrfObject* object); 00133 00134 protected: 00135 00142 DtRwString myCurrentlyTaskedLeader; 00143 00144 DtEntityIdentifier myCurrentlyTaskedLeaderId; 00145 00147 DtRwReal myLeaderOrderedSpeed; 00148 00153 DtRwInt myFormation; 00154 00159 DtPromotionEntryList myPromotionList; 00160 }; 00161 00162 #endif