MAK RTIspy API Documentation for HLA Evolved
regionSet.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2001 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: regionSet.h,v $ $Revision: 1.23 $ $State: Exp $
00007 *********************************************************************/
00008 #ifndef regionSet_H_
00009 #define regionSet_H_
00010 #ifdef DDM
00011 
00014 
00015 #include <vlutil/vlHashlist.h>
00016 #include "regionRealization.h"
00017 #include "regionList.h"
00018 #include "regionSetList.h"
00019 #include <vlutil/vlUtil.h>
00020 #include <vlutil/vlInetAddr.h>
00021 
00022 class DtObjectClassInfo;
00023 class DtObjRegSetMsg;
00024 class DtInterRegSetMsg;
00025 
00032 class DT_DLL_LRC DtRegionSet
00033 {
00034 public:
00035 
00037    DtRegionSet();
00038 
00040    DtRegionSet(DtRegionHandle setHandleValue, DtRegionRealization* region);
00041 
00043    virtual ~DtRegionSet();
00044 
00045 private:
00046 
00048    DtRegionSet(DtRegionSet const & rhs);
00049 
00051    DtRegionSet &operator=(DtRegionSet const & rhs);
00052 
00053 public:
00054 
00056    virtual void setRegionSetHandle(DtRegionHandle setHandleValue); 
00057    virtual DtRegionHandle regionSetHandle() const;
00058 
00060    virtual void setFederateHandle(DtFederateHandle handleValue); 
00061    virtual DtFederateHandle federateHandle() const;
00062 
00064    virtual void setAddress(const MAKRti::DtInetAddr& addrValue); 
00065    virtual MAKRti::DtInetAddr address() const;
00066 
00068    virtual void addRegions(const DtRegionEntryList& regionList);
00069 
00071    virtual void addRegionHdl(DtRegionHandle regionHandle);
00072 
00074 
00075    virtual void addRegion(DtRegionRealization* region);
00076    virtual void removeRegion(DtRegionHandle regionHandle);
00078 
00080    virtual void emptyRegions();
00081 
00083    virtual void fillInRegions(DtObjRegSetMsg* msg) const;
00084    virtual void fillInRegions(DtInterRegSetMsg* msg) const;
00085 
00087    virtual DtRegionRealization* region(DtRegionHandle regionHandle);
00088 
00091    virtual const DtDistributedRegion* boundingRegion() const;
00092 
00094    virtual bool inUse()=0;
00095 
00097    virtual bool isEmptyRegions() const;
00098 
00100    virtual bool isMemberRegion(DtRegionHandle regionHandle) const;
00101 
00103    virtual bool isMemberRegion(const DtRegionSet& regionSet) const;
00104 
00107    virtual bool isMemberRegion(const DtRegionSet& regionSet,
00108       DtRegionHandle regionHandle) const;
00109 
00111    virtual bool isMemberRegions(DtRegionEntryList const & regionList) const;
00112 
00114    virtual int commonRegions(const DtRegionSet& regionSet) const;
00115 
00117    virtual int commonRegions(DtRegionEntryList const & regionList) const;
00118 
00120    virtual const DtRegionEntryList& regionList() const;
00121 
00123    virtual bool intersect(const DtRegionRealization& region) const;
00124    
00126    virtual bool intersect(const DtRegionSet& regionSet) const;
00127 
00130    virtual bool hasDimensions() const;
00131 
00133    virtual DtDimensionHandleSet const & dimensionHandles() const;
00134 
00136    virtual unsigned int regionCount() const;
00137 
00138 protected:
00139 
00141    DtRegionSet* self() const;
00142 
00143 protected:
00144 
00146    DtRegionHandle myHandle;
00147 
00149    DtFederateHandle myFederateHandle;
00150 
00152    DtRegionEntryList myRegions;
00153 
00155    MAKRti::DtInetAddr myAddress;
00156 
00158    DtDimensionHandleSet myDimensions;
00159 
00161    DtDistributedRegion* myBoundingRegion;
00162 };
00163 
00164 inline DtRegionSet* DtRegionSet::self() const
00165 {
00166    return const_cast<DtRegionSet*>( this );
00167 }
00168 
00169 inline DtRegionHandle DtRegionSet::regionSetHandle() const
00170 {
00171    return myHandle;
00172 }
00173 
00174 inline DtFederateHandle DtRegionSet::federateHandle() const
00175 {
00176    return myFederateHandle;
00177 }
00178 
00179 inline MAKRti::DtInetAddr DtRegionSet::address() const
00180 {
00181    return myAddress;
00182 }
00183 
00184 inline const DtRegionEntryList& DtRegionSet::regionList() const
00185 {
00186    return myRegions;
00187 }
00188 
00189 #endif
00190 #endif

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)