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

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)