![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2006 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: fixedGridInterDdmMgr.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifndef fixedGridInterDataDistMgr_H_ 00009 #define fixedGridInterDataDistMgr_H_ 00010 #ifdef DDM 00011 00014 00015 #include "rtiMsConfig.h" 00016 #include "interMgr.h" 00017 00018 class DtInteractionClassInfo; 00019 class DtFomClassMgr; 00020 class DtFixedGridRegion; 00021 class DtFixedGridDataDistMgr; 00022 00025 00026 class DT_DLL_LRC DtFixedGridInterDataDistMgr : public DtInteractionMgr 00027 { 00028 protected: 00029 00031 DtFixedGridInterDataDistMgr(DtFederateMgr* fedMgrPtr); 00032 00033 public: 00034 00036 virtual ~DtFixedGridInterDataDistMgr(); 00037 00038 private: 00039 00041 DtFixedGridInterDataDistMgr(DtFixedGridInterDataDistMgr const& ); 00042 00044 DtFixedGridInterDataDistMgr& operator= (DtFixedGridInterDataDistMgr const& ); 00045 00046 public: 00047 00049 virtual DtFixedGridDataDistMgr* ddmMgr(); 00050 00052 virtual DtFixedGridDataDistMgr* ddmMgr() const; 00053 00055 virtual void subscribe( 00056 DtInteractionClassHandle theClass, 00057 bool active); 00058 00059 #ifdef DtIFSPEC1516 00060 00061 virtual void sendInteractionMsg( 00062 DtInteractionClassHandle theClass, 00063 const DtPhvps& theParams, 00064 MAKRti::DtTransportType transportType, 00065 MAKRti::DtOrderType orderType, 00066 rti1516::LogicalTime const * theTime, 00067 rti1516::VariableLengthData const & theTag, 00068 unsigned long serialNumber, 00069 DtHandle channel, 00070 bool anonymous=false); 00071 #elif defined(DtIFSPEC1516E) 00072 00073 virtual void sendInteractionMsg( 00074 DtInteractionClassHandle theClass, 00075 const DtPhvps& theParams, 00076 MAKRti::DtTransportType transportType, 00077 MAKRti::DtOrderType orderType, 00078 rti1516e::LogicalTime const * theTime, 00079 rti1516e::VariableLengthData const & theTag, 00080 unsigned long serialNumber, 00081 DtHandle channel, 00082 bool anonymous=false); 00083 #else 00084 00085 virtual void sendInteractionMsg( 00086 DtInteractionClassHandle theClass, 00087 const DtPhvps& theParams, 00088 MAKRti::DtTransportType transportType, 00089 MAKRti::DtOrderType orderType, 00090 RTI::FedTime const * theTime, 00091 const char* theTag, 00092 unsigned long serialNumber, 00093 DtHandle channel, 00094 bool anonymous=false); 00095 #endif 00096 00098 virtual void deleteRegion(DtRegion& region); 00099 00103 virtual void checkForRegionalSubscribe(DtInteractionClassInfo& info); 00104 00108 virtual void checkForRegionalPublish(DtInteractionClassInfo& info); 00109 00112 virtual void sendSubscribeMsg(DtInteractionClassHandle theInter, bool isPassive); 00113 00116 virtual void sendPublishMsg(DtInteractionClassHandle theInter); 00117 00120 virtual void sendUnsubscribeMsg(DtInteractionClassHandle theInter); 00121 00124 virtual void sendUnpublishMsg(DtInteractionClassHandle theInter); 00125 00126 protected: 00127 00129 typedef std::set<DtFixedGridRegion*> DtFixedGridRegionSet; 00130 00132 typedef std::map<DtInteractionClassHandle, DtFixedGridRegionSet> 00133 DtFixedGridInteractionClassRegionMap; 00134 00135 protected: 00136 00138 DtFixedGridRegion* mySendRegion; 00139 00141 DtFixedGridInteractionClassRegionMap myInteractionClassRegionMap; 00142 00143 }; 00144 00145 #endif 00146 #endif 00147 00148 00149