![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2004 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: regionRealization.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifndef regionRealization_H_ 00009 #define regionRealization_H_ 00010 #ifdef DDM 00011 00014 00015 #include "rtiMsConfig.h" 00016 #include "distributedRegion.h" 00017 00018 class DtSpaceInfo; 00019 class DtObjectRegionSet; 00020 00032 class DT_DLL_LRC DtRegionRealization 00033 { 00034 public: 00035 00037 DtRegionRealization(); 00038 00040 DtRegionRealization(DtRegionHandle handleValue, 00041 DtDistributedRegion* regionSpecification, 00042 DtDimensionHandleSet const* defaultDimensionSet=NULL); 00043 00045 virtual ~DtRegionRealization(); 00046 00047 private: 00048 00050 DtRegionRealization(DtRegionRealization const& ); 00051 00053 DtRegionRealization& operator= (DtRegionRealization const& ); 00054 00055 public: 00056 00058 virtual DtRegionHandle handle() const; 00059 virtual void setHandle(DtRegionHandle handleValue); 00060 00062 virtual DtDistributedRegion* region(); 00063 virtual void setRegion(DtDistributedRegion* regionPtr); 00064 00066 virtual DtRegionHandle regionHandle() const; 00067 00069 virtual const DtSpaceInfo* space() const; 00070 00072 virtual DtSpaceHandle getSpaceHandle() const; 00073 00075 virtual DtDimensionHandleSet const & dimensionHandles( 00076 bool includeDefaultDimensions=true) const; 00077 00079 virtual DtDimensionHandleSet const & defaultDimensionHandles() const; 00080 00082 virtual bool hasDimension(DtDimensionHandle dimHandle, 00083 bool considerDefaults=true) const; 00084 00086 virtual bool inUse() const; 00087 00089 virtual DtDimBounds getDimensionExtent(DtExtentIndex extentIndex, 00090 DtDimensionHandle dim) const; 00091 00093 virtual bool intersect(const DtRegionRealization& region) const; 00094 00096 virtual void addObjPubRegSet(DtObjectRegionSet* regSet); 00097 virtual void removeObjPubRegSet(DtObjectRegionSet* regSet); 00098 00100 virtual void addObjSubRegSet(DtObjectRegionSet* regSet); 00101 virtual void removeObjSubRegSet(DtObjectRegionSet* regSet); 00102 00104 virtual void addObjPasRegSet(DtObjectRegionSet* regSet); 00105 virtual void removeObjPasRegSet(DtObjectRegionSet* regSet); 00106 00108 virtual const DtRegionSetList& objPubRegSetList(); 00109 00111 virtual const DtRegionSetList& objSubRegSetList(); 00112 00114 virtual const DtRegionSetList& objPasRegSetList(); 00115 00117 00118 00119 00121 virtual void addInterPubRegSet(DtInteractionRegionSet* regSet); 00122 virtual void removeInterPubRegSet(DtInteractionRegionSet* regSet); 00123 00125 virtual void addInterSubRegSet(DtInteractionRegionSet* regSet); 00126 virtual void removeInterSubRegSet(DtInteractionRegionSet* regSet); 00127 00129 virtual void addInterPasRegSet(DtInteractionRegionSet* regSet); 00130 virtual void removeInterPasRegSet(DtInteractionRegionSet* regSet); 00132 00135 virtual DtRegionSetList* interPubRegSetList( 00136 DtInteractionClassHandle classHandle); 00137 00140 virtual DtInteractionRegionSet* interSubRegSet( 00141 DtInteractionClassHandle classHandle); 00142 00145 virtual DtInteractionRegionSet* interPasRegSet( 00146 DtInteractionClassHandle classHandle); 00147 00150 virtual bool isMemberObjPub(DtObjectInstanceHandle objectHandle); 00151 00153 virtual void removeAllRegSets(); 00154 00156 virtual bool save( DtRtiSaveFile& file, DtFederateHandle handle = 0); 00157 virtual bool restore( DtRtiSaveFile& file, DtFederateHandle& fedHandle); 00158 00159 protected: 00160 00162 DtRegionHandle myHandle; 00163 00165 DtRegionHandle myRegionHandle; 00166 00168 DtDistributedRegion* myRegion; 00169 00171 DtDimensionHandleSet myDimensions; 00172 00174 DtDimensionHandleSet myDefaultDimensions; 00175 00177 DtRegionExtent* myDefaultExtent; 00178 00180 DtRegionSetList myObjPubRegSets; 00181 00183 DtRegionSetList myObjSubRegSets; 00184 00186 DtRegionSetList myObjPasRegSets; 00187 00189 DtRegionSetListByClass myInterPubRegSets; 00190 MAKRti::DtHashlist myInterSubRegSets; 00191 MAKRti::DtHashlist myInterPasRegSets; 00192 }; 00193 00194 #endif //! DDM 00195 #endif //! regionRealization_H_