MAK RTIspy API Documentation for HLA 1.3
regionRealization.h
Go to the documentation of this file.
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_

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)