![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00006 #pragma once 00007 00008 #include <vl/exerciseConn.h> 00009 #include <vl/globalObjDes.h> 00010 #include <vrfExtObjects/vrfExtObjectsDefines.h> 00011 00018 00019 class DT_DLL_vrfExtObjects DtVrfObjectIdGenerator 00020 { 00021 public: 00022 DtVrfObjectIdGenerator(); 00023 virtual ~DtVrfObjectIdGenerator(); 00024 00025 public: 00028 00032 virtual DtGlobalObjectDesignator nextId(DtExerciseConn*, DtEntityIdentifier&); 00033 00034 public: 00037 static DtVrfObjectIdGenerator* objectIdGenerator(); 00038 static void setObjectIdGenerator(DtVrfObjectIdGenerator*); 00039 00042 static bool isVrfGlobalId(const DtGlobalObjectDesignator& identifier); 00043 00044 #if DtDIS 00045 00046 00047 static void setVrfDISAppIdRange(int iLower, int iUpper); 00048 static DtGlobalObjectDesignator nullId() 00049 { 00050 return DtGlobalObjectDesignator::nullId(); 00051 } 00052 #else 00053 static DtGlobalObjectDesignator nullId() 00054 { 00055 return DtGlobalObjectDesignator::nullString(); 00056 } 00057 00058 #endif 00059 00060 protected: 00061 #ifdef DtHLA 00062 00063 00064 00065 00068 virtual bool encodeIdentifier(DtGlobalObjectDesignator& identifier, 00069 RTI::FederateHandle federateHandle, int entityNum) const; 00070 00072 virtual int nextNameId(); 00073 #endif 00074 00075 private: 00076 DtVrfObjectIdGenerator(const DtVrfObjectIdGenerator&); 00077 DtVrfObjectIdGenerator& operator=(const DtVrfObjectIdGenerator&); 00078 00079 protected: 00080 static DtVrfObjectIdGenerator* theDefaultObjectIdGenerator; 00081 static int theDisAppIdLower; 00082 static int theDisAppIdUpper; 00083 }; 00084