![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 00002 /********************************************************************* 00003 ** Copyright (c) 2006 MAK Technologies, Inc. 00004 ** All rights reserved. 00005 *********************************************************************/ 00006 /********************************************************************* 00007 ** $RCSfile: fixedGridRegion.h,v $ $Revision: 1.5 $ $State: Exp $ 00008 *********************************************************************/ 00009 #ifndef fixedGridRegion_H_ 00010 #define fixedGridRegion_H_ 00011 #ifdef DDM 00012 00015 00016 #include "rtiMsConfig.h" 00017 #include <vector> 00018 #include <vlutil/vlUtil.h> 00019 #include <vlutil/vlInetAddr.h> 00020 #include "region.h" 00021 #include "fixedGridRangeBounds.h" 00022 00023 class DtSpaceInfo; 00024 class DtFixedGrid; 00025 00027 00028 class DT_DLL_LRC DtFixedGridRegion : public DtRegion 00029 { 00030 public: 00031 00033 DtFixedGridRegion(DtRegionHandle handleValue, DtSpaceInfo* spaceInfo, 00034 DtFixedGrid const& fixedGrid, int numberExtents=1); 00035 00037 DtFixedGridRegion(DtFixedGridRegion const& region); 00038 00039 virtual ~DtFixedGridRegion(); 00040 00042 DtFixedGridRegion& operator= (DtFixedGridRegion const& region); 00043 00045 virtual DtRegionHandle handle() const; 00046 00048 virtual unsigned long getRangeLowerBound( 00049 DtExtentIndex extentIndex, 00050 DtDimensionHandle dimensionHandle) const; 00051 00053 virtual void setRangeLowerBound( 00054 DtExtentIndex extentIndex, 00055 DtDimensionHandle dimensionHandle, 00056 unsigned long lowerBound); 00057 00059 virtual unsigned long getRangeUpperBound( 00060 DtExtentIndex extentIndex, 00061 DtDimensionHandle dimensionHandle) const; 00062 00064 virtual void setRangeUpperBound( 00065 DtExtentIndex extentIndex, 00066 DtDimensionHandle dimensionHandle, 00067 unsigned long lowerBound); 00068 00070 virtual DtSpaceHandle getSpaceHandle() const; 00071 00073 virtual unsigned long getNumberOfExtents() const; 00074 00076 virtual unsigned long addExtent(); 00077 00079 virtual bool inUse() const; 00080 00082 virtual bool wasCommited() const; 00083 00085 virtual void commitModifications(); 00086 00088 virtual DtDimensionHandleSet const& dimensionHandles() const; 00089 00091 virtual int numberDimensions() const; 00092 00094 virtual void setSendAddress(MAKRti::DtInetAddr sendAddressValue); 00095 virtual MAKRti::DtInetAddr sendAddress() const; 00096 00099 virtual void subscribeObjectClass(DtObjectClassHandle handle); 00100 00103 virtual void unsubscribeObjectClass(DtObjectClassHandle handle); 00104 00106 virtual bool isSubscribedObjectClass(DtObjectClassHandle handle) const; 00107 00109 virtual bool isSubscribedObjectClass() const; 00110 00113 virtual void subscribeInteractionClass(DtInteractionClassHandle handle); 00114 00117 virtual void unsubscribeInteractionClass(DtInteractionClassHandle handle); 00118 00120 virtual bool isSubscribedInteractionClass(DtInteractionClassHandle handle) const; 00121 00123 virtual bool isSubscribedInteractionClass() const; 00124 00127 virtual void associateWithObject(DtObjectInstanceHandle handle); 00128 00131 virtual void unassociateFromObject(DtObjectInstanceHandle handle); 00132 00134 virtual bool isAssociatedWithObject(DtObjectInstanceHandle handle) const; 00135 00137 virtual bool isAssociatedWithObject() const; 00138 00139 protected: 00140 00141 typedef std::vector <DtFixedGridRangeBounds> DtFixedGridExtent; 00142 typedef std::vector<DtFixedGridExtent> DtFixedGridExtentVector; 00143 00145 DtRegionHandle myHandle; 00146 00148 DtFixedGridExtentVector myExtents; 00149 00151 DtFixedGridExtentVector myWorkingExtents; 00152 00154 DtSpaceInfo* mySpace; 00155 00157 DtFixedGrid const& myFixedGrid; 00158 00160 bool myCommitted; 00161 00163 DtObjectClassHandleSet mySubscribedObjectClasses; 00164 00166 DtInteractionClassHandleSet mySubscribedInteractionClasses; 00167 00169 DtObjectInstanceHandleSet myAssociatedObjects; 00170 00172 MAKRti::DtInetAddr mySendAddress; 00173 }; 00174 00175 #endif //! DDM 00176 #endif //! DtFixedGridRegion_H_